Multi-tenancy
Multi-tenancy is an architecture where a single instance of a software application serves multiple customers ('tenants'), with each tenant's data logically isolated from others — sharing the same infrastructure but with strict separation.
In depth
The alternative is single-tenancy: each customer gets their own dedicated infrastructure. Single-tenancy is used by enterprises with compliance requirements (separate databases, separate servers). Multi-tenancy is the norm for SaaS — more cost-efficient and operationally simpler.
Three approaches to multi-tenant data isolation:
1. Row-Level Security (RLS): all tenants share the same tables, filtered by a tenant_id column with database-level security policies. Most common for SaaS built on PostgreSQL/Supabase.
2. Schema-per-tenant: each tenant gets its own database schema (set of tables) within a shared database. Better isolation, more complex migrations.
3. Database-per-tenant: each tenant gets their own database. Maximum isolation, highest cost, used only in enterprise/compliance scenarios.
For most SaaS MVPs: RLS on PostgreSQL (via Supabase) is the right choice. It's secure, scalable, and simpler to operate than schema or database separation.
Real example
Notion uses multi-tenancy — millions of teams (tenants) share the same infrastructure. Your workspace's pages, databases, and members are isolated from every other workspace at the database level via row-level security and tenant IDs.
Related terms
Technical Debt
Technical debt refers to the implied cost of future rework required when shortcuts or suboptimal solutions are chosen during software development for the sake of speed.
SaaS (Software as a Service)
Software as a Service (SaaS) is a software distribution model where applications are hosted in the cloud and provided to customers over the internet on a subscription basis, rather than installed locally.
API (Application Programming Interface)
An API (Application Programming Interface) is a set of rules and protocols that allows different software applications to communicate with each other — like a contract defining how one piece of software can request data or actions from another.
Technical Debt
Technical debt is the implied future cost of rework caused by choosing a faster, easier solution now instead of a better, slower one — analogous to financial debt accumulating interest.
API (Application Programming Interface)
An API (Application Programming Interface) is a set of rules and protocols that allows one software application to communicate with another — requesting data, triggering actions, or exchanging information.
SaaS (Software as a Service)
SaaS (Software as a Service) is a software distribution model where applications are hosted in the cloud and delivered to users over the internet via subscription — eliminating the need to install or maintain software locally.
Ready to build your product?
Fixed price. 21-day delivery. Senior team.
Get a free scoping call →