Security & Compliance · Sub-processors
Every vendor. What they see.
The complete list of third-party services that may process Kodori customer data, why each is used, what they actually see, and which compliance reports back the relationship. Required reading for any GDPR / HIPAA / SOC 2 review.
Last updated 2026-05-02. We give 30 days’ written notice (via email + this page) before adding or changing a sub-processor whose introduction would meaningfully change the data-flow shape.
Vercel, Inc.
Trust center →- Purpose
- Application hosting + Edge middleware. Runs the Next.js app, the API routes, and the cron-driven workflows.
- What they see
- Inbound HTTP requests + responses (server-rendered HTML, JSON API bodies). Encrypted blobs in transit when an upload streams through the route. No persistent customer data — Vercel is stateless for our purposes.
- Region
- Global edge; primary functions in iad1 (US East).
- Compliance
- SOC 2 Type IIISO 27001HIPAA-eligible (BAA on Enterprise)
Neon, Inc.
Trust center →- Purpose
- Postgres database. Stores tenants, users, document metadata, audit events, agent conversations, retention classes, and every other row Kodori writes.
- What they see
- All relational data Kodori persists. Encrypted at rest (AES-256). Tenant isolation via per-row tenant_id; Neon does not see Kodori's tenant boundaries — it sees Postgres tables.
- Region
- AWS us-east-2 (primary); read replica in us-east-1.
- Compliance
- SOC 2 Type IIHIPAA-eligible (BAA available)
Cloudflare, Inc.
Trust center →- Purpose
- Object storage (R2) for document blobs + Email Workers for the inbound email-ingest route. Some customer deployments add Cloudflare DNS.
- What they see
- Encrypted document bytes (AES-256 at rest). Inbound email envelope + raw MIME during the 200ms it takes the Worker to forward it (HMAC-signed) to our API.
- Region
- Auto-replicated; bucket primary in EWR (US East).
- Compliance
- SOC 2 Type IIISO 27001ISO 27018 (cloud privacy)HIPAA-eligible
Anthropic, PBC
Trust center →- Purpose
- AI model provider for the agent. Claude Opus 4.6 (reasoning) and Haiku 4.5 (classification + extraction).
- What they see
- The text portion of agent prompts when a user runs a query — including extracted document text excerpts the system prompt assembles. Anthropic's zero-data-retention setting is enabled on Kodori's API key, so prompts and responses are not stored beyond the request lifecycle.
- Region
- US.
- Compliance
- SOC 2 Type IIHIPAA-eligible (BAA available)
OpenAI, Inc.
Trust center →- Purpose
- Embedding model (text-embedding-3-small) for the semantic-search half of hybrid search.
- What they see
- Chunked document text at embed time only. We do not send documents to OpenAI for completions or summarization; the embeddings call returns a 1536-dim vector and the input text is not retained server-side beyond the request.
- Region
- US.
- Compliance
- SOC 2 Type II
Resend, Inc.
Trust center →- Purpose
- Transactional email delivery — invites, invite-accept notifications, onboarding welcome + drip sequence, billing notices.
- What they see
- Recipient email addresses + the rendered email content (subject + HTML + text body). Does not see tenant content; emails carry tenant names and the recipient's name only.
- Region
- US.
- Compliance
- SOC 2 Type II
Stripe, Inc.
Trust center →- Purpose
- Subscription billing. Checkout, Customer Portal, invoicing, payment-method storage.
- What they see
- Owner email, workspace name, plan tier, payment method (handled by Stripe Elements — Kodori never sees the PAN). Webhook events feed plan / subscription_status into our tenants table; we never store card data.
- Region
- US, EU, AU; PCI-DSS scope on Stripe's side, not ours.
- Compliance
- PCI-DSS Level 1SOC 2 Type IIISO 27001
Inngest, Inc.
Trust center →- Purpose
- Durable workflow runtime. Cron schedules, retries, fanout for extraction / embedding / DLP / anomaly / onboarding.
- What they see
- Event metadata Kodori passes to Inngest — typically { tenantId, userId, documentId, kind } shaped payloads. The actual document bytes never travel through Inngest; Kodori workers fetch from R2 inside the function body.
- Region
- US.
- Compliance
- SOC 2 Type II
WorkOS, Inc.
Trust center →- Purpose
- SAML / SCIM provider for enterprise SSO when a customer contract requires SAML-only auth or SCIM-provisioned users. Default-off; only customers on the Business / Enterprise tier with WorkOS configured see it active.
- What they see
- User profile claims at sign-in (email, name, group memberships if SCIM). Used to upsert the user into our users table on first sign-in; not used for ongoing access decisions.
- Region
- US.
- Compliance
- SOC 2 Type II
Google LLC
Trust center →- Purpose
- Workspace OAuth provider for Google sign-in. Also: Gmail API + Google Drive API access for the Gmail + Google Drive external connectors when the workspace operator opts in to connect those vendors.
- What they see
- At sign-in: standard OAuth profile claims (email, sub, name, picture URL). For external connectors (operator opt-in only): the OAuth scopes the operator authorized — message metadata + body for Gmail, file metadata + bytes-on-demand for Google Drive. Connector data flows are tenant-scoped on Kodori's side; revocation triggers a typed-confirmation purge per GDPR Article 17.
- Region
- Global.
- Compliance
- SOC 2 Type IIISO 27001ISO 27017ISO 27018HIPAA-eligible
Microsoft Corporation
Trust center →- Purpose
- Microsoft Entra ID (Azure AD) OAuth provider for Microsoft sign-in. Also: Microsoft Graph API access for the Outlook + SharePoint + OneDrive external connectors when the workspace operator opts in to connect those vendors.
- What they see
- At sign-in: standard OAuth profile claims (email, oid, name). For external connectors (operator opt-in only): the OAuth scopes the operator authorized — message metadata + body for Outlook, file metadata + bytes-on-demand for SharePoint and OneDrive. Connector data flows are tenant-scoped on Kodori's side; revocation triggers a typed-confirmation purge per GDPR Article 17.
- Region
- Global.
- Compliance
- SOC 2 Type IIISO 27001ISO 27018HIPAA-eligible
Slack Technologies, LLC (Salesforce)
Trust center →- Purpose
- Slack OAuth + Web API for the Slack external connector when the workspace operator opts in to connect a Slack workspace.
- What they see
- Bot tokens scoped to channels the operator invites the bot to — operator-controlled scope expansion. Message metadata + content + attachment metadata for those channels only. Connector data flows are tenant-scoped on Kodori's side; revocation triggers a typed-confirmation purge per GDPR Article 17.
- Region
- US.
- Compliance
- SOC 2 Type IIISO 27001ISO 27018HIPAA-eligible (Slack Enterprise Grid)
How sub-processor changes work.
- 30-day written notice before any new sub-processor is added or an existing one is swapped. Notice goes via email to every workspace owner and gets posted on this page with an updated “Last updated” date. Customers on annual contracts can object during the notice window per their DPA.
- Vendor selection criteria: every sub-processor must hold a current SOC 2 Type II report or equivalent (ISO 27001 / 27017 / 27018). HIPAA-eligibility is a hard requirement for sub-processors on the BAA chain (Neon, Cloudflare, Anthropic, Vercel) so that healthcare prospects on the Enterprise tier inherit a contiguous BAA from Day 1.
- Data-residency choices: today every sub-processor primary is in the US. EU-residency variants for Neon (Frankfurt) and Cloudflare R2 (any region you pick at bucket creation) are available on request — that ships as a per-tenant deployment configuration, not a shared-infrastructure setting.
- Decommissioning: when a sub-processor is removed, the runbook covers data-region migration with hash-chain verification before the old region is decommissioned. Hardware decommissioning is the sub-processor’s responsibility under their SOC 2.
DPA + sub-processor list for your security review?
Email security@kumokodo.ai with your firm name. We respond within one business day with the executable DPA, this list as a signed PDF, and the CAIQ-LITE security questionnaire pre-filled.