Skip to main content
Most apps built on Supermemory serve more than one user, customer, or tenant out of a single Supermemory organization. Multi-tenancy is how you keep those memories apart — so User A’s data is never visible to User B, and so you can still slice and query within a user’s own data by things like category, status, or date. Supermemory gives you two complementary tools for this:

Namespaces

Isolation. A namespace is a hard boundary. Memories in one namespace are never returned by a search scoped to another namespace.

Metadata filtering

Organization. Metadata is a set of custom key/value properties on a memory that you filter by — category, priority, date, participants, anything you define.
They solve different problems, and most production apps use both together.

Why two mechanisms

It’s tempting to reach for one tool and make it do everything, but namespaces and metadata aren’t interchangeable — they answer different questions. A namespace decides whether a memory is reachable at all for a given request. Metadata decides which of the reachable memories match. Filtering never crosses a namespace boundary — you can’t use metadata to peek into another tenant’s namespace.

How they work together

A typical multi-tenant write scopes the memory to a tenant with a namespace, then attaches metadata for finer-grained querying later:
And a search combines both: the namespace restricts which tenant’s data is in scope, and the filter narrows down which memories within that tenant come back:
The namespace is required on every call (it is part of the URL) and validated as an access boundary. Metadata filters are optional — a search with just namespace and no filter still only returns that tenant’s memories.

Choosing your boundary

The namespace is the layer that should map to your actual tenancy model — pick the level that matches what “one isolated space” means in your app: The simplest form is one namespace per user, derived from an ID you already have:
Everything within that boundary — categories, statuses, dates, custom fields — is metadata, not a new namespace. Don’t create a new namespace for every property you want to filter on; that’s what metadata is for.

Access control

Namespaces aren’t just organizational — they’re enforced as an authorization boundary. API keys and org members can be restricted to specific namespaces, so a request for a namespace outside the caller’s allowed set is rejected with 403 Forbidden rather than silently filtered. See Namespaces → Access control for the details.

Next steps

Examples

Personal agents, company agents, email assistants, and support platforms.

Namespaces

How isolation works, naming rules, and access control.

Organizing & Filtering

Metadata filter operators, combining and/or, and query limits.

Scoped API keys

Mint keys that can only touch one namespace.