How does CMD+K handle security and data?
All customer data is encrypted in transit (TLS 1.2+) and at rest (AES-256). Secrets — OAuth client secrets, third-party API keys, end-user refresh tokens — are encrypted with AES-256-GCM using per-workspace keys before they hit the database. Postgres row-level security isolates every workspace. We pass SOC 2 Type II controls including password policy (8+ chars, mixed case, number, symbol, HIBP check), audit logging, and quarterly access reviews. End-user data can be deleted on request within 30 days.
Encryption
- TLS 1.2+ on every public endpoint, HSTS preloaded.
- AES-256 at rest in managed Postgres.
- AES-256-GCM with per-workspace data keys for OAuth secrets, third-party API keys, and end-user refresh tokens.
Workspace isolation
Every multi-tenant table enforces Postgres row-level security keyed on workspace_id. Server functions run under the authenticated user's JWT; admin operations use a separate service role with explicit allow-lists.
Authentication
- Password policy: 8+ chars, upper, lower, number, symbol, plus HIBP breach check on every set/reset.
- Google OAuth out of the box; SAML 2.0 SSO on the AI Pilot plan.
- Role-based access (Owner / Admin / Member) with admin-gated danger-zone actions.
Data deletion
Admins/owners can hard-delete audiences, chat history, or the whole workspace from Settings → Danger zone, with name-match confirmation. End-user deletion requests are honored within 30 days.
Reporting a vulnerability
security@commandplusk.com. We acknowledge within 24h and follow coordinated disclosure.Next steps
FAQ
- Where is data stored?
- Managed Postgres in EU-West and US-East regions. Workspace region is selectable at creation.
- Do you train on customer data?
- No. Knowledge sources, conversations, and tool calls are never used to train models — yours or ours.
- Can I get a DPA?
- Yes — see /dpa. Sub-processors are listed there and updated when they change.
- What about SSO/SAML?
- Available on the AI Pilot plan. Self-serve setup via DNS-verified domain, then point any SAML 2.0 IdP at the ACS URL we generate.
- How are payment cards handled?
- We never see card data. Stripe collects and stores it; we only reference Stripe customer IDs.