Legal · Subprocessors
Subprocessors
The providers that process personal data on behalf of Interactive Media Solutions S.R.L. (IMS SRL) to operate codai, and the recipients that receive data as independent controllers.
Version 1.0 · Updated October 24, 2026
Summary in plain words
- Our infrastructure (gateway, database, backups) runs in the EU, in europe-west1 (Belgium). Model inference runs on Google Vertex AI (global endpoint) and Microsoft Azure AI Foundry, including US regions. Business accounts on EU data residency, which we enable on request (there is no self-service setting yet), are the exception: their model inference runs only on Google Vertex AI in the EU (the eu multi-region or europe-west1).
- We announce any new subprocessor 30 days in advance, on this page and by e-mail to business account owners.
- The same list appears in the Privacy Policy and is referenced by the Data Processing Addendum (DPA).
01Subprocessors
| Recipient | What | Where | Safeguards |
|---|---|---|---|
| Google Cloud (Cloud Run incl. GPU, Compute Engine, Cloud SQL, Cloud Storage, Memorystore) | Hosting, database, backups, cache and rate limits — all Service data, including codai’s own voice engine for custom voices (voice sample and voice profile; no voice service of Google is used) | EU (Belgium, europe-west1); the codai routing model runs on Google Compute Engine in the US (us-east4) and never receives requests of accounts with EU data residency | Google Cloud Data Processing Addendum |
| Anthropic via Google Vertex AI | Model inference — prompts, outputs and tool results routed to Claude models | Vertex AI global endpoint (Google routes each request to a region it chooses, inside or outside the EU); for accounts with EU data residency: the eu multi-region or europe-west1 only | Google Cloud DPA and Vertex AI terms — inputs are not used for training |
| Google Vertex AI (Gemini, Gemini Live, Chirp / Cloud Text-to-Speech, Lyria, Veo, Imagen-class image models, Search grounding, embeddings) | Recording transcription and insights, live voice, text-to-speech, music, image and video generation, web-grounded answers and embeddings — the audio, text or prompt of the feature you use; custom voices — Gemini transcribes your spoken consent statement so we can check it (europe-west1, EU) | Vertex AI global endpoint; Gemini Live in europe-west4 (EU); embeddings and Veo video generation in us-central1; EU-residency accounts: EU endpoints only; custom-voice consent check: europe-west1 (EU) | Google Cloud DPA and Vertex AI terms — inputs are not used for training |
| Google Vertex AI Model Garden (open-weight models, e.g. DeepSeek, on dedicated endpoints) | Model inference when the router selects a self-deployed open-weight model — prompts, outputs and tool results | US (us-west2) | Google Cloud DPA; the model runs on an endpoint in our own Google Cloud project — no data goes to the model publisher |
| Microsoft Azure AI Foundry and Azure AI Speech, incl. Personal Voice (OpenAI GPT, xAI Grok, DeepSeek and Anthropic models hosted by Microsoft) | Model inference — prompts, outputs and tool results routed to models hosted there; speech-to-text, realtime voice and text-to-speech audio; custom voices only if we enable Microsoft Personal Voice in addition to our own voice engine (not enabled today) — your consent statement and voice sample, to create the voice and to check that both are the same speaker (Microsoft’s check, West Europe, EU) | Sweden Central and West Europe (EU) and East US 2 (US); Global and Data Zone deployments | Microsoft Products and Services DPA incl. Standard Contractual Clauses; EU-US Data Privacy Framework |
| Qdrant (self-hosted) | Vector index for agent memory — embeddings of memory records you or your agents store | EU (Belgium, europe-west1) | Open-source Qdrant on our own Google Cloud VM; no data is sent to Qdrant the company |
| Cloudflare | CDN, edge network, DNS and DDoS protection for codai.ro (request metadata incl. IP address) | Global edge network (nearest data centre; EU for EU visitors in normal operation) | Cloudflare DPA incl. Standard Contractual Clauses; EU-US Data Privacy Framework |
| Brivio mail (Stalwart, operated by Brivio) | Transactional e-mail from mail.codai.ro — sign-in links, receipts, invitations, data exports, withdrawal confirmations (recipient address and message content) | EU | Brivio’s self-hosted Stalwart mail server in the EU (api.brivio.ro / SMTP); data processing agreement with Brivio |
| Brivio (api.brivio.ro) | Fiscal invoices and e-Factura for payments (invoice lines, amounts and, for companies, buyer name, CUI and address); company lookup by CUI | EU | Data processing agreement; for e-Factura the invoice is also sent to ANAF (Romanian tax authority) as required by law. If you link your codai account with your Brivio account, Brivio also receives data as an independent controller (see "Brivio (account linking)") |
| Cloudflare Turnstile | Bot check on sign-up and after repeated failed sign-ins at auth.codai.ro — browser signals and your IP address, no cookies used for tracking | Global edge network (nearest data centre) | Cloudflare DPA incl. Standard Contractual Clauses; EU-US Data Privacy Framework |
| Feature-specific providers (Deepgram, Voyage AI, OpenAI embeddings, Tavily / Brave / Serper web search, Freesound) | Only when that feature or model is switched on and you use it: Romanian live transcription audio (Deepgram), text to embed (Voyage AI, OpenAI), web-search query text (Tavily, Brave, Serper), sound-effect search terms (Freesound). Never used for accounts on EU data residency (enabled on request). | US | Provider DPA incl. Standard Contractual Clauses; announced on this page 30 days before a provider is switched on for all users |
| Google Firebase Cloud Messaging | Push token and a wake-up signal (no message content) | Global (Google) | Google DPA; used only in builds configured with Firebase |
| Sentry | Error diagnostics from codai.ro, hub.codai.ro, pay.codai.ro and docs.codai.ro and our backend services (no request bodies, cookies or user details); crash reports from the desktop, Android, Wear OS and VS Code apps only if you enabled them (Functional Software, Inc.) | EU (sentry.io EU data region) | Sentry DPA incl. Standard Contractual Clauses |
02Independent controllers
These recipients receive data to provide their own service to you and decide themselves how they process it; we list them for transparency.
| Recipient | What | Where | Safeguards |
|---|---|---|---|
| Stripe | Payment and invoicing data; fraud-prevention cookies on pay.codai.ro during checkout. When a checkout is billed through Brivio, the payment is taken on Brivio’s Stripe account | EU (Ireland) / US | Stripe DPA; Stripe is an independent controller for card data |
| Google / GitHub / Apple (sign-in) | Identity assertion when you choose to sign in with them | Global | Their own privacy policies apply |
| Brivio (account linking) | Only if you link your codai account with your Brivio account: the status of the installation (webhook notifications) and the data covered by the permissions you granted (API keys created for Brivio, usage and costs, subscription status and limits, selected projects). At linking we receive from Brivio your verified email, your Brivio user id and, optionally, your name and your organisation’s name, id and CUI | EU | A separate service with its own terms and privacy notice; Brivio decides how it processes the data for your Brivio account. You can unlink at any time (hub.codai.ro → Security → Connected apps) |
| Public web search sources (DuckDuckGo, Wikipedia, GitHub, Stack Exchange, OpenStreetMap, Common Crawl, public EU/RO data APIs) | The search query text, only when a task uses web search; no account, key or device identifiers are sent | Global | Queried from our own search service in europe-west1; their own privacy policies apply |
03Changes
We publish any intended addition or replacement here at least 30 days before it takes effect. Business customers may object within that period under the DPA (codai.ro/dpa). Questions: privacy@codai.ro.