# What Is Multi-Tenancy?

> Multi-tenancy means one deployment serves many organizations while keeping each one's data apart. See tenant columns, reach and how 10xGraph isolates tenants.

Source: https://10xgraph.com/docs/glossary/what-is-multi-tenancy
Last updated: 2026-11-10

**Multi-tenancy means one deployment serves many organizations, called tenants, while each tenant's data stays invisible to the others.** An AI application stores conversations, memories and files. If those live in shared tables, a missing filter in one query is enough to show one customer another customer's data.

## Why does it matter for agents?

Agents read and write data on every turn, and tools and retrieval can touch several stores in one run. The tenant boundary has to hold in all of them, and it has to come from the verified identity, never from a request field or model output a caller can influence.

## How does 10xGraph do it?

- **Tenant claims.** `auth.tenant_claims` names the token claims that identify the tenant, such as `org_id`. A token without them is rejected.
- **Tenant columns.** You declare matching columns on `PgCheckpointer` and `PgVectorStore`. Their values are filled only from the verified identity.
- **Reach.** A role's reach is `own`, `tenant` or `all`. `tenant` matches every user who shares the caller's tenant values.
- **Storage filtering.** Every query is filtered in storage, and data outside the caller's reach answers 404.
- **Row-level security.** Optional Postgres RLS enforces the same columns inside the database.

Multi-tenancy is not on by default. Declare the columns before you store tenant data, and backfill older rows.

## Next steps

- [Tenancy and access](https://10xgraph.com/docs/concepts/tenancy-and-access): Identity, roles, reach and tenant columns.
- [Multi-tenant data](https://10xgraph.com/docs/guides/multi-tenant-data): Declare tenant columns and row-level security.
- [Auth and authorization](https://10xgraph.com/docs/server/auth): Roles, reach and tenant claims.
- [Thread isolation](https://10xgraph.com/docs/glossary/what-is-thread-isolation): The per-user layer underneath.

## Frequently asked questions

### Is multi-tenancy the same as user isolation?

No. User isolation separates one person's threads from another's. Multi-tenancy adds a group level, such as an organization or project, so many users in one tenant can share data that other tenants cannot see.

### Is 10xGraph multi-tenant out of the box?

No. By default a caller reaches only their own data. You declare tenant columns on the checkpointer and store and map tenant claims in auth, and isolation then applies to those columns.

### Do I need row-level security for multi-tenancy?

No. The storage filter is always on once tenant columns are declared. Postgres row-level security is an opt-in second layer.
