Skip to main content
Provider selection is controlled by runtime config v2 under providers, with backward-compatible mirrors in auth, billing, storage, llm, database, and capabilities. Use none plus the matching feature flag when a provider family must be disabled. Disabled features are hidden from UI and blocked by server-side gates with capability_disabled responses.

Core Providers

Enterprise Provider Families

Disable External Processors

For a private deployment, disable high-risk external processors explicitly:
For strict deployments, combine this with compliance.allowExternalProcessors=false and allowlist only approved processors such as models:openai or objectStorage:s3. Vector search is opt-in. For deployments that do not need knowledge retrieval, keep:
To enable memory and knowledge search, use convex vector search plus one supported embeddings provider (ai-gateway or openai). Convex performs indexing, model-versioned embeddings, scoped hybrid retrieval, and cleanup inside the deployment; no separate worker is required.

MCP server credentials

People can add their own MCP servers. Their tokens are encrypted with a key you provide. Generate it once:
Store it as MCP_CREDENTIAL_ENCRYPTION_KEY on the web runtime. During rotation, place the old value in MCP_CREDENTIAL_ENCRYPTION_KEY_PREVIOUS, deploy the new primary key, rewrite saved credentials through the management API, then remove the previous key. MCP responses expose only hasAuth; bearer tokens and custom header values are AES-256-GCM encrypted at rest and are never returned by list APIs. Production MCP URLs must use HTTPS and pass Overlay’s SSRF validation. Each server has a default execution policy of allow, approval_required, or deny, plus optional per-tool overrides. Use approval_required as the enterprise default when a server contains write-capable tools. Tool name, argument hash, policy decision, result status, duration, and request context are persisted for audit without storing raw tool arguments.