Dograh

Data Residency for Voice AI: A Buyer's Checklist of Every Setting

Data Residency for Voice AI: A Buyer's Checklist of Every Setting
TechnicalOctober 24, 2026·7 min read

Data Residency for Voice AI: A Buyer's Checklist of Every Setting

Abhishek Kumar
Abhishek Kumar·Co-founder, Dograh AI

Co-founder of Dograh, building the future of open-source voice AI agents. Own your voice AI stack.

A data residency checklist for voice AI lists every place call data goes and the setting that keeps it in your region: servers and storage, the speech and language models, the phone carrier, telemetry, the quickstart tunnel, tracing, tools and webhooks, and remote access. Call audio stays in-region only when the models run there too.

Key Takeaways

  • Hosted models receive the audio, and only open-weight models in your region keep it there.
  • Every phone call passes through your carrier, while browser calls do not.
  • Telemetry is on by default in Docker, so switching it off is a checklist line.

This post is part of our guide to compliant AI voice agents. The guide's section "Self-hosting: what stays and what still leaves" sums it up: "Self-hosting moves the platform and its records onto your servers, and the audio stays there only when the models run there too." This checklist turns that section into lines to tick off, with the setting for each in Dograh, an open-source, self-hostable voice agent platform.

What data residency means for a voice agent

Data residency is where call data is stored and processed, and for a voice agent that means more than the database. A single call touches the platform, its storage, the speech and language models, the phone carrier and any service the platform reports to.

The GDPR generally sets no rule that personal data must be stored in the EU. Its transfer rules apply when data leaves the EU or is reached from outside it, as our post on GDPR and voice AI explains article by article. Residency itself usually comes from customer contracts, sector rules or your own policy.

Demand is growing anyway. In Cisco's 2026 Data and Privacy Benchmark Study, a survey of 5,200 professionals in 12 markets, 81% reported growing demand for data localization. Yet 85% said localization raises cost, complexity and risk for cross-border services, and 82% believe global-scale providers manage cross-border data flows better. So residency has a price, and it is worth paying only where a contract or rule asks for it.

Storage in your region also does not settle access. DLA Piper's GDPR fines survey calls its TikTok decision "the first that concerns remote access as opposed to data storage". Who can reach the data matters as much as where it sits.

The checklist at a glance

Each line below is one place a call's data can go, with what to check and the setting or decision that keeps it in your region.

#Where call data goesWhat to checkSetting or decision
1Servers and databaseRegion of the data centre or cloud accountSelf-host Dograh there with Docker Compose
2Recordings and transcriptsRegion of the object storageBundled MinIO, or your own bucket with ENABLE_AWS_S3=true
3Speech, language and voice modelsWhere inference runsOpen-weight models in-region; change the default in Models
4Phone carrierWhere calls are carried and whether it recordsCarrier region, your own SIP trunk or Asterisk ARI
5TelemetryUsage events sent outENABLE_TELEMETRY=false and POSTHOG_API_KEY removed
6Quickstart tunnelPublic trycloudflare.com addressYour own domain and ingress
7Tracing and integrationsLangfuse, Noveum and similarSelf-host Langfuse, or leave them off
8Tools and webhooksEvery endpoint you configureEach endpoint's region on your list
9Remote accessStaff and vendors who can reach the serversYour access policy

Servers, storage and the models

The platform and its records are the easy part, because self-hosting puts them where you choose. A Docker Compose install runs on servers in your chosen region. Call records live in PostgreSQL, and recordings and transcripts go to the bundled MinIO storage by default, or to your own S3-compatible bucket with ENABLE_AWS_S3=true. Check that bucket's region and its backups.

The models are where residency usually fails. Dograh is the orchestration layer: it runs the call flow, tools and telephony, and the speech and language models are a separate layer you choose. The call audio stays in-house only when the speech and language models run on your own servers too. Hosted speech-to-text, language and text-to-speech models receive the call's audio or text wherever their provider runs them. Bringing your own key changes whose contract covers that, but the audio still reaches the provider.

Dograh starts every account on its own managed models. To keep call audio away from Dograh, open Models, switch the Organization default to BYOK with your own speech and language providers (or local models), and check that no agent has its own model override. For residency, run those models in your region. How to Build a Voice Agent on Fully Local Open-Source Models shows that setup step by step.

