Connected-account credentials are envelope-encrypted, tenants are isolated by the database itself, every write is recorded in an immutable audit log, and nothing ships without human approval. This is the difference, not a feature flag.
Every connected-account credential is encrypted at rest with AES-256-GCM under a per-tenant data key, which is itself wrapped by a root key. We never store provider tokens in plaintext columns.
Tenant isolation is enforced by the database, not by remembering a WHERE clause. RLS policies scope every row to its tenant, so a query can only ever see one tenant's data.
Every write — compose, approve, schedule, publish — is recorded append-only with the actor, the content, the target account, and the provider result. The log is never edited or deleted.
Nothing reaches a connected account without a human approving the draft first. AI is assistive and proposes drafts; it can never autonomously publish to a real account.
API keys are Bearer tokens scoped to what they need. Mint a key per integration, rotate it independently, and limit blast radius if one is ever exposed.
Because the MCP server exposes the same approval-gated, audited verbs as the API, autonomous agents inherit the same guardrails — they cannot bypass approval or escape the audit trail.
A single publish walks through every layer of the model.
Start free and inspect every write yourself — the audit log is queryable over the API and MCP from day one.