Skip to main content

Security overview

This section describes what Kumkuat does with data as the product actually works today: which systems exist, where they run, what third parties touch, and where people stay in control. It is written to be attached to a security review as is.

Architecture​

Dashed boxes and dotted lines are optional connections. None is on by default.

ComponentWhereNotes
Web application, REST API, background workersGoogle Cloud Run, us-central1TLS on every connection; the web app calls the API; the API queues long work to the workers
Workspace data (documents, personas, reactions, chats, reports, embeddings, usage audit)PostgreSQL on Google Cloud SQL, us-central1Encrypted at rest; TLS required; reached by the platform over a private VPC connection; every row is keyed to a workspace
Uploaded files and press-release text copiesGoogle Cloud Storage, US multi-regionPrivate objects read through an authenticated proxy
Kumkuat's provider keys, and the key that encrypts connector and Slack tokensGoogle Secret ManagerInjected into the running service; never in code or images
Workspace-supplied provider keys (bring your own key)Workspace settings in PostgreSQLUsed only for that workspace's calls; masked in the app and API after saving; never logged
Sign-inGoogle Cloud Identity Platform (Firebase Authentication)Email and password, or your own identity provider over SAML 2.0; roles owner, admin, member, viewer

Optional integrations​

None of these is on by default. Each one starts with the deliberate step in the second column, and each can be removed at any time.

IntegrationWhat connects to whatWhat it can doDetails
MCP extension for Claude Desktop and Claude CodeInstalled by a user on their own machine; calls the Kumkuat API over HTTPS with a workspace API keyThe same as that API key: chat with audiences, read grades, generate reactions, manage competitors. Responses go to the user's Claude client, which then sends them to Anthropic under the user's own Claude accountClaude Desktop and Claude Code
Slack appInstalled by a workspace admin through Slack's own consent screen; the bot token is encrypted at restPosts alert digests to the channels you choose, answers /audience and /narrative, and reads files shared with it in a DMSlack
Webhook deliveryKumkuat sends an HTTPS POST to a URL an alert's owner entersDelivers the alert digest to your own systemAlerts
SharePoint, OneDrive and Google Drive connectorsA user of your tenant grants read-only delegated OAuth; tokens are encrypted at restReads the library or folder you pick into a knowledge base; never writes backSharePoint & OneDrive · Data flow

Principles​

  • Workspace isolation. Every customer workspace is logically isolated; API keys are scoped to a single workspace.
  • Read-only retrieval. Public content and connected document libraries are read, never written to. No Kumkuat feature posts to a social network or press wire. Outbound delivery goes only to destinations your users configure: email recipients, a Slack channel, or a webhook URL.
  • Outputs stay on the platform. Reactions, chats, reports and drafts are shown to your users and saved to your workspace. They leave only when a user exports them or creates a share link, which the user can revoke.
  • No training. Model providers are used on API tiers that do not train on content. Kumkuat trains no models of its own.
  • People in control. Configuration is set by your admins; every generated output is reviewed by the requesting person before downstream use. See Human oversight.

Single sign-on over SAML 2.0 is self-service for workspace admins: see Single sign-on. The documents available on request and how to report a vulnerability are on Trust & Security.