Postgres RLS with FORCE ROW LEVEL SECURITY on every tenant table.
Every table that holds tenant data is scoped by RLS policies enforced inside Postgres — not at the application layer. We use FORCE ROW LEVEL SECURITY so even the table owner cannot accidentally bypass the policy. Per-tenant storage buckets and signed-URL access prevent cross-tenant reads from object storage.