Trust · Segurança

Controles técnicos: o que roda em produção

Cada item desta página existe em configuração versionada ou em documento público do repositório — inclusive o item que ainda está em implantação.

Criptografia em trânsito

TLS via Let’s Encrypt em todos os subdomínios, com HSTS (incluindo subdomínios e preload). Não há endpoint de produto servido em HTTP.

Isolamento por organização (RLS)

O isolamento entre clientes não depende só do código da aplicação: é imposto por Row-Level Security no Postgres. O runtime usa uma identidade de banco sem privilégio de owner; sem o contexto da organização definido na transação, nenhuma linha de dado de tenant é visível. Um teste E2E tenta vazar dados entre duas organizações por seis vetores (listagem, acesso direto por ID, update cross-org, insert forjado, tabelas de dois níveis e acesso sem contexto) e falha o build se qualquer vetor vazar. O modelo completo está no SECURITY.md público do repositório.

Headers de segurança

Aplicados no nginx, em configuração versionada no repositório:

  • Strict-Transport-Security (HSTS com preload)
  • Content-Security-Policy
  • X-Content-Type-Options: nosniff
  • X-Frame-Options: DENY
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy (câmera, microfone, geolocalização e afins negados)

Outros controles

Senhas com hash scrypt e sessões em cookie httpOnly/secure; rate limit de login; API keys armazenadas apenas como SHA-256; VPS com SSH somente por chave, fail2ban, UFW e atualizações automáticas; backup diário. O detalhe está em /seguranca.

O que ainda não está pronto

MFA para superadmin está em implantação (registrado como dívida técnica TD-033) — listamos porque um trust center que só mostra o que está pronto não é um trust center. Encontrou algo além disso? security@genopt.ai, regras em /trust/bug-bounty.