View all articles
Data ResidencyGDPRLocal AIHybrid AICompliance

Where Your AI Data May Live: an EU Data-Residency Checklist for Local and Hybrid Deployments

JG
Jacobo Gonzalez Jaspe
|

By the end of this post you will have a one-page map of where every piece of data your AI touches is processed and stored, a decision for each flow (local, EU-hosted, or cloud with safeguards), and the record that shows you made the decision. The cheapest place to run the local part is the PC you already own.

What you need

  • A list of your AI uses: assistants, document processing, RAG over your files, the model inside a SaaS tool.
  • Regulation (EU) 2016/679 (GDPR), Chapter V, Articles 44 to 49, on EUR-Lex.
  • The Commission’s current list of adequacy decisions.
  • Ninety minutes and a spreadsheet. A terminal for Step 5.

Two words that are not the same

TermQuestion it answersExample
Data residencyWhere is the data physically stored and processed?”In a data centre in Frankfurt”
Data sovereigntyWhose law can compel access to it?The provider’s home jurisdiction can reach data held abroad by its subsidiaries

GDPR does not require data to stay in the EU. It regulates transfers out of the European Economic Area (EEA). A European region of a non-EU provider solves residency, and leaves sovereignty to the contract and the provider’s home law. A model running on hardware in your building solves both, because there is no transfer and no third party.

Step 1: Map every flow (30 minutes)

One row per kind of data, per AI use. Most companies find six to eight rows.

FlowExampleProcessed whereStored whereWho can read it
Prompts and answersStaff questions to an assistant?Provider logs, 30 days??
Documents sent for processingInvoices, contracts, CVs???
EmbeddingsVectors of your manuals for RAG?Vector database?
Application logsWho asked what, when???
Model weightsThe 7B model itselfLocal diskLocal diskYou
BackupsCopies of all of the above???

Question marks are the deliverable of Step 1. For a SaaS tool, the answers are in its data processing agreement and sub-processor list; if you cannot find them in ten minutes, that is an answer too.

Step 2: Classify each flow (15 minutes)

Add three columns and tick what applies.

  • Personal data (GDPR)? Names, emails, CVs, customer histories. Embeddings of documents that contain personal data are still personal data.
  • Special categories (Art. 9)? Health, union membership, biometrics, beliefs. These raise the bar for every later choice.
  • Public-sector client? In Spain, systems that provide services to public bodies fall under the Esquema Nacional de Seguridad, Real Decreto 311/2022, with its three categories (básica, media, alta) and a conformity declaration or certificate that the contracting body must require (BOE). If you sell to a town hall or a hospital, the flow inherits that requirement.

Step 3: For any flow that leaves the EEA, name the mechanism (15 minutes)

MechanismWhen it worksWhat you must keep
Adequacy decision (Art. 45)The destination is on the Commission list: Andorra, Argentina, Brazil (mutual decision finalised February 2026), Canada (commercial organisations), Faroe Islands, Guernsey, Israel, Isle of Man, Japan, Jersey, New Zealand, Republic of Korea, Switzerland, United Kingdom (renewed December 2025), Uruguay, and the United States for organisations certified under the Data Privacy FrameworkThe provider’s certification or the country name in your record
Standard contractual clauses (Art. 46)Any other destinationThe signed clauses plus a transfer impact assessment
Derogations (Art. 49)Occasional, specific situations such as explicit consent for one transferNot a basis for a daily workflow

On the United States: the General Court dismissed the challenge to the Data Privacy Framework on 3 September 2025 in case T-553/23 (curia press release), and an appeal to the Court of Justice is pending. The framework is valid today. Keep signed standard clauses in the drawer for any US processor, so a future judgment changes a file, not your operations.

Step 4: Decide where each flow runs (15 minutes)

OptionResidencySovereigntyWhat it costs youGood for
Local, on hardware you ownYour buildingYour jurisdictionA EUR 250 board to a EUR 920 Mac mini, plus backups and access control you runPersonal data, special categories, public-sector work, anything you would not email
EU-headquartered provider, EU regionEUEUA contract, an Article 28 processor agreement, a sub-processor checkOverflow capacity, bigger models than your box runs
Non-EU provider, with Step 3 mechanismWherever the region isThe provider’s home lawClauses, transfer impact assessment, and the fallback planThe 5 percent of tasks that need a frontier model and contain no personal data

The pattern we deploy is the middle path called hybrid: routine work with personal data stays on the local machine; anonymised or synthetic prompts may go to a metered cloud key. Our break-even post shows the local box also pays for itself once several people use it daily.

Step 5: Prove the local box does not phone home (10 minutes)

Auditors and clients like a demonstration more than a paragraph. On any Linux machine running Ollama:

# 1. Bind the server to the loopback interface only
export OLLAMA_HOST=127.0.0.1:11434
ollama serve &

# 2. Pull the model once (this is the only outbound connection you will ever see)
ollama pull qwen2.5-coder:7b

# 3. Run a prompt while watching connections
ss -tnp | grep -i ollama          # before: nothing outbound
ollama run qwen2.5-coder:7b "Summarise: [paste a document]"
ss -tnp | grep -i ollama          # during: only 127.0.0.1 <-> 127.0.0.1

# 4. Show what is resident
ollama ps

On our workstation on 2026-09-09, ollama ps showed qwen2.5-coder:7b, 6.6 GB, 100% GPU, and the model answered a 291-token invoice prompt at 34.4 tokens per second. Step 3 of the script shows no connection outside the machine. Unplug the network cable and repeat if you want the theatrical version; it still works.

Step 6: Write it down (15 minutes)

  • Add the map to your Article 30 record of processing activities; the “recipients” and “transfers” columns are exactly Steps 1 and 3.
  • If any flow is high-risk for individuals (systematic monitoring, special categories at scale), the map is the first page of the Article 35 data protection impact assessment.
  • Every provider in the EU-hosted or cloud rows needs an Article 28 processor agreement; file it next to the map.
  • Local flows still need a backup location, an access list and a log retention period. Write them in the same page. Our privacy by design post has the defaults we use.

Honest limits

  • Local removes the transfer question; it does not remove GDPR. Lawful basis, minimisation, retention and access control are still your job, on your hardware.
  • Residency of the model matters less than people think: open-weight models are files, and the licence is what you check. What matters is where prompts, documents and logs go.
  • A 7B model on a mini PC will not do everything a frontier model does. Plan the cloud row for those tasks, and strip personal data before they go.

Next steps

Work with us

We produce this map with clients in a single afternoon, then install the local row on hardware they keep. If you want the afternoon, get in touch or read how our consulting works.

Share: LinkedIn X
Newsletter

Access exclusive resources

Subscribe to unlock 230+ workflows, 43 agents, and 26 professional templates. Weekly insights, no spam.

Bonus: Free EU AI Act checklist when you subscribe
Once a week No spam Unsubscribe anytime
EU AI Act is now in effect — Is your organization compliant?

Tell us what you want to run

Tell us what you want to run and on what budget. We will tell you which hardware you need, which model fits, and what to expect from it — before you spend anything.

Self-service Local-first Open-source toolkits

136 pages of free resources · 26 compliance templates · 22 certified devices