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

# Sovereign AI: a European-owned AI gateway (Opper on evroc)

> Opper on evroc is a sovereign AI gateway: the same Opper on evroc, the Swedish cloud, paired with European-owned model providers hosted in Europe. For public sector, defense, and regulated teams. Access by onboarding.

Opper on evroc is a sovereign AI gateway: the same Opper, running as its own
instance on evroc, the Swedish cloud. Pair it with model providers that are
European-owned and host their models in Europe, and your data stays with
European companies from your app to the model.

It is for teams where EU residency is not enough and policy requires European
ownership at every hop, such as government and the public sector, defense,
critical infrastructure, and regulated industries. It does for Opper what a
government cloud region does for the large US clouds: the same product, run
separately for workloads that cannot sit on shared commercial infrastructure.

<Note>
  Access is by onboarding, not self-service sign-up.
  [Contact us](https://opper.ai/contact) and we set up your organization on the
  evroc instance. More at [opper.ai/sovereign-ai](https://opper.ai/sovereign-ai).
</Note>

## European at every hop

| Hop | Company | Country |
| - | - | - |
| **Gateway** | Opper Technology AB, your processor under a DPA governed by Swedish law, ISO/IEC 27001:2022 certified | Sweden |
| **Cloud** | evroc | Sweden |
| **Model provider** | A European-owned provider that hosts its models in Europe | Europe |

## What you can do

Everything you build on Opper works on the evroc instance:

* **The gateway**: one OpenAI-compatible API for chat completions, structured
  output, tool calling, streaming, and fallbacks across models.
* **Rules**, on Control Plane, set once for the whole organization: a monthly
  spend limit, how long traces are kept, which models and providers are
  allowed, checks that redact or block sensitive content before a model sees
  it, and the order providers are tried in.
* **Usage** for every call, and **traces** once you turn tracing on, kept on
  the same instance.

The instance has its own account, API keys, and address. Projects build against
the same API on both instances, so moving between them means changing the base
URL and the API key:

| | Main platform | Opper on evroc |
| - | - | - |
| **Platform** | `platform.opper.ai` | `evroc.on.opper.ai` |
| **API** | `https://api.opper.ai` | `https://api.evroc.on.opper.ai` |
| **Runs on** | AWS Stockholm (`eu-north-1`) | evroc, Sweden |
| **Access** | Self-service sign-up | Onboarding |

```bash theme={null}
curl https://api.evroc.on.opper.ai/v3/compat/chat/completions \
  -H "Authorization: Bearer $OPPER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "mistral/mistral-large-2512",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
```

Use an API key from the evroc instance. Keys from the main platform do not work
there.

## Keep every call sovereign

### Sovereign routes

A route is sovereign when the company operating it is based in Europe and the
model runs in Europe. That covers Mistral's own models and open-weight models
on European hosts such as Berget, evroc, GreenPT, Regolo, and Scaleway. Call
any of them by its route ID, such as `mistral/mistral-large-2512`.

The [model catalog](/v3-api-reference/models/list-models) records both facts
for every route: `provider.owner_country` is where the operator's ultimate
parent is based, and `compliance.inference_location` is where the model runs.
It needs no API key.

### Enforce it for your organization

On Control Plane, one [Model access](/control-plane/rules/model-access) rule
makes sovereign routes the only ones your organization can call. In **Rules →
Model access**, set **Inference location** and **Provider country** to the
same area, such as **EEA**. The
[Management API](/control-plane/management-api#manage-rules-from-code) takes
the same areas and country codes. This rule also admits the UK and
Switzerland:

```bash theme={null}
curl -X POST https://api.evroc.on.opper.ai/management/v1/controls/rules \
  -H "Authorization: Bearer $OPPER_MANAGEMENT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "'$(uuidgen | tr A-Z a-z)'",
    "kind": "comply",
    "enabled": true,
    "scope": {"type": "org"},
    "config": {"type": "allowlist", "allowlist": {"provider": {"locations": {
      "inference": {"include": ["EEA", "GB", "CH"]},
      "jurisdiction": {"include": ["EEA", "GB", "CH"]}
    }}}}
  }'
```

`jurisdiction` is the **Provider country** field. Both fields match by
containment, so `EEA` admits a route in Sweden. A call pinned to a route
outside the rule is refused with `403` before it reaches a provider, and a
bare model name skips the providers outside it.

## Other markets and custom deployments

Opper on evroc is a dedicated instance for Europe. The same Opper can run as a
dedicated instance for another market, inside your own cloud account (AWS,
Azure, Google Cloud, or a national sovereign cloud), or on your own hardware,
with the same API on every option. If you need sovereign AI outside Europe or
on your own infrastructure, [contact us](https://opper.ai/contact).

## Need Claude, GPT, or Gemini?

Most teams need EU residency rather than sovereignty. The main Opper platform
runs in AWS Stockholm and serves Claude, GPT, and Gemini from EU data centers
on AWS, Azure, and Google Cloud. See
[Keep AI inference in the EU](/control-plane/eu-data-residency).

## Related

<CardGroup cols={2}>
  <Card title="Keep AI inference in the EU" icon="earth-europe" href="/control-plane/eu-data-residency">
    Enforce EU-only inference and storage for every call on the main platform.
  </Card>

  <Card title="Model access" icon="scale-balanced" href="/control-plane/rules/model-access">
    Every allowlist field, including provider country and inference location.
  </Card>

  <Card title="Enforce zero data retention" icon="eye-slash" href="/control-plane/zero-data-retention">
    Store no content at Opper and allow only providers that neither train on nor log it.
  </Card>

  <Card title="Security" icon="shield" href="/overview/security">
    Certifications, hosting, DPA, and sub-processors.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.