← Back to Writing
ragsovereigntyeu-ai-actgdprarchitecture

Sovereignty is a data path, not a data center

June 2026 · 7 min read

Choosing an EU region feels like the sovereignty decision. It's the most reassuring line in the architecture, and the one that protects the least. For a RAG system handling regulated data — public-sector, health, financial — the hard question isn't where the data is stored. It's who can be compelled to hand it over. And the answer depends on a path, not a place: the route a single query takes through your system, and who operates each stop along the way. This is a walk down that path, layer by layer, and what it takes to keep all of it inside European jurisdiction.

The region is the box that reassures and doesn't protect

The US CLOUD Act obliges US companies to produce data on lawful request, regardless of where in the world that data physically sits. What binds is the jurisdiction of the operator, not the location of the server. A data center in Frankfurt run by a US corporation is still within reach — the EU region is the box that reassures without protecting.

So sovereignty is not a property of a storage location. It is a property of the entire data path. You have to follow the route a query takes and, at each stop, ask one question: who operates this, and what law are they subject to? A RAG system is only as sovereign as its most exposed layer.

A query's path through a sovereign RAG stackQuery, embedding, retrieval and generation stay inside an EU self-hosted zone; a managed US API would let the sensitive context leave that zone on every call.EU jurisdiction · self-hostedqueryembedretrievegenerateUS managedLLM APIa managed US API lets the sensitive context exit the zone on every call
Follow one query: every stop — query, embedding, retrieval, generation — stays inside the EU self-hosted zone. Swap generation for a managed US API and the protected context leaves that zone on every single call, whatever region the servers sit in.

A RAG system leaks at every layer it doesn't own

Walk the path a query takes. The embedding model turns each chunk into a vector, and it sees every piece of content — once at indexing time, and again on every query. The vector database holds a searchable copy of the whole corpus, often including the source text as metadata. And the language model receives the retrieved context together with the question on every single call.

That last one is the sharpest. Generation is where the sensitive context lands continuously, in normal operation — not once during setup. A managed language model from a US provider therefore sees the protected content every time the system is used. The region the servers sit in doesn't enter into it.

Self-hosting changes the question

Here is the point that trips people up: what matters is not who trained the model, but who runs it. An open-weight model whose weights you download and run on your own European infrastructure sends nothing back to its maker. Whether those weights originated in the US or anywhere else is irrelevant to the CLOUD Act question once the model runs under your control.

The exposure comes from the managed API, not from the provenance of the weights. That is what makes a sovereign stack practical: you don't need a European-made model, you need a European-operated one.

The sovereign building blocks

Every layer has a mature, European-operable option today. For sensitive data the rule is the same at each one: self-host it, or use a provider under European jurisdiction — never a managed US service.

  • Infrastructure — Hetzner, IONOS, StackIT, Open Telekom Cloud, OVHcloud, or Scaleway, or on-prem. Not AWS, Azure, or GCP for the sensitive legs.
  • Embedding — bge-m3, multilingual-e5, or jina-embeddings-v3, self-hosted. Not a managed US embedding API.
  • Vector database — Qdrant, Weaviate, or pgvector on Postgres, self-hosted. Not a managed US service.
  • Language model — Mistral, Llama, Qwen, or Teuken self-hosted via vLLM; or a European managed provider such as Mistral or Aleph Alpha if you'd rather not run GPUs.

What sovereignty costs

It is not free, and pretending otherwise is dishonest. You take on operational load — running GPU servers, scaling, updates — that a managed provider would otherwise absorb. The best open-weight models are very good and more than enough for most retrieval work, but the very frontier is still held by the large US models, and that gap is closing rather than closed. GPU infrastructure can also cost more than a usage-based API at low volume.

The calculus flips with the data. For public content, a sovereign stack is over-engineering. For personal, public-sector, or health data — exactly where the GDPR and the EU AI Act already require you to control the flow — it is less a cost question than a condition of being allowed to run the system at all.

Do you need a sovereign stack?Public data is fine on a managed stack; regulated data needs either full self-hosting or a European managed provider.whichdata?publicmanaged stack is fineregulatedself-hostcapacity?yesfull self-hostedEU infra + open weightsnoEU managed providerMistral / Aleph Alpha
For public content a managed stack is fine — the sovereign path is for personal, public-sector, or health data, where you either self-host or stay with a provider under European jurisdiction.

The takeaway: follow one query

Here is an exercise shorter than any compliance audit. Take one sensitive request and trace it through your stack — query, embedding, retrieval, generation — and mark every stop a US company controls. Each mark is a point the CLOUD Act can reach, whatever the region dropdown says.

And a concrete starting point that is production-ready today: GPU infrastructure at a German provider; bge-m3 for embeddings via Text Embeddings Inference; Qdrant for the vector store; a Mistral model via vLLM for generation, or Mistral and Aleph Alpha managed if you skip self-hosting; orchestration in your own code on EU infrastructure. Put all five layers under European control and you haven't built a sovereignty-adjacent system. You've built a sovereign one.

Building a RAG or retrieval system and want this kind of rigor in it? Get in touch — or see the projects behind the writing.