Sécurité
Row Level Security
Isolation multi-tenant au niveau base de données via PostgreSQL Row Level Security (RLS FORCE).
Chaque entreprise voit uniquement ses propres données, garanti par la base elle-même. Pas de where clause à oublier côté application.
Policy type
CREATE POLICY company_scope ON risks
USING (company_id = current_setting('app.current_company'))
WITH CHECK (company_id = current_setting('app.current_company'));
ALTER TABLE risks ENABLE ROW LEVEL SECURITY;
ALTER TABLE risks FORCE ROW LEVEL SECURITY;Pourquoi FORCE
L'option FORCE fait que même le propriétaire de la table (le compte technique de connexion) est soumis à la policy. Impossible de bypasser accidentellement.