# ADR-0007 — Multi-tenancy em pool com tenant_id

**Status:** Accepted  
**Data:** 2026-07-14  
**Decisores:** Arquitetura de Software

---

## Contexto

SaaS multi-tenant exige isolamento. Database-por-tenant maximiza isolamento mas explode custo operacional de migrações e observabilidade no estágio atual.

## Decisão

Adotar modelo **pool** (database compartilhado) com **`tenant_id` obrigatório** em entidades tenant-scoped, enforcement em repositórios/policies, testes automatizados de isolamento, e avaliação de **RLS** como defesa adicional. Database dedicado por tenant fica reservado a plano enterprise futuro (novo ADR).

## Alternativas consideradas

| Opção | Prós | Contras | Por que não (agora) |
|--------|------|---------|---------------------|
| DB por tenant | Isolamento forte | Ops N× | Custo injustificado MVP |
| Schema por tenant | Meio termo | Migrações complexas | Sob demanda |
| Pool sem testes fortes | Rápido | Vazamento catastrófico | Inaceitável |

## Consequências

### Positivas
- Operação simples; analytics internos viáveis.
- Custo previsível.

### Negativas / riscos
- Bug de filtro = risco de vazamento → mitigação por testes + possíveis RLS + review.

### Follow-ups
- [ ] Suite canônica de testes cross-tenant no CI.
- [ ] Spike RLS.

## Referências

- [Arquitetura Geral](../arquitetura/01-arquitetura-geral.md)
- [Segurança](../operacao/01-seguranca.md)
