Deployment Presets
How dev_local, on_prem_enterprise, cloud_shared_saas, and cloud_private presets shape a CortexDB deployment's posture.
CortexDB selects a deployment posture via the CORTEX_DEPLOYMENT_PRESET environment variable.
Presets
| Preset | Intended for |
|---|---|
dev_local | Local development and evaluation. The default. |
on_prem_enterprise | Self-hosted, single-organization deployments. |
cloud_shared_saas | Multi-tenant shared cloud deployments. |
cloud_private | Dedicated single-tenant cloud deployments. |
These four values are the complete set. (Older documentation referenced startup / growth /
enterprise names — those are not valid preset values.)
What the preset changes
The preset primarily shapes authentication posture:
- Auth is on by default. A server with no
CORTEX_API_KEYon a network-exposed bind auto-generates a key and requires it; run unauthenticated for local dev only withCORTEX_INSECURE_NO_AUTH=1(serves requests without a token asuser:localor the namedX-Cortex-Actor; it does not restrict the bind, so publish the port on loopback only). SetCORTEX_API_KEY=<secret>to require bearer auth — the key's value itself becomes the credential. AnX-Cortex-Actorheader with no bearer is rejected on every preset (see Authorization). - The in-binary dev minter (
POST /v1/auth/signup,POST /v1/auth/tokens) is off by default — both return503 NOT_CONFIGUREDunlessCORTEX_V1_MINTER_ENABLE=1is set explicitly. - Production deployments usually let their identity provider issue tokens, trusted through the issuers
file (
CORTEX_AUTH_ISSUERS_FILE, 0.14.0; see Identity and Tokens). The in-binary minter's keys are kept in the data directory, so its tokens survive a restart. - Which scope types a new scope may use.
cloud_shared_saas(also the hosted cloud) allows 15;on_prem_enterpriseandcloud_privateaddglobalandsystem;dev_localalso addsdebugandtemp. See Allowed scope types. - What the operator key may read (0.14.0). Unless
CORTEX_OPERATOR_DATA_READSsays otherwise, the static key's operator mode isdenyoncloud_shared_saaswith auth on, andallowonon_prem_enterprise,cloud_privateanddev_local. Underdenyits reads of stored memories and its in-band actions need a break-glass header. See Operator Modes and Break-Glass. - How long audit rows are kept (0.14.0). Where a deployment names its preset in
CORTEX_DEPLOYMENT_PRESET(or setsCORTEX_AUDIT_RETENTION), a daily sweep deletes audit rows older than the preset'saudit.retention:dev_localP7D,on_prem_enterpriseP1Y,cloud_shared_saasP2Y,cloud_privateP3Y. A deployment that sets neither keeps its whole trail;CORTEX_AUDIT_RETENTION_ENFORCE=offonly counts what the sweep would delete. - Not the forget default, which is the same on every preset: a
/v1/forgetthat names nocascaderunsderived_only, which keeps the memories themselves.
Activation model for enterprise controls
Individual enterprise controls (encryption, SIEM, DSAR, residency, and so on) are enabled by their own
configuration sections — security.* and compliance.*. A control is active only when its own
config enables it; the preset does not turn them on. See
Security & Compliance for the per-field walkthrough.
Running a multi-tenant SaaS?
The cloud_shared_saas preset is the multi-tenant posture — one deployment, many isolated tenants. See
Multi-Tenancy for how tenants map to token audiences, the isolation
guarantees, and how to provision them.