The closed loop: what reaches us, and what never does
Coworkkit is a closed-loop voice runtime. We provide the whole voice stack — transport, speech, and the language model — so you never plug in your own providers. The important consequence for your data is architectural: our agent runtime holds zero credentials to your backend and never imports your database or application client. Every action the agent performs is a remote procedure call fired into your end-user’s own browser, where it executes inside that user’s already-authenticated session. The agent is structurally never more powerful than the user in front of the screen.
Because of this, Coworkkit never connects to your database and keeps no standing copy of your business data. The values an action reads or writes do pass transiently through your user’s browser session so the agent can act and respond — but they are not stored on our side, and our logs record only privacy-preserving digests, never the values themselves (see “Data minimisation in our logs” below). What the runtime handles is the voice session — the audio and its transcript — the catalogue of actions your app declares to the agent, and the record of which actions ran.
Where it runs
The runtime is built on Google Cloud and LiveKit, defaulting to the European Union:
- Google Cloud Platform — application hosting on Cloud Run, the control-plane database on Cloud SQL for PostgreSQL, and secrets in Secret Manager, in the
europe-west4(Netherlands) region. - Google Speech-to-Text, Text-to-Speech & Vertex AI (Gemini) — real-time transcription and voice synthesis default to
europe-west4; the Gemini language model runs in Google’s global Vertex AI region. - LiveKit — real-time audio transport on EU infrastructure, either LiveKit Cloud (EU) or Coworkkit’s own self-hosted EU transport, depending on the tenant’s configuration.
We default to the EU but do not yet offer a blanket EU-only data-residency guarantee — most notably because the Gemini model runs in Google’s global region. If your engagement needs stronger residency commitments, talk to us.
Secrets and credentials
Provider and transport secrets live in Google Secret Manager, never in source code or in the browser. The short-lived token that authorises a voice session is minted server-side and scoped to a single user identity and session; the agent worker itself carries no long-lived customer credential.
Data minimisation in our logs
Our operational logs are designed to be privacy-preserving. They record digests, key names, counts, and byte sizes so we can debug and detect abuse — but never transcript content, prompt bodies, tool-argument values, tool results, or credentials. Errors are truncated to their first line. This is enforced in the logging layer on both the runtime and control-plane sides.
What we do not claim yet
In the interest of an honest answer: Coworkkit does not currently hold SOC 2 or ISO 27001 certification, and does not yet offer its own signed Data Processing Agreement. Coworkkit is early and not yet incorporated as a separate legal entity; formal certifications and a Coworkkit DPA are roadmap items as the company formalises. What we can share today are the data-processing terms of the sub-processors we build on, listed with links in the Privacy Policy.
Reporting a vulnerability
If you believe you have found a security issue, please email ebi@coworkkit.ai with the details. We appreciate responsible disclosure and will work with you on it.