Skip to content
CAUSAL LABS
Glossary

Multi-Tenancy

Multi-tenancy is a software architecture where one application instance serves multiple customers (tenants), each with data kept strictly isolated from the others despite sharing the same underlying system.

Almost every B2B SaaS product is multi-tenant: one deployed application serves many customer organizations, each seeing only their own data. The architectural question that defines a multi-tenant system is where isolation is enforced — at the database layer, where every query is restricted to the current tenant's rows by the database itself, or only in application code, where a developer has to remember to add a tenant filter to every query.

Application-level isolation is the more common failure mode: it works until one query, in one code path, forgets the filter — and one customer sees another customer's data. Database-level isolation, such as Postgres row-level security, makes that class of bug structurally impossible: the database refuses to return another tenant's rows regardless of what the application code does or forgets to do.

Retrofitting proper isolation after a product already has real customer data is materially harder than building it in from the start, which is why tenant model design is usually the first architectural decision in a new multi-tenant SaaS platform, before any UI work begins.