SaaS que atende múltiplos clientes tem risco LGPD específico — vazamento cross-tenant é o pior cenário. Auditor B2B enterprise foca em 8 pontos técnicos antes de assinar contrato. Este guia mostra quais e como responder.
Em SaaS B2B multi-tenant, "vazamento" pode significar duas coisas: (a) atacante externo pega dados de um cliente; (b) cliente A vê dado de cliente B. O segundo é pior — arruína contrato imediatamente. Este guia lista os 8 pontos que auditor de compliance pede primeiro.
1. Isolamento de dados por tenant
Pergunta do auditor: "Como você garante que cliente A não vê dado de cliente B?"
Resposta esperada:
- Coluna
tenant_idem toda tabela relevante. - Row-Level Security no banco (PostgreSQL RLS ou similar).
- Middleware que injeta tenant_id em toda query.
- Teste automatizado: usuário do tenant A tenta acessar recurso do B, precisa receber 404.
2. Isolamento de storage
Pergunta: "Uploads de cliente A ficam separados dos de cliente B?"
Resposta: buckets ou prefixos por tenant. URLs assinadas com curta expiração. Nunca URL pública compartilhada.
3. Isolamento em cache
Pergunta: "Cache Redis/Memcached separa por tenant?"
Resposta: chave inclui tenant:xxx: como prefixo. Invalidação por tenant, nunca global.
4. Isolamento em background jobs
Pergunta: "Quando job roda em background, ele sabe de qual tenant é?"
Resposta: job recebe tenant_id como parâmetro obrigatório. Sem isso, falha.
5. Isolamento em logs
Pergunta: "Logs de erro contêm dado de qual tenant?"
Resposta: logs marcados com tenant_id, roteados por cliente enterprise (pode ser exigência contratual).
6. Isolamento em telas de suporte interno
Pergunta: "Suporte pode ver dado de qualquer cliente?"
Resposta: acesso auditado, com motivo (ticket), timeout automático (revoke após 4h), aprovação de segundo par para dado sensível.
7. Data Processing Agreement (DPA)
Pergunta: "Você tem DPA que o comprador enterprise possa assinar?"
Resposta: template pronto no site. Bilíngue se atende internacional. Cláusulas cobrindo sub-processadores, incidente, exportação de dados, direito de auditoria.
8. Direitos do titular por tenant
Pergunta: "Se um usuário de cliente A pede exclusão, você exclui só o dele?"
Resposta: endpoint de exclusão com escopo tenant + usuário. Não exclui dado do cliente (empresa contratante) — só o registro do funcionário/usuário final.
Anti-padrão comum
"Compartilhamos dados agregados anonimizados entre clientes para benchmarking."
Se "anonimizado" significa "removi o nome" mas o CPF ainda está lá, não é anonimização. Auditor sério recusa. Anonimização real = teste de re-identificação passa.
Como testar isolamento sistematicamente
Escreva teste:
Tenant A: cria usuário, cria pedido X.
Tenant B: cria usuário, tenta ler pedido X.
Espera: 404.
Repete pra: pedido, upload, mensagem, log, notificação.
Repete pra: API GET, PUT, DELETE, batch export.
Rode no CI. Um falso positivo derruba PR.
TL;DR
- 8 pontos que auditor B2B enterprise pergunta.
- Isolamento em: DB, storage, cache, jobs, logs, suporte.
- DPA pronto no site.
- Direitos do titular escopo tenant+usuário.
- Teste automatizado de isolamento no CI.
A Varredura testa isolamento cross-tenant como parte da varredura de autorização. Rodar agora.
Sua app em produção passa por essa análise?
Rode uma varredura autônoma em ~60 segundos. Sem cadastro.