Dograh

Open Source Alternative to Vapi / Retell

Self-hosted voice agent platform — no per-minute fees

dograh-hq/dograh

Star on GitHub

The phone carrier and the quickstart tunnel

Every call over the phone network passes through your carrier (browser calls do not), so the carrier is always on the list for phone calls. Check where it carries and processes calls, and whether it records or transcribes them. To keep that leg under your own contracts, bring your own SIP trunk or connect your own phone system through Asterisk ARI.

Two callers reach the same servers: a phone call passes through the phone carrier's mast first, while a browser call from a laptop goes straight to the servers.
For every phone call the carrier is one more party holding the audio, so its region and any recording it does belong on the checklist. Your own SIP trunk, or your phone system connected through Asterisk ARI, keeps that leg under your own contracts.

If you use Dograh's Managed SIP, its regions (Global, India, UAE) are phone routing, not data residency.

The quickstart opens a public trycloudflare.com tunnel to the API, so inbound calls can reach a test install. A production install replaces it with a custom domain and your own ingress. Firms that need the strictest setup can run with no outbound internet at all, as On-Prem Voice AI for Law Firms describes.

Telemetry, tracing, tools and integrations

Diagnostics leak quietly, so each one gets its own line. Telemetry is on by default in the Docker setup. Set ENABLE_TELEMETRY=false, and remove POSTHOG_API_KEY from the api service in docker-compose.yaml (or set it to an empty value). The server's usage events carry IDs and call details such as call type and direction, with no audio or transcripts, but they still leave your servers until you do both.

Tracing sends more. If you turn on tracing, each call's trace, with prompts and transcriptions, goes to the Langfuse project you configure, so host Langfuse in your region or leave tracing off. A Noveum node exports each completed call to Noveum as a trace, including the call audio unless you switch off the node's Record audio setting.

Then list your own endpoints. Every HTTP API tool, Pre-Call Data Fetch and Webhook node sends call data to the URL you give it. Write down each endpoint and its region, including any automation service in between.

Recordings, transcripts and remote access

Stored calls need a policy as well as a location. Recording upload is on by default and can be switched off only for the whole server, with ENABLE_CALL_RECORDING_UPLOAD=false. Transcripts are still saved. There is no retention setting and nothing is deleted automatically, so your storage rules decide how long calls stay, and your backups must sit in the same region.

Remote access is the last line. Support staff and outside contractors who can log into the servers from another country can raise the same transfer questions as storage there. Keep that list short and written down. Our post on passing a SOC 2 review with a self-hosted voice agent covers the access controls an auditor checks.

Claim a data location only when Dograh and the models both run there. Dograh Cloud handles the security work for you. For residency, teams can self-host Dograh inside their existing compliance perimeter, or use a private-cloud deployment where Dograh runs the stack inside their own VPC. The Enterprise plan lists "On-premise / private-cloud deployment, data residency & data perimeter". Self-hosted Dograh has no per-minute platform fee (servers, model keys and phone minutes still cost); Dograh Cloud has a 1¢-a-minute platform fee.

This is general information, not legal advice. Confirm your position with counsel, or in the UK, check with a data protection adviser.

Join the Dograh Community

Dograh is an OSS alternative to Vapi. Join our Slack community for queries, releases, best practices & community interactions.

Glossary

Data residency
Where data is stored and processed. For a voice agent it covers the platform, storage, models, carrier and diagnostics, and it usually comes from a contract or a sector rule.
Inference
The moment a model processes input, such as a speech model turning call audio into text. Residency depends on where inference runs as well as where recordings are stored.
Quick tunnel
The public trycloudflare.com address Dograh's quickstart opens to the API so a test install can receive calls. Production installs replace it with their own domain.
Telemetry
Usage events software sends back to its maker. In Dograh's Docker setup it is on by default; switching it off means ENABLE_TELEMETRY=false and removing POSTHOG_API_KEY from the api service.

Frequently Asked Questions

Get started with Dograh

Build, deploy, and scale AI agents with Dograh. Join the community of developers building the future.