Security and compliance for voice
A voice call passes through several systems: your telephony provider, your Moveo region, a speech-to-text (STT) provider, a language model, and a text-to-speech (TTS) provider. This page shows where each step processes data, what Moveo keeps after the call, and which controls you own.
How audio flows
The language model receives the transcript text, not the caller's audio. The telephony provider, Moveo, and the STT and TTS providers process audio. Moveo runs noise suppression, or Telnyx runs it when the integration uses the Telnyx engine. The telephony provider records Twilio and Telnyx calls.
Regions
Your account is hosted in one Moveo region. Calls, transcripts, and webhooks for the account run in that region.
| Moveo region | Cloud and location | Twilio region |
|---|---|---|
| Europe | AWS eu-central-1 | Ireland (IE1) |
| United States | GCP us-central1 | US (US1) |
| Brazil | GCP southamerica-east1 | US (US1) |
Your Twilio credentials must come from the Twilio region in the table. See Twilio Voice. For the addresses that Moveo uses to call your webhooks, see Outbound IP addresses.
Where speech providers process audio
The location depends on whose key the AI Agent uses in its voice settings.
- Your speech model: for ElevenLabs, the Region of the speech model (
global,eu, orin) sets the endpoint. Deepgram, Soniox, MiniMax, and Rime connect to the endpoint that Moveo uses for the provider in your region. Cartesia and Google connect to the default endpoint of the provider. See Speech models. - Moveo-hosted provider: the provider processes audio in the location that Moveo sets for your region, as in the table below.
| Moveo-hosted provider | Europe | United States | Brazil |
|---|---|---|---|
| ElevenLabs | US | US | US |
| Soniox | EU | US | US |
| Deepgram | EU | US | US |
| Cartesia | Not declared | Not declared | Not declared |
| MiniMax | Not declared | Not declared | Not declared |
| Rime | Not declared | Not declared | Not declared |
| EU | US | US |
"Not declared" means the provider gives no location guarantee. Cartesia routes each request to its nearest endpoint. MiniMax and Rime do not state where they process audio.
In the Europe region, Moveo-hosted ElevenLabs processes audio in the US. To keep ElevenLabs audio in
the EU, add your own ElevenLabs speech model with the eu region.
The GET /v1/speech-models/providers endpoint returns the
region of each Moveo-hosted provider in your region. For a provider with no guarantee, the value
is null.
What Moveo stores from a call
| Data | What Moveo keeps |
|---|---|
| Transcript | The caller's turns as STT text and the replies of the AI Agent, as messages of the conversation. |
| Recording | The call audio in Moveo storage. Only integrations with Store call recordings turned on record calls. See Call recordings. |
| Metadata | The caller number, the number that the caller dialed, the call ID of the telephony provider, and the recording status and duration. |
Moveo keeps the transcript for as long as it keeps the conversation. The data retention period of your account is 12 to 84 months. Plans below Enterprise allow at most 24 months. See Security and compliance.
Call recordings
Moveo stores every call recording in Moveo storage, on Cloudflare R2.
- Twilio Voice and Telnyx Voice: the provider records the call. After the call ends, Moveo copies the finished recording into Moveo storage.
- Web Voice: Moveo does not record Web Voice calls.
- Call transfer: a Standard transfer keeps the recording on. A Refer transfer stops the Moveo recording at the handoff. See Voice call transfer.
To stop all recordings for an integration, turn off Store call recordings in its Preferences. See Call recording.
API keys
Moveo masks the API key of a speech model after you save it. The console and the API show only the
last four characters, for example ********7617. You cannot read the full key again. Only admins
can create, edit, or delete a speech model. See
Speech models.
Recording consent and disclosure
You must obey the local rules for call recording and AI disclosure. These rules apply in each country and state where you take or place calls. Moveo does not give legal advice.
To play a disclosure at the start of every call:
- In the voice integration, go to Preferences and turn on AI Agent starts first.
- In the AI Agent, create a dialog node whose first response is the disclosure, for example "This call is recorded for quality purposes. You are speaking with an AI assistant."
- Go to the AI Agent Settings and set Starting dialog to that node. See Conversation start.
- Click Save.
- For outbound campaigns, put the disclosure at the start of the Initial message of every voice sender. The campaign plays the Initial message before the first turn of the AI Agent. Keep Interrupt the opening message off, so that the contact cannot stop the disclosure. See Outbound calls.
For outbound debt collection campaigns, a compliance profile applies contact hours, frequency caps, and stop rules before each call.
Certifications
Moveo holds SOC 2 Type II and ISO 27001 certifications and supports HIPAA, with a BAA available. For reports and security questionnaires, see Security and compliance and the Trust Center.