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

# Regions & Data Residency

> Where Composo runs, how to pick a region, and how your data is kept in-region

Composo runs in two fully independent production regions. Each region has its own
application, API, and database, so your evaluation data stays in the region you send it to.

## Available regions

| Region           | Location                  | Application                                                                        | API base URL                     |
| ---------------- | ------------------------- | ---------------------------------------------------------------------------------- | -------------------------------- |
| **EU** (default) | Frankfurt, `eu-central-1` | [platform.composo.ai](https://platform.composo.ai) (also `eu.platform.composo.ai`) | `https://platform.composo.ai`    |
| **US**           | N. Virginia, `us-east-1`  | [us.platform.composo.ai](https://us.platform.composo.ai)                           | `https://us.platform.composo.ai` |

The EU region is the default. If you signed up at [platform.composo.ai](https://platform.composo.ai)
and haven't been told otherwise, you're on EU.

## Data residency

Each region is a separate deployment with its own database, and there is **no cross-region
data replication**. Evaluations you send to the US region are processed and stored in the US;
evaluations you send to the EU region stay in the EU. This is what lets US-resident customers
keep their data in the US, and EU customers keep theirs in the EU.

If you have a data-residency requirement, choose the matching region when you onboard and send
all traffic to that region's endpoint.

## Choosing a region

Point the SDK or your HTTP calls at the region's base URL.

<CodeGroup>
  ```python Python theme={null}
  from composo import Composo

  # EU (default) — base_url can be omitted
  eu = Composo(api_key="YOUR_EU_API_KEY")

  # US
  us = Composo(
      api_key="YOUR_US_API_KEY",
      base_url="https://us.platform.composo.ai",
  )
  ```

  ```bash cURL theme={null}
  # EU (default)
  curl -X POST "https://platform.composo.ai/api/v1/evals/reward" \
    -H "API-Key: YOUR_EU_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{ ... }'

  # US
  curl -X POST "https://us.platform.composo.ai/api/v1/evals/reward" \
    -H "API-Key: YOUR_US_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{ ... }'
  ```
</CodeGroup>

<Note>
  **API keys are region-specific.** A key generated in one region only authenticates against that
  region's API — an EU key won't work on the US endpoint, and vice versa. Generate a key from the
  region's dashboard ([platform.composo.ai](https://platform.composo.ai) for EU,
  [us.platform.composo.ai](https://us.platform.composo.ai) for US) and send it to the matching base URL.
</Note>

## One account across regions

Your Composo login is shared across regions, so you sign in once and can open either region's
dashboard with the same credentials. API keys, however, are issued per region (see the note above).

## Billing is unified across regions

If you run evaluations in both regions, you don't have to add the numbers up by hand. Your
[`/usage` page](https://platform.composo.ai) shows your **combined EU + US usage** regardless of
which region you're viewing it from — your credit allowance, consumption, per-model breakdown, and
trace-caching figures are aggregated into a single account-wide total. When a total spans more than
one region, the page labels it as combined across regions. If one region's data can't be reached
momentarily, the page still loads and shows a notice that the totals may be incomplete.

See [Credits](/documentation/billing/credits) and [Trace caching](/documentation/billing/caching)
for how usage is metered.

## Status

Regional health and incidents are published on our [status page](https://www.composo.ai/status/).
