Centro de privacidade

Centro de Segurança

Medidas de proteção da Gerart AI, com o escopo das verificações realizadas e das etapas ainda pendentes.

Última atualização: 2026-05-26

0

Avisos conhecidos no runtime

Dependências de runtime · consulta em 15/10/2026

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

Planejamento; sem certificação vigente

Documentação de compliance (CPG / enterprise)

Pacote de due diligence para compradores enterprise, enviado sob solicitação pelo e-mail de segurança. A documentação distingue controles implementados, configurações necessárias e etapas pendentes de verificação; não representa certificação independente.

Controles implementados e escopo de verificação

Os controles abaixo descrevem medidas implementadas na aplicação. Testes automatizados e verificações delimitadas ajudam a avaliá-las; a presença de um controle não comprova todas as jornadas de produção. A consulta de dependências acima registra avisos conhecidos na data indicada, não a ausência de vulnerabilidades no aplicativo.

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

Políticas RLS e verificações no servidor restringem acesso e operações nos recursos financeiros cobertos; a autorização é avaliada por recurso.

MFA workspace owner

Quando a exigência de MFA do owner está habilitada, as mutações cobertas de billing exigem TOTP (checkout, portal, convites, seats, top-ups).

CSRF double-submit

Mutações protegidas por sessão usam cookie assinado e token CSRF. Webhooks e tarefas internas têm autenticação própria por operação.

Proteção SSRF

URLs fornecidas por usuários nos fluxos protegidos passam por validações de destino e bloqueio de IP privado; allowlists são aplicadas nos fluxos que as exigem.

Rate limit distribuído

Upstash Redis com per-IP, per-user e per-workspace buckets.

Anti-malware em uploads

O fluxo protegido de upload valida o tipo do arquivo e usa ClamAV privado antes da liberação. Arquivos não são enviados ao VirusTotal ou a serviços públicos de análise.

Stripe webhook hardened

Signature constructEvent + insert-first idempotency em webhook_processed_events.

Recursos de privacidade

Solicitações de exportação e exclusão, registro de consentimento e de tratamento de IA; esses recursos não representam certificação de conformidade.

Filtros de dados pessoais

Filtros de minimização e redação de dados pessoais são aplicados nos fluxos cobertos. O tratamento dos dados técnicos depende do evento e do registro.

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.

Configuração de dependências

Há configuração Dependabot para verificações semanais no repositório. A execução automatizada e a criação de PRs não foram verificadas.

Sub-operadores principais

Lista resumida — a página completa, com DPA, jurisdição e finalidade, está em /subprocessors.

ProvedorFinalidadeRegião
SupabaseAuth + Postgres + Storageus-east-1 (com DPA EU SCC)
Cloudflare R2Object storage primárioGlobal edge
StripeProcessamento de pagamentosUS / EU
FAL.ai / Replicate / Ideogram / KlingProvedores de IA generativaMulti-região
UpstashRedis para rate limitGlobal edge
VercelHospedagem e execução da aplicaçãoGlobal edge

Divulgação responsável (Responsible Disclosure)

Política completa em .github/SECURITY.md. Metas de resposta (objetivos, sem garantia de prazo):

  • 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

  • Políticas RLS e verificações de propriedade e participação protegem os recursos cobertos de usuários e workspaces.
  • Credenciais service role ficam restritas ao servidor, com guardas próprias de cada operação, incluindo sessões, tarefas internas e compartilhamentos públicos autorizados.
  • Papéis de workspace (admin, editor, viewer) são verificados nas operações protegidas; os ensaios entre contas cobrem caminhos selecionados.
  • Princípio do menor privilégio aplicado a contas de operação.

Isolamento entre workspaces

  • O acesso aos recursos combina o identificador do workspace, propriedade, participação e políticas RLS. Foram verificados casos selecionados de acesso próprio e recusa de acesso alheio.
  • 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 operacionais disponíveis na Vercel. Há instrumentação Sentry no código; ingestão e entrega de notificações Sentry ainda não foram verificadas.
  • Logs de auditoria privacy-sensíveis são gravados em tabela dedicada e somente leitura.
  • Novos registros de auditoria e eventos de segurança usam hash do User-Agent com pepper configurado; sem pepper, descartam o valor. Registros antigos podem conter User-Agent técnico com tamanho limitado. Esses controles não garantem anonimização.

Backups e continuidade

  • Uma restauração física do banco foi ensaiada em cópia isolada. Esse ensaio não comprova periodicidade de testes, PITR ativo ou objetivos de recuperação medidos.
  • A Lixeira e a exportação do Canvas foram verificadas para um projeto sintético; esses recursos não equivalem a backup independente de todos os arquivos.
  • O backup recorrente independente dos arquivos não está ativo. Os ensaios realizados não comprovam recuperação integral de objetos, reconciliação de billing ou RPO/RTO.

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 com Upstash Redis. As requisições cobertas são recusadas quando o Redis é exigido e está indisponível; o fallback em memória é usado em desenvolvimento conforme a configuração.
  • Proteção CSRF “double-submit cookie” com comparação timing-safe nas mutações protegidas por sessão.
  • Validação de origem nas mutações de sessão cobertas; webhooks e tarefas internas seguem suas guardas próprias.
  • Webhooks Stripe e Telegram verificam assinatura HMAC e janela de tempo.
  • Idempotência de webhook Stripe garantida por INSERT com ON CONFLICT em webhook_processed_events antes 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-src e media-src com hosts enumerados (sem https: coringa).
  • HSTS com preload, X-Frame-Options DENY, X-Content-Type-Options nosniff, Referrer-Policy strict-origin-when-cross-origin, Permissions-Policy restritiva.
  • 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.
  • Filtros de minimização detectam formatos de dados pessoais, como CPF, CNPJ e cartão com validação Luhn, nos fluxos cobertos. Isso não comprova remoção de todo dado pessoal em toda chamada externa.
  • Prompts de IA com allowlist de modos (sem aceitar systemPrompt bruto do cliente); contexto de usuário envelopado em bloco UNTRUSTED_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.
  • Filtros de logs tratam padrões de credenciais e dados pessoais nas origens cobertas; a presença desses filtros não comprova que todo metadado seja anonimizado ou que o pipeline Sentry esteja operacional.

Imutabilidade dos logs de auditoria

  • As tabelas privacy_audit_logs, security_events e workspace_usage_events são append-only no banco: políticas RLS RESTRICTIVE bloqueiam UPDATE/DELETE para os papéis JWT.
  • Trigger adicional em privacy_audit_logs bloqueia mutação até por service_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_admins ou gerart_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.