Documentação · Segurança

Segurança para quem integra

Evidência com hash público, isolamento por organização no banco, API keys que nunca ficam em claro do nosso lado, sessões revogáveis — e o que ainda está em implantação, dito como tal.

Evidência com hash SHA-256 público

Cada resposta de IA capturada é armazenada bruta com um hash SHA-256, e o hash é verificável por qualquer pessoa — sem conta, sem permissão nossa. É uma decisão de segurança tanto quanto de produto: um relatório cujos dados só o emissor consegue conferir não prova nada. Interface em /verify; endpoints públicos abaixo. A consulta pública devolve metadata mínima, nunca a resposta bruta.

verificação pública
curl -s https://api.genopt.ai/v1/public/evidence/<hash-sha256>

curl -X POST https://api.genopt.ai/v1/public/evidence/<hash-sha256>/check \
  -H 'Content-Type: application/json' \
  -d '{"content":"<texto exato da resposta>"}'

Isolamento multi-tenant: RLS no Postgres

O isolamento entre organizações é aplicado no banco, não só na aplicação: Row-Level Security no Postgres garante que uma query de um tenant não lê linha de outro, mesmo se uma camada acima errar. É a diferença entre "o código filtra por organização" e "o banco recusa a linha errada" — defesa em profundidade onde o dado mora.

API keys: hash armazenado, claro exibido uma vez

As chaves emitidas em Settings → API Keys nascem no formato gsk_<32 hex> — 128 bits de aleatoriedade. Do nosso lado ficam apenas o SHA-256 da chave e um prefixo de exibição; o claro aparece uma única vez, no momento da criação, e não é recuperável depois. Emissão e revogação exigem papel Owner ou Admin. Estado atual, rotulado: essas keys ainda não autenticam a API pública — isso é a Fase 8 do roadmap; hoje a API aceita o token interno da plataforma, server-side.

Sessões ativas e revogação

Em Settings → Security → Sessions o app lista as sessões ativas da conta — dispositivo, navegador e sistema — e permite revogar qualquer uma delas individualmente. Sessão revogada deixa de valer no ato.

MFA: em implantação (TD-044)

Estado: em implantação — TD-044

O TOTP (app autenticador + backup codes) está planejado sobre o plugin twoFactor do better-auth. Não há toggle no app hoje — a integração mexe no fluxo de login e só entra depois de teste manual em staging. Quando a página de MFA ganhar o QR code, é porque o recurso funciona de ponta a ponta.

O resto do modelo de segurança

Hospedagem dos dados, LGPD, criptografia em trânsito, backups e subprocessadores estão no Trust Center: /seguranca e /trust. Escopo e canal para reportar vulnerabilidade: /trust/bug-bounty — cobre a aplicação (app.genopt.ai) e a API (api.genopt.ai).