01 · livello
Isolamento tenant imposto dal database.
PostgreSQL Row-Level Security è attiva su ogni tabella. Il codice applicativo non scrive mai un WHERE tenantId — Prisma imposta una GUC di sessione letta dalla policy. Un bug che dimentica di applicare lo scope restituisce zero righe, mai i dati di un altro tenant.
- RLS Postgres forzata · policy per tenant su ogni tabella tenantizzata
- UUID v7 ovunque · nessun incremento sequenziale
- Ruolo applicativo non-superuser — il database rifiuta il bypass anche in caso di bug
- Test di isolamento a due tenant, eseguiti su un database reale con il ruolo applicativo
illustrazione del principio