Tenant isolation by the database
Every table that holds an organisation’s data is protected by Postgres row-level security. Each request declares who is acting before it runs, and the database itself decides which rows that person may see.
The application connects as a role that owns no tables and cannot bypass these policies. A query written incorrectly still cannot return another organisation’s records.
