saas-mvp
SaaS multicliente: decisões de arquitetura que evitam retrabalho caro
O produto começa a atender outra empresa e surge uma dúvida: quem garante que ela não verá os registros da primeira? Ter uma coluna com nome do cliente não responde à pergunta.
O produto começa a atender outra empresa e surge uma dúvida: quem garante que ela não verá os registros da primeira? Ter uma coluna com nome do cliente não responde à pergunta. Um SaaS multicliente precisa definir como a identidade da organização acompanha cada acesso, operação e recurso. Essa fronteira deve ser verificável antes de expandir funcionalidades.
Desenhe o limite da organização
Liste registros, arquivos, exportações, pesquisas e tarefas em segundo plano. Para cada recurso, indique quem pertence à organização e qual papel permite consultar ou alterar. Esconder um botão não impede uma requisição feita diretamente ao servidor. A orientação da OWASP sobre aplicações multicliente trata isolamento como responsabilidade que atravessa diferentes camadas.
| Área | Pergunta de autorização |
|---|---|
| Consulta de dados | A organização é conferida antes de devolver o registro? |
| Arquivo | O acesso ao objeto segue a mesma fronteira? |
| Exportação | O conjunto exportado respeita usuário e organização? |
| Cache | A chave separa dados cuja resposta muda por cliente? |
| Tarefa assíncrona | O contexto é validado quando a tarefa executa? |
Um teste com duas contas é mais útil que uma promessa
Num cenário hipotético, duas organizações têm solicitações com identificadores distintos. Teste se alguém da segunda consegue consultar, alterar ou exportar um registro da primeira trocando o identificador na requisição. Depois, confira arquivos e processos que continuam após o logout. Esse teste deve ocorrer em ambiente autorizado e isolado, nunca explorando dados de clientes reais.
Defina também convite, mudança de papel e saída de um usuário. Uma permissão removida precisa deixar de valer na operação protegida, não somente no menu. Auditoria deve ajudar a reconstruir ações sem registrar indiscriminadamente dados privados.
Escolha a separação pela necessidade
Base compartilhada, schema separado e banco por organização têm consequências diferentes para operação, custo, manutenção e recuperação. Não existe um modelo universal que resolva toda aplicação. O desenho depende de risco, requisitos e capacidade de operar a estrutura. Evite vender um termo de arquitetura como garantia de segurança.
No serviço de SaaS e MVP, posso mapear organizações, papéis e recursos, implementar regras no servidor e testar as fronteiras. Se já há um produto em uso, uma modernização pode preparar essa evolução com etapas de migração.
O briefing que reduz incerteza
Informe quem contrata, quem usa, quais dados são compartilhados intencionalmente e quais devem permanecer separados. Inclua arquivos e integrações, não apenas tabelas. Com esse mapa, a proposta pode distinguir uma conta individual de uma operação multicliente e definir critérios de aceite reais.
Fontes e leitura complementar
Revisar o isolamento do seu produto SaaS
Conte como contas, usuários e permissões funcionam hoje. Posso mapear fronteiras entre clientes e testar acesso antes de ampliar o produto.
Revisar o isolamento do seu produto SaaS ↗