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

# Voice Data Residency & Retention

> Where Orbit stores your call recordings, voicemail, and live media — how to pin a region, and how long voice data is kept before it is deleted

# Voice Data Residency & Retention

This page explains **where** your voice data physically lives and **how
long** Orbit keeps it. It covers call recordings, voicemail, and the
live media plane that carries a call in progress. If you operate under
GDPR, HIPAA, or a contract that restricts where regulated audio may be
stored, read this before you record your first call.

<Warning>
  This page describes Orbit's platform controls. It is **not legal
  advice.** Your residency and retention obligations depend on where
  your callers are located, your industry, and your contracts. Confirm
  the specifics with qualified counsel.
</Warning>

***

## Where your voice data lives

Orbit runs its voice media plane in two regions:

| Region | Location             | Serves                      |
| ------ | -------------------- | --------------------------- |
| `eu`   | Europe (Belgium)     | Europe, Africa, Middle East |
| `us`   | North America (Iowa) | North & South America       |

Each region runs its own media servers, its own live call-state store,
and its own recording storage. When a tenant is pinned to a region, the
following voice data stays in that region:

* **Call recordings** — the stored audio of a recorded call.
* **Voicemail** — recorded messages left for your numbers.
* **Live media** — the in-flight audio of a call in progress, including
  the media plane that powers Orbit's AI voice agents.

Additional regions (APAC, Middle East, LATAM) are provisioned on request
— [contact support](/introduction) if you need one that is not listed
above.

<Note>
  Region pinning applies to the **voice media** described above. It does
  not, on its own, relocate every record in your workspace. If you have a
  contractual data-residency requirement that spans channels, raise it
  with support so we can confirm coverage before you go live.
</Note>

***

## Choose your region

Your region is set per workspace. New workspaces default to `auto`, which
routes each call to the nearest region at connect time. Pin an explicit
region when you have a residency requirement — for example, an EU
workspace that must keep all recorded audio in the EU.

### From the dashboard

Go to **Voice → Regions**, pick a region from the list, and save. Only
workspace owners and admins can change the region, and every change is
recorded in your audit log.

### From the API

List the available regions:

```bash theme={null}
curl https://api.orbit.devotel.io/api/v1/voice/regions \
  -H "X-API-Key: dv_live_sk_..."
```

Read your current preference and the region calls would use right now:

```bash theme={null}
curl https://api.orbit.devotel.io/api/v1/voice/regions/preferred \
  -H "X-API-Key: dv_live_sk_..."
```

```json theme={null}
{
  "data": {
    "preferred": "auto",
    "resolved": "eu"
  }
}
```

* `preferred` — your saved setting: `auto`, `eu`, or `us`.
* `resolved` — the region your calls land in right now. When `preferred`
  is an explicit region the two match; when it is `auto`, `resolved` is
  the region auto-selection currently maps you to.

Pin an explicit region (owner or admin API key required):

```bash theme={null}
curl -X PUT https://api.orbit.devotel.io/api/v1/voice/regions/preferred \
  -H "X-API-Key: dv_live_sk_..." \
  -H "Content-Type: application/json" \
  -d '{ "preferredRegion": "eu" }'
```

A value outside `auto`, `eu`, or `us` returns a `422`.

<Note>
  Changing your region affects **new** calls. Recordings already written
  in one region are not moved when you switch — they play back from
  wherever they were stored. Switch before you start recording if you
  need every recording in one region.
</Note>

***

## In-region guarantee

Orbit does not carry an EU workspace's call through US infrastructure, or
the reverse. Each region is self-contained: the media servers, the live
call-state store, and recording storage for a region all live in that
region. There is no automatic cross-region failover — a region is never
silently substituted for the one you pinned.

Playback is the one exception, and it is safe: a recording is stored with
its region built into its address, so a recording written in the EU plays
back correctly even when a teammate opens it from a US-based session. The
audio itself is never copied out of its home region to serve playback.

***

## Bring your own recording storage

If you would rather keep recordings in storage you control, you can point
call recordings at your own Google Cloud Storage bucket under **Voice →
Calls → Recording settings**. Orbit writes each recording directly to your
bucket instead of Orbit-managed storage. This is useful when your
retention, encryption, or residency policy is enforced at the storage
layer by your own team.

When a bring-your-own destination is configured but temporarily
unreachable, Orbit falls back to its own storage so the recording is never
lost, and flags the call so you can reconcile it later.

***

## How long voice data is kept

Recordings and voicemail are retained for a configurable window, then
deleted automatically. When the window elapses, the stored audio file is
deleted and its playback link is removed from the associated call or
voicemail record.

| Setting                               | Default | Range        |
| ------------------------------------- | ------- | ------------ |
| Voice recording & voicemail retention | 30 days | 7–3,650 days |

Set your retention window per channel under **Settings → Compliance → Retention**. The window applies from the time each recording is created.

### Stricter retention under HIPAA

When HIPAA mode is active, retention is **enforced** rather than optional,
and call recordings are in scope. The HIPAA default is 365 days
(configurable between 30 and 3,650 days), after which covered audio is
securely deleted. See [HIPAA compliance](/compliance/hipaa) for the full
covered-data list and configuration.

### Legal hold

You can place an individual recording under **legal hold** to exempt it
from age-based auto-deletion — for example, when it is material to active
litigation or an eDiscovery request. A recording on legal hold survives
its normal retention window until you release the hold.

***

## Playback links expire quickly

Recording and voicemail playback links are short-lived: each link is valid
for **one hour**, then stops working. This limits the blast radius if a
link is copied into a browser cache, a shared bookmark, or a forwarded
email. The dashboard fetches a fresh link automatically each time you open
a recording, so day-to-day playback is unaffected — but do not treat a
copied playback URL as a durable reference. Fetch a new one when you need
it.

***

## Related

<CardGroup cols={2}>
  <Card title="Call Recording Consent" href="/compliance/recording-consent">
    Per-jurisdiction rules for lawfully recording calls, and how Orbit
    enforces consent announcements.
  </Card>

  <Card title="HIPAA" href="/compliance/hipaa">
    Covered-data scope, enforced retention, and the BAA workflow for
    healthcare workloads.
  </Card>

  <Card title="Data Subject Requests" href="/compliance/dsar">
    Handle access and erasure requests that cover recorded voice data.
  </Card>

  <Card title="SOC 2 Controls" href="/compliance/soc2-controls">
    Backups, logging retention, and the broader control environment.
  </Card>
</CardGroup>
