> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nedzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Sub-processors

> The third-party sub-processors Nedzo uses to provide its service, the purpose of each, the categories of personal data shared, and where that data is stored. Subscribe to be notified before we add a new sub-processor.

Nedzo uses a small number of trusted third-party companies ("sub-processors") to
deliver the service. This page lists every sub-processor that may process
personal data on our behalf, what they do, the categories of personal data
shared with them, and where that data is stored.

This list is maintained under [GDPR Article 28](https://gdpr-info.eu/art-28-gdpr/)
and our customer Data Processing Agreements. Signed DPAs for each sub-processor
are maintained in our compliance system and are available to customers on
request via [trust@nedzo.ai](mailto:trust@nedzo.ai).

## Current sub-processors

*Last updated: 2026-06-11.*

| Sub-processor                 | Purpose                                                                                                                                                                                                                                                | Categories of personal data                                                              | Data location(s)                                       | DPA                                                                  | Status    |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------- | ------------------------------------------------------ | -------------------------------------------------------------------- | --------- |
| **Vapi**                      | Voice agent infrastructure — places and receives AI voice calls, generates call recordings and transcripts.                                                                                                                                            | Phone numbers; Call audio / recordings; Call transcripts; Contact names                  | United States, European Union                          | [DPA / legal](https://vapi.ai/privacy)                               | 🟢 Active |
| **Telnyx**                    | Telephony and SMS infrastructure — phone-number provisioning, voice trunking, and SMS/MMS messaging.                                                                                                                                                   | Phone numbers; Call metadata; SMS/MMS message content                                    | United States, European Union                          | [DPA / legal](https://telnyx.com/legal/dpa)                          | 🟢 Active |
| **Twilio**                    | Telephony/SMS delivery and multi-factor authentication (Twilio Verify). The MFA identity sent to Twilio is an opaque user identifier only.                                                                                                             | Phone numbers; SMS message content; Opaque user identifiers (MFA)                        | United States, European Union                          | [DPA / legal](https://www.twilio.com/legal/data-protection-addendum) | 🟢 Active |
| **OpenAI**                    | Large-language-model inference and text embeddings — chat/RAG replies, call summaries, classification, and knowledge enrichment. EU-account inference is pinned to OpenAI's EU data-residency endpoint under a zero-retention / no-training agreement. | Conversation and message content; Call transcripts; Contact details contained in prompts | United States, European Union                          | [DPA / legal](https://openai.com/policies/data-processing-addendum)  | 🟢 Active |
| **Pinecone**                  | Vector storage for knowledge-base retrieval (RAG) — stores embeddings derived from uploaded knowledge-base documents.                                                                                                                                  | Knowledge-base document content; Derived embeddings (may contain customer data)          | United States, European Union                          | [DPA / legal](https://www.pinecone.io/legal/)                        | 🟢 Active |
| **Supabase**                  | Primary application database, authentication, and file storage. EU customer data is held in a dedicated EU Supabase project.                                                                                                                           | Account and user data; Contact records; Conversation and message history; Uploaded files | United States, European Union                          | [DPA / legal](https://supabase.com/legal/dpa)                        | 🟢 Active |
| **Amazon Web Services (AWS)** | Cloud infrastructure — application compute (ECS), container registry, and job-queue/cache (Redis). EU workloads run in eu-central-1.                                                                                                                   | All personal data processed in transit and during compute                                | United States (us-east), European Union (eu-central-1) | [DPA / legal](https://aws.amazon.com/compliance/gdpr-center/)        | 🟢 Active |
| **Stripe**                    | Payment processing and subscription billing. Stripe operates globally and stores EU customer billing data in the EU under its DPA; any incidental transfer is covered by Standard Contractual Clauses.                                                 | Name; Email address; Billing address; Payment-method / card details                      | Global (EU-resident for EU customers)                  | [DPA / legal](https://stripe.com/legal/dpa)                          | 🟢 Active |
| **BetterStack**               | Application logging, traces, and observability. Log payloads are PII-scrubbed before shipping; EU-account log lines are routed to an EU-region source.                                                                                                 | Application log lines (pseudonymised identifiers, error context)                         | United States, European Union                          | [DPA / legal](https://betterstack.com/legal/privacy-policy)          | 🟢 Active |
| **Mailgun (Sinch)**           | Transactional email delivery — magic links, notifications, AI email replies, and workflow Send-Email actions. EU-account email is sent through Mailgun's EU region.                                                                                    | Recipient email address; Account context; End-user PII contained in email bodies         | United States, European Union                          | [DPA / legal](https://www.mailgun.com/legal/dpa/)                    | 🟢 Active |
| **Sprinto**                   | Compliance automation platform — tracks our security controls, sub-processor DPAs, and audit evidence.                                                                                                                                                 | Limited administrator and account metadata used for compliance evidence                  | United States                                          | [DPA / legal](https://sprinto.com/privacy-policy/)                   | 🟢 Active |

<Note>
  Entries marked **🟡 Planned** are sub-processors we intend to begin using on
  the stated effective date. We publish them here, and notify subscribers, at
  least **30 days in advance** so customers may review or object before the
  change takes effect.
</Note>

## Get notified of changes

We give **30 days' advance notice** before adding any new sub-processor. Enter
your email to subscribe to change notifications. We use double opt-in — you'll
receive a confirmation email and must click the link to confirm. This list is
kept separate from your product data and is used only for sub-processor change
notifications. You can unsubscribe at any time.

<div style={{ maxWidth: '480px' }}>
  <form
    id="subprocessor-subscribe-form"
    onSubmit={async (event) => {
  event.preventDefault();
  // Capture the form node before the first await — React reuses the synthetic
  // event, so event.currentTarget can be cleared by the time fetch resolves.
  const f = event.currentTarget;
  const b = f.querySelector('button');
  const m = document.getElementById('subprocessor-subscribe-msg');
  const email = f.email.value.trim();
  const fail = 'Sorry, something went wrong. Please try again later or email trust@nedzo.ai.';
  b.disabled = true;
  m.textContent = 'Submitting…';
  try {
    const r = await fetch('https://api.nedzo.ai/public/subprocessors/subscribe', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({ email }),
    });
    m.textContent = r.ok
      ? 'Almost there — check your inbox for a confirmation link to complete your subscription.'
      : fail;
    if (r.ok) f.reset();
  } catch (err) {
    m.textContent = fail;
  } finally {
    b.disabled = false;
  }
}}
  >
    <input type="email" name="email" required placeholder="you@company.com" style={{ width: '100%', padding: '10px 12px', borderRadius: '6px', border: '1px solid #cbd5e1', fontSize: '15px', marginBottom: '8px' }} />

    <button type="submit" style={{ background: '#2e79ff', color: 'white', border: 'none', padding: '10px 20px', borderRadius: '6px', fontSize: '15px', fontWeight: 600, cursor: 'pointer' }}>
      Subscribe to updates
    </button>

    <p id="subprocessor-subscribe-msg" style={{ fontSize: '14px', color: '#475569', marginTop: '10px' }} />
  </form>
</div>

## How this list is maintained

Changes to this list follow a controlled process:

1. Any addition, removal, or material change is proposed as a **pull request** in
   our documentation repository, editing the machine-readable source of truth
   (`subprocessors.json`).
2. The PR requires **review and approval** before it can be merged (enforced via
   code owners on the sub-processor files).
3. A **new** sub-processor must be added with a status of **Planned** and an
   effective date **at least 30 days in the future**. Continuous integration
   rejects the change otherwise.
4. **Merging the PR triggers the advance-notice email** to everyone subscribed
   above, announcing the planned sub-processor and its effective date.
5. On or after the effective date, a follow-up PR flips the entry to **Active**.

Questions? Contact [trust@nedzo.ai](mailto:trust@nedzo.ai).
