Data isolation & storage modes
Every tenant's data in Promptly is isolated from every other tenant's data. How that isolation is enforced at the database level depends on your storage mode. There are three modes: Shared is the default, and the other two are arranged with the Promptly team.
Shared storage (default)
In Shared mode your data lives in shared PostgreSQL tables alongside other tenants. Each row carries a TenantId, and every query is automatically filtered by your tenant — the application never returns rows that belong to another tenant. Knowledge items, embeddings, conversations, messages, products, and memories are all scoped this way.
This is the default for every workspace. It is fully isolated at the application layer and is the right choice for most accounts.
Dedicated schema
In Dedicated mode your tenant gets its own PostgreSQL schema named tenant_<your-slug>. Your tables physically live in a separate namespace inside the same database, so your rows are not co-located with any other tenant's rows. Queries are pinned to your schema for the entire request.
Dedicated schema isolation isn't one of the subscription modules — it's arranged with the Promptly team for accounts that need physical separation.
Dedicated database
For the strictest separation, your data can be moved to a completely separate PostgreSQL database (its own connection). The connection string for that database is stored encrypted (see API keys & encryption).
🖼️ [Image] — A diagram comparing the three storage modes: shared tables with TenantId, dedicated
tenant_<slug>schema, and a fully separate database.
How migration works
Switching storage modes is not self-service — it is performed by the Promptly platform team. During migration your tenant is briefly deactivated, your data is copied to the new location in a transaction, the source data is removed, and your tenant is reactivated. If anything fails, the migration rolls back and your tenant is reactivated automatically, so you are never left in a broken state.
Your stored cross-session memory moves with the rest of your data during a migration.