Home / Knowledge hub / Multi-tenancy
Knowledge hub
Multi-tenancy
One running application serving many customers whose data must stay apart.
What it means
Multi-tenancy means a single running copy of your application serves many customers, called tenants, at the same time. They share the code, the servers and often the same database. Each sees only their own data, as if they had an application to themselves.
NIST's definition of cloud computing describes the same idea as resources pooled to serve multiple consumers. The convenience is cost and speed. The price is that separation is no longer provided by separate machines. Your own code has to enforce it, on every request.
Why it matters
If separation fails, one customer sees another's data. For a software business that is close to the worst thing that can happen: contracts, trust and sometimes regulatory duties all depend on it. One flawed query can affect hundreds of customers at once, and nobody on your side may notice until a customer reports it.
Buyers ask about it directly in security questionnaires. How you keep tenants apart, and how you know it works, is often the longest answer you write and the one a careful buyer reads twice before deciding whether to trust you with their data.
How it shows up
The usual design puts a tenant identifier on each row and filters by it. The filter is added by hand in each query, or enforced centrally, or by the database itself using row-level security. The more it depends on developers remembering, the more often it is forgotten.
Trouble shows up in background jobs that run without a tenant context, search indexes and caches shared across customers, export features, and admin screens. Test by creating two tenants and checking what one account can reach that belongs to the other. See also tenant isolation.
Questions people ask
Multi-tenancy, answered
Is multi-tenancy less secure than separate deployments?
Not by nature, but the risk is different. Separate deployments limit the damage from one mistake, while shared ones depend on code that must be right every time.
Many large products are multi-tenant and secure. The difference is whether separation is enforced centrally and tested.
What is tenant isolation?
It is the outcome you want: one tenant cannot read, change or even detect another tenant's data. Multi-tenancy is the design, and tenant isolation is the property you have to prove.
A design can be multi-tenant and still leak.
Where do tenant leaks usually happen?
In places that skip the normal request path: reports, exports, search, caches, file storage paths and background jobs.
Another common source is an API accepting a tenant identifier from the request instead of reading it from the signed-in session.
Is a tenant leak the same as IDOR?
Often it is the same flaw on a larger scale. An IDOR that crosses a tenant boundary exposes another customer's data rather than another person's.
The label matters less than the effect: data reaching an account that should not have it.
How do we test multi-tenant isolation?
Create at least two tenants with ordinary accounts, then replay one tenant's requests with the other's identifiers, paths and filters.
Include exports, searches and file downloads, not only the main screens.
Sources
Where this comes from
Related
Terms that sit next to this one
Tenant isolation
What keeps one customer's data unreachable from another's session.
Tenant data leak
One customer seeing records that belong to another customer of your service.
Row-level security
Database rules that limit which rows each account can read or change.
Cross-account access
One signed-in account reaching another account's data or functions.
Ownership check
Confirming that the record being requested belongs to the account asking for it.
Can one tenant see another?
Cross-account access is where we spend our time: one signed-in account reaching another's data or functions. Findings come with the request, the response and, in white-box mode, the line of code. Ask us to run it on one of your applications.
Or start with a $199 pilot on one application: thirty days, success criteria agreed before day one, credited against the annual if you convert.