Snapshot
Práticas de segurança
Autenticação
SSO SAML 2.0 (Azure AD, Okta, Google Workspace) com MFA delegado ao IdP. Local auth com bcrypt + rate limit + session revocation individual. Contas por variável de ambiente (APP_LOGIN_*) são bloqueadas em produção por padrão e só autenticam com flag explícita ALLOW_ENV_LOGIN_IN_PRODUCTION.
Autorização
RBAC com roles canônicas e permission atoms declarativos. Row-Level Security (RLS) no Postgres com FORCE, validada por teste automatizado em CI (tenant-isolation) que reproduz o contrato de produção usando role non-superuser.
Criptografia em trânsito
TLS 1.2+ exigido no edge do provedor de hospedagem. HSTS em produção.
Criptografia em repouso
SSE-S3 (AES-256) em todos os objetos de evidência. Postgres com encryption at rest gerenciado pelo provedor. CMK por tenant em avaliação para Enterprise (não implementado).
Audit trail imutável
Ações de estado são registradas em hash-chain no Postgres. Triggers bloqueiam UPDATE/DELETE. Verificação disponível via endpoint autenticado /api/admin/audit/verify.
Gestão de vulnerabilidades
SCA (Trivy) bloqueante em CRITICAL no CI. SBOM CycloneDX + SPDX anexado a cada run. Cron semanal de varredura pós-merge para capturar CVEs publicadas depois do commit.
Antimalware de evidências
Pipeline integra ClamAV (TCP INSTREAM) após upload: arquivos ficam com scan_status=pending até o veredicto. Infected bloqueia download permanente; scan_error bloqueia por padrão com retry; clean libera. Bypass explícito exige postura de configuração (CLAMAV_REQUIRED=false) e é auditado como tal.
Proteção de endpoints públicos
Endpoints anônimos (contato, signup) usam rate limit distribuído via Redis (IP + e-mail, janela fixa) e Cloudflare Turnstile como CAPTCHA server-verified (o Turnstile é o único serviço Cloudflare utilizado — não há WAF/CDN Cloudflare na frente do app; DNS é operado em provedor próprio). Rejeições geram métricas Prometheus e evento em audit log. Helmet aplica cabeçalhos de segurança no nó Express.
Proteção de IA
Prompt injection guards + redaction de PII brasileiro antes de enviar conteúdo a provider externo. Cost ledger imutável por chamada. Feature flag por tenant para desligar IA quando exigido contratualmente.
Provisionamento SCIM
Bearer tokens por tenant com expiração configurável, escopos granulares (users:read/write, groups:read/write), rotação segura, revogação com motivo e rastreio de last_used IP/timestamp. Raw token exibido apenas uma vez na criação/rotação.
Backup e recuperação
Backup diário gerenciado pelo provedor com retenção padrão de 7 dias. Procedimento de restore via console administrativo do provedor. RPO/RTO-alvo discutidos em ADR-0005; drill operacional regular faz parte do roadmap de prontidão enterprise (não declarado como processo mensal auditado no momento).
Observabilidade
Métricas Prometheus expostas em /metrics (HTTP, AI, queue, evidence scan, rate limit público). Traces OpenTelemetry via OTLP HTTP quando configurado. Pino structured logs. SLOs documentados em docs/ops/SLOs.md com alertas via alertmanager quando provisionado pelo cliente.
Subprocessadores
Lista de prestadores de serviço terceiros envolvidos no tratamento de dados dos clientes. Alterações neste quadro são comunicadas com 30 dias de antecedência.
| Provedor | Uso | Região | DPA |
|---|---|---|---|
| Railway | Hospedagem da aplicação e Postgres gerenciado | US-East (Ashburn) | DPA |
| Cloudflare | Cloudflare Turnstile (verificação anti-bot server-verified em endpoints públicos) | Global | DPA |
| AWS S3 | Armazenamento de evidências e artefatos | US-East (us-east-1) — migração BR planejada Onda 2 | DPA |
| OpenAI | Análise de documentos e geração de relatórios via LLM | US | DPA |
| Google Cloud (Gemini) | LLM alternativo para análise documental | Multi-region | DPA |
| Upstash Redis | Filas, cache, rate limit counters | Configurável (US/EU) | DPA |
| Brevo | Email transacional (notificações, reset de senha) | EU | DPA |
| Sentry (opcional) | Error tracking e performance monitoring | EU | DPA |
| Stripe (opcional) | Processamento de pagamento e cobrança recorrente (somente quando BILLING_PROVIDER=stripe). PCI DSS Level 1; T-Visor nunca toca dados de cartão. | US (com expansão BR via Stripe Brazil) | DPA |
| NFe.io (opcional) | Emissão automática de NFS-e a partir de invoices Stripe pagos (apenas quando NFE_IO_ENABLED=true). Recebe nome do tomador, CNPJ/CPF e valor — não recebe dados de cartão nem conteúdo do cliente. | BR | DPA |
Certificações e atestações
- LGPD compliance — Adequado — DPO/Encarregado: dpo@tvisor.app (nomeado 2026-04-25)
- SOC 2 Type II — Planejado — início dos trabalhos Q3 2026
- ISO 27001 — Roadmap — avaliação em 2027
Arquitetura e compliance (documentos)
- Architecture Decision Records versionados no repositório — cobrindo infraestrutura, identidade, segurança e IA (consulta por NDA)
- DPIA (Data Protection Impact Assessment) versionado em docs/security/DPIA.md
- Audit chain imutável: endpoint autenticado
/api/admin/audit/verifypara atestar integridade em tempo real - Tenant isolation via RLS validada em CI a cada push
- Changelog versionado com histórico de releases e mudanças de segurança
- Templates contratuais Enterprise: DPA, MSA e SLA em
docs/legal/, disponíveis sob NDA para due-diligence, sujeitos ao ciclo formal de revisão jurídica e aprovação comercial.
OWASP ASVS self-assessment e SOC 2 Type II não foram concluídos como atestação formal; mapeamentos parciais estão disponíveis sob NDA em due-diligence.
Resposta a incidentes
Em caso de incidente de segurança identificado
Reporte via seguranca@tvisor.app. SLA de primeira resposta: 4h em horário comercial. Para vulnerabilidades, responsible disclosure é bem-vinda — PGP key disponível sob demanda.
Titulares de dados — exercício de direitos
No papel de operador (LGPD art. 5, VII), o T-Visor apoia o controlador (cliente tenant) no exercício de direitos dos titulares. Para solicitações de acesso, correção, anonimização ou eliminação, contate primeiro o seu administrador do T-Visor na organização titular, ou escreva para privacidade@tvisor.app.