Centro de privacidade
Centro de Segurança
Visão pública dos controles que protegem a Gerart AI em produção. Cada item abaixo é verificável no código aberto da nossa branch principal e nas migrations do Supabase.
Última atualização: 2026-05-26
0
Vulnerabilidades em produção
npm audit --omit=dev
9+
Rodadas de auditoria fechadas
Round 1 → Hotfix R-01/R-02
20+
Suítes de teste de segurança
security:check + cross-tenant smoke
Roadmap
SOC 2 Type II
Plano 12 meses — controles já em produção
Documentação de compliance (CPG / enterprise)
Pacote público para due diligence de compradores enterprise. Cada documento abaixo reflete controles implementados em produção (atualizado 2026-05-25).
Plano de Resposta a Incidentes
Severidades, RTO/RPO, contatos, playbook SEV-1 e comunicação a clientes.
Plano de DR / BCP
Backups Supabase + R2, drill trimestral e responsáveis.
DPO e Contatos
Encarregado LGPD, jurídico, segurança e escalonamento.
Due Diligence de Sub-operadores
SOC 2, DPA e links de segurança por provedor crítico.
Security Brief CPG (1 página)
Sumário executivo para compradores enterprise CPG.
Chave Anônima e RLS
Como o isolamento multi-tenant funciona para equipes jurídicas.
SOC 2 Type II — Roadmap
Plano de certificação SOC 2 em 12 meses, estágios, custos e controles já implementados.
Controles ativos em produção
Cada controle abaixo está em código, com teste automatizado de regressão e evidência rastreável em audit/FINDINGS.md. A página é atualizada a cada rodada de auditoria interna.
Criptografia em trânsito
HTTPS/TLS + HSTS com preload em todas as rotas.
Content Security Policy
CSP enforcing por requisição com nonce; Report-Only mais estrito para monitoring.
Row-level security
RLS RESTRICTIVE deny-all em todas as tabelas financeiras (workspace_credits, subscriptions, seats, topups).
MFA workspace owner
TOTP obrigatório para mutações de billing (checkout, portal, convites, seats, top-ups).
CSRF double-submit
Cookie HMAC-signed validado em todo POST/PUT/DELETE via proxy.ts.
SSRF allowlist
Toda requisição outbound passa por allowlist + DNS rebinding guard + bloqueio de IP privado.
Rate limit distribuído
Upstash Redis com per-IP, per-user e per-workspace buckets.
Anti-malware em uploads
Magic-byte + ClamAV/VirusTotal em todo upload; SVG/HTML bloqueados.
Stripe webhook hardened
Signature constructEvent + insert-first idempotency em webhook_processed_events.
LGPD compliance
Exportação, exclusão, ledger de consentimento, registro de tratamento de IA.
PII redaction em logs
CPF, CNPJ, RG, cartão (Luhn), CEP e telefone removidos antes de ir para qualquer provedor.
Defense-in-depth AI
Proxy billing + requireAuthedAiRoute em rotas caras; forward hops com HMAC interno.
Monitoramento de spend AI
Cron /api/internal/ops/ai-alerts com thresholds por workspace e global + security_events.
Guardrails agentic
Confirmação HMAC em canvas intent e automação bulk de boards antes de gastar créditos.
Testes cross-tenant
Smoke runner T-MT-* (15 casos) + testes estáticos IDOR em CI.
Dependabot ativo
PRs semanais agrupados de atualização de dependências, sem deriva de patches.
Sub-operadores principais
Lista resumida — a página completa, com DPA, jurisdição e finalidade, está em /subprocessors.
| Provedor | Finalidade | Região |
|---|---|---|
| Supabase | Auth + Postgres + Storage | us-east-1 (com DPA EU SCC) |
| Cloudflare R2 | Object storage primário | Global edge |
| Stripe | Processamento de pagamentos | US / EU |
| FAL.ai / Replicate / Ideogram / Kling | Provedores de IA generativa | Multi-região |
| Upstash | Redis para rate limit | Global edge |
| Vercel | Edge runtime + Sentry observability | Global edge |
Divulgação responsável (Responsible Disclosure)
Política completa em .github/SECURITY.md. Resumo dos SLAs:
- 24 horas para confirmar o recebimento do relatório.
- 72 horas para triagem e classificação de severidade.
- 7 dias para fix de severidade Crítica / Alta (ou mitigação documentada).
- 30 dias para fix de severidade Média / Baixa.
- Safe harbor para pesquisas em conformidade com a política.
O que ainda não temos (transparência)
Honestidade pesa mais do que selo. Itens em andamento que não fazem parte do nosso posture atual:
- Certificação SOC 2 Type II — fora do escopo pré-launch; planejada após primeiro contrato enterprise.
- Pentest externo de terceiro — em planejamento para o próximo trimestre.
- Bug bounty program — avaliado conforme o pipeline cresce.
- WAF Enterprise dedicado — atualmente usamos a proteção edge da Vercel + nosso CSP.
Autenticação
- Autenticação por e-mail e provedores OAuth confiáveis (via Supabase Auth).
- Senhas armazenadas em hash pelo provedor de autenticação; nunca em texto puro.
- Suporte a autenticação multifator (MFA via TOTP) — exigido para administradores internos.
- Recuperação de senha por link de uso único, expirável.
Controle de acesso
- Row Level Security (RLS) em todas as tabelas com dados de usuários e workspaces.
- Service role só é usado em rotas server-side autenticadas e auditadas.
- Papéis de workspace (admin, editor, viewer) são checados antes de qualquer ação sensível.
- Princípio do menor privilégio aplicado a contas de operação.
Isolamento entre workspaces
- Cada workspace tem chaves e identificadores próprios; políticas de RLS impedem leitura cruzada.
- Compartilhamentos são explícitos e revogáveis pelo admin do workspace.
Criptografia
- Tráfego em HTTPS/TLS por padrão. Cabeçalhos de segurança (HSTS, CSP) ativos no proxy.
- Criptografia em repouso fornecida por Vercel e provedores de armazenamento.
- Tokens de sessão e tokens CSRF gerados com entropia criptográfica.
Logs e observabilidade
- Logs de aplicação e erros monitorados via provedores de observabilidade (Sentry, etc.).
- Logs de auditoria privacy-sensíveis são gravados em tabela dedicada e somente leitura.
- IP e User-Agent só são armazenados em forma de hash com pepper.
Backups e continuidade
- Backups gerenciados pelo provedor de banco de dados, com retenção e restore testado periodicamente.
- Capacidade de restauração para incidentes operacionais sem perder consistência de billing.
Resposta a incidentes
- Plano de resposta a incidentes com playbooks de contenção, comunicação e pós-mortem.
- Registros internos no
security_incidents; comunicações externas seguem o art. 48 da LGPD. - Notificação à ANPD e aos titulares quando o incidente exigir, dentro de prazo razoável.
Defesas contra abuso
- Rate limiting distribuído (Upstash Redis) obrigatório em produção. Em desenvolvimento há fallback em memória; a aplicação se recusa a iniciar em produção sem Redis.
- Proteção CSRF “double-submit cookie” com comparação timing-safe, emitida no proxy a cada requisição.
- Validação de origem (
Sec-Fetch-Site) nas requisições mutativas. - Webhooks Stripe e Telegram verificam assinatura HMAC e janela de tempo.
- Idempotência de webhook Stripe garantida por
INSERTcomON CONFLICTemwebhook_processed_eventsantes do processamento. - Cap diário de crédito por workspace na RPC
consume_workspace_credits_atomic— limita o gasto máximo em provedores de IA por dia mesmo se o saldo permitir. - Reembolso atômico (
refund_workspace_credits_atomic) só executa quando há débito correspondente — bloqueia inflação de crédito por referência inexistente.
Hardening de aplicação
- Content Security Policy com nonce por requisição;
img-src,connect-src,font-srcemedia-srccom hosts enumerados (semhttps:coringa). - HSTS com
preload,X-Frame-Options DENY,X-Content-Type-Options nosniff,Referrer-Policy strict-origin-when-cross-origin,Permissions-Policyrestritiva. - Uploads validados por magic bytes (não só extensão); arquivos SVGZ/gzip e MIME suspeitos rejeitados.
- Moderação de conteúdo (AUP): prompts de rotas faturadas de IA passam por filtros server-side antes do provedor; violações retornam
content_policy_violation— ver Política de Uso Aceitável. - DLP brasileiro: CPF, CNPJ, RG, cartão (validação Luhn), CEP e telefone são redacted antes de qualquer chamada a provedor de IA.
- Prompts de IA com allowlist de modos (sem aceitar
systemPromptbruto do cliente); contexto de usuário envelopado em blocoUNTRUSTED_DATA. - Token de convite com floor de tempo constante (250ms) por resposta, eliminando timing side-channel em enumeração.
- MFA obrigatório para mutações de billing quando
WORKSPACE_OWNER_MFA_REQUIRED=true— cobre checkout, billing portal, convites, seats, top-ups, políticas de domínio e licenças. - Sanitização de logs (Sentry + pino) com paridade de patterns para Stripe, OpenAI, Anthropic, FAL, Replicate, AWS, JWT, Bearer, URLs com credenciais.
Imutabilidade dos logs de auditoria
- As tabelas
privacy_audit_logs,security_eventseworkspace_usage_eventssão append-only no banco: políticas RLSRESTRICTIVEbloqueiamUPDATE/DELETEpara os papéis JWT. - Trigger adicional em
privacy_audit_logsbloqueia mutação até porservice_role, exceto quando a transação seta explicitamente uma flag para jobs de retenção autorizados. - Retenção: 1 ano para audit logs, 90 dias para security events, 5 anos para eventos de uso ligados a billing (CTN art. 174).
Acesso administrativo
- Console administrativo restrito a operadores cadastrados em
platform_adminsougerart_team_members. - Exigência de MFA para acessar áreas administrativas.
- Toda ação administrativa relevante é registrada em log de auditoria.
Retenção
Os prazos de retenção são declarativos na tabela data_retention_rules e executados por jobs agendados. Detalhes na Política de Privacidade.
Reportar uma vulnerabilidade
Encontrou uma vulnerabilidade? Escreva para info@gerart.ai com o máximo de detalhes (passos para reproduzir, impacto estimado, contas envolvidas). Não publique a vulnerabilidade até que possamos remediá-la.
Precisa exercer seus direitos?
Use a página Solicitar dados ou, se já tem conta, abra o Centro de Privacidade em /app/settings/privacy.