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

# Regions and data retention

> Learn more about where and how we store the identification data of your visitors.

## Regions

When creating your Fingerprint workspace, you can choose the region in which your data will be stored. Pick the one that best suits your infrastructure, latency, and regulatory compliance requirements. Your data never leaves the chosen region. Once chosen, your workspace region cannot be changed.

Fingerprint supports the following regions. The Global (US) region is used by default.

| Region      | Server location        | Code identifier                | Base API URL             |
| :---------- | :--------------------- | :----------------------------- | :----------------------- |
| Global (US) | Northern Virginia, USA | `us` (default, can be omitted) | `https://api.fpjs.io`    |
| EU          | Frankfurt, Germany     | `eu`                           | `https://eu.api.fpjs.io` |
| Asia        | Mumbai, India          | `ap`                           | `https://ap.api.fpjs.io` |

### Specifying region for the JavaScript agent

If you choose a non-default region (EU or Asia), you need to specify it when initializing the JavaScript agent. See the [JavaScript agent Reference > `region`](/reference/js-agent-v4-start-function#region) for more details.

<CodeGroup>
  <CodeBlock
    language="ts"
    filename="CDN"
    children={`
<script>
  const fpPromise = import('https://fpjscdn.net/v4/${user.primaryBrowserToken ?? "PUBLIC_API_KEY"}')
    .then(Fingerprint => Fingerprint.start({
      // Specify "region" as "eu" or "ap" if you don't use the default region
      region: 'eu' // [!code ++]
    }));
</script>
`}
  />

  <CodeBlock
    language="javascript"
    filename="NPM"
    children={`
import Fingerprint from '@fingerprint/agent'

const fp = Fingerprint.start({
  apiKey: '${user.primaryBrowserToken ?? "PUBLIC_API_KEY"}',
  // Specify "region" as "eu" or "ap" if you don't use the default region
  region: 'eu' // [!code ++]
})
`}
  />
</CodeGroup>

### Specifying region for the Server API

If you choose a non-default region (EU or Asia), you need to use a corresponding base API URL (`eu.api.fpjs.io` or `ap.api.fpjs.io`) when interacting with Fingerprint Server API. See the [Server API Reference](/reference/server-api-v4#regions) for more details.

<CodeGroup>
  ```bash EU theme={"theme":"github-dark-dimmed"}
  curl --request GET
       --url https://api.fpjs.io/v4/events/YOUR_EVENT_ID # [!code --]
       --url https://eu.api.fpjs.io/v4/events/YOUR_EVENT_ID #[!code ++]
       --header 'Authorization: Bearer <YOUR_SECRET_KEY>'
       --header 'accept: application/json'
  ```

  ```bash Asia theme={"theme":"github-dark-dimmed"}
  curl --request GET
       --url https://api.fpjs.io/v4/events/YOUR_EVENT_ID # [!code --]
       --url https://ap.api.fpjs.io/v4/events/YOUR_EVENT_ID #[!code ++]
       --header 'Authorization: Bearer <YOUR_SECRET_KEY>'
       --header 'accept: application/json'
  ```
</CodeGroup>

## Data retention

For most plans, visit history is available through the Server API for the past **30 days**. For Enterprise plans, the data is kept for **90 days** or longer depending on the enterprise contract.

If you need to store data for longer than your plan allows or prefer a custom storage solution, you can use [Webhooks](/docs/webhooks). Webhooks allow you to automatically receive each identification response at your custom server endpoint and save them in your database.

## Data deletion

As a data processor that complies with several Data Processing Addendums (i.e., GDPR, CCPA, etc) Fingerprint, upon request from a data controller, will delete information belonging to a browser or a device. Please [contact support](https://fingerprint.com/support/?_gl=1*jrp5dd*_gcl_aw*R0NMLjE3NDc5MzQ1NjEuQ2owS0NRandscnZCQmhEbkFSSXNBSEVRZ09SNlJBQkJiMU9TbkNvcmx2bnpqaW1UTmJFUGEyaDFJd3NNWmlNcUtYWFI1cmdxLUNoYlpjb2FBdmk4RUFMd193Y0I.*_gcl_au*MjA5NzI4MTM3OS4xNzQ0NTQ3ODYwLjIxMjc2MTA3ODYuMTc1MDA4NTI1Ni4xNzUwMDg1MjU3*_ga*NDA5OTM0Mzc2LjE3MTA1NDE5NjU.*_ga_XVKDT0L5WV*czE3NTEyODc2NTEkbzE0OCRnMSR0MTc1MTI4NzkwMyRqNjAkbDAkaDk4NzgxODAxMg..) for more information.
