Résidence et régions
Four distinct classes for ownership, operation and location. They are not interchangeable and do not confer immunity from legal disclosure obligations.
- Détenu dans l'UE, exploité dans l'UE
- An EU company owns and operates the infrastructure in the EU. A classification, not a legal guarantee against disclosure.
- Région UE d'une société mère non-UE
- Processing in an EU region, but the parent company is outside the EU. The location is European; the jurisdiction is not exclusively so.
- Sur site chez le client
- The model runs inside infrastructure the customer controls.
- Entrée de catalogue, hébergement non documenté
- A catalogue entry with no LLM EU inference. Its processing location is unverified.
Ces quatre étiquettes remplacent le mot souverain employé seul, que nous n'utilisons pas isolément. Un modèle n'est dit souverain qu'accompagné de sa classe et de sa région, car la propriété, l'exploitation et la juridiction sont trois faits différents.
Regions in the catalogue
Region rows are configuration data, not evidence of running machines or confirmed operator contracts. Seeded endpoints use the mock: dev-mock, no model weights run. Real inference requires a configured backend per region and matching endpoints. Region configuration is not independent geolocation.
| Region | Country | Class | Operator (configuration) |
|---|---|---|---|
| de-ber | DE | Détenu dans l'UE, exploité dans l'UE | llmeu |
| de-fra | DE | Détenu dans l'UE, exploité dans l'UE | llmeu |
| eu-owned | EU | Détenu dans l'UE, exploité dans l'UE | llmeu |
| eu-region | EU | Région UE d'une société mère non-UE | hyperscaler |
| fr-par | FR | Détenu dans l'UE, exploité dans l'UE | ovh |
| global | XX | hosting.class.non_eu_third_country | openrouter |
How to constrain it
curl https://api.llmeu.com/v1/chat/completions \
-H "Authorization: Bearer $LLMEU_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"llmeu-auto","messages":[{"role":"user","content":"Hello"}],
"llmeu":{"residency":"eu-owned"}}'
Alternatively, set it in the policy resolved for the request. An empty eligible endpoint set returns 409 no_endpoint_for_policy; failover does not widen it.