01 · couche
Isolation tenant renforcée par la base.
PostgreSQL Row-Level Security activée sur chaque table. Le code applicatif n’écrit jamais un WHERE tenantId — Prisma pose un GUC de session lu par la policy. Un bug qui oublie de scoper renvoie zéro ligne, jamais les données d’un autre tenant.
- RLS Postgres forcée · policy par tenant sur chaque table tenantée
- UUID v7 partout · pas d’incrément séquentiel
- Rôle applicatif non-superuser — la base refuse le bypass même en cas de bug
- Tests d’isolation à deux tenants, joués contre une base réelle avec le rôle applicatif
illustration du principe