Data residency for Deepgram STT when using LiveKit Inference in India region

Hi team, my LiveKit endpoint/region is set to India.

For STT, I’m using Deepgram through LiveKit Inference, not calling Deepgram directly with my own API key.

I want to understand the data residency behavior for this setup.

If my LiveKit region is India and I use Deepgram via LiveKit Inference:

  1. Where is the user audio processed for STT?

  2. Does the audio or transcript stay within India?

  3. Does any audio, transcript, or inference request pass through LiveKit infrastructure outside India?

  4. If passed outside India is it stored outside India or it’s just sent for processing

Any help wrt this will be greatly appreciated.

Hi @darryncampbell @CWilson can you please help me with this? Getting an answer for the above question is very critical for our production usecase.

@Aditya_Mishra, Good news first: LiveKit Inference has a Mumbai-region deployment specifically for Deepgram. From the Deepgram STT docs: “LiveKit Inference includes an integrated deployment of Deepgram models in Mumbai, India, delivering significantly lower latency for voice agents serving users in India and surrounding regions” [docs.livekit.io/agents/models/stt/deepgram].

Auto-routing to Mumbai happens only for these model/language pairs:

  • deepgram/nova-3-general: English, Hindi, Multilingual
  • deepgram/nova-2-general: English, Hindi
  • deepgram/flux-general: English

For anything else, the same page says “requests are routed to Deepgram's API,” meaning outside India.

Now, mapping to your four questions:

  1. Audio is processed in Mumbai if your model and language are in the supported list above; otherwise, it is processed at Deepgram’s default API.
  2. Transcripts stay in India only for the supported combinations.
  3. Your project’s network traffic is region-pinnable to India [docs.livekit.io/deploy/admin/regions/region-pinning] (the page lists India as an available region covering Mumbai and South India), but whether LiveKit Inference itself falls within the “LiveKit Cloud network traffic” scope that region pinning restricts isn’t explicit in either the Inference docs or the region pinning page.
  4. If a request goes to Deepgram’s default API outside India, retention depends on Deepgram’s own data handling, which is governed by their DPA, not LK’s.

So the practical approach: if your model and language are in the supported set, you’re already auto-routed to Mumbai. If they aren’t, a support ticket asking when your specific config will be added to the regional deployment is the right next step. For compliance-grade confirmation that Inference traffic is fully scoped by India region pinning, the LK Data Processing Addendum from sales/support is the authoritative document, since the public docs don’t address that intersection directly.

@Aditya_Mishra Please take a look through this blog:

I believe it should answer most of your questions. It is important that you also host your agents within India (as explained in that blog), if you do this, the answers to your questions are as follows:

  1. Where is the user audio processed for STT? → Within India

  2. Does the audio or transcript stay within India? → Yes, provided you disable Agent Observability

  3. Does any audio, transcript, or inference request pass through LiveKit infrastructure outside India? → You can guarantee this by enabling LiveKit region pinning (available on Scale, which I note you have). You might also find this blog helpful to understand the different pinning options: Checklist for Regional Deployments | LiveKit

  4. If passed outside India is it stored outside India or it’s just sent for processing. → That’s not a simple question to answer, but in your case the answer is N/A since you can contain all data within India.

Thanks for helping me out

Noted, will go through blog. But a quick question agent observability isn’t there in India?

@Aditya_Mishra

We are making agent observability storage follow region pinning setting. But it is currently stored in US.

@CWilson : noted thanks, but I went through the blog it says the fallback automatically moves to Frankfurt for Deepgram nova3. If let’s say I set a fallback STT that’s not on Livekit inference will this be mitigated?

If you have region pinning enabled (to India) then the automatic fallback to Frankfurt would not work. Depending on your requirements you could still specify the fallback provider explicitly, Fallback strategies | LiveKit Documentation , to provide resilience in the event that our hosted Deepgram is unavailable.