Compliance

EU AI Act and GDPR Alignment for Self-Hosted AI

⏱ 14 min

Lesson 1 named regulatory and liability requirements as one of the real reasons to self-host. This lesson is specifically about where that reasoning holds up and where it doesn’t. Self-hosting has one genuine, structural advantage for data residency questions under GDPR. It does not exempt a feature from the rest of GDPR, and it does not automatically move a feature into a lower EU AI Act risk tier. Course 16 covers both frameworks in general terms; this lesson focuses narrowly on what changes, and what doesn’t, once the model runs on your own infrastructure instead of a cloud vendor’s.

What you'll learn in this lesson
The one real advantage: no cross-border transfer question
When a prompt never leaves your own infrastructure, there's no external data processor or international transfer to evaluate for that specific call.
What self-hosting does not change
Lawful basis, data minimization, and most other GDPR obligations apply identically regardless of where the model runs.
The EU AI Act angle: risk tier is about the use case, not the hosting model
A self-hosted chatbot and a cloud-hosted chatbot doing the same thing sit in the same tier.
Why this lesson can't give you a final answer
What to actually document and hand to counsel instead.
Prerequisites

Course 16’s AI Governance, Compliance & Responsible AI for WordPress course, specifically its data privacy/consent and EU AI Act lessons. This lesson assumes that general foundation and doesn’t re-derive it.

Not legal advice

This lesson describes general, publicly-documented principles at a conceptual level for developers. It is not legal advice, it does not determine your specific feature’s obligations under GDPR or the EU AI Act, and both frameworks involve real complexity and ongoing regulatory guidance this lesson cannot capture. Any real determination should come from qualified legal counsel who knows your actual data flows, your users’ jurisdictions, and your organization’s specific circumstances, not from this course.

Step 1: The one genuine structural advantage

GDPR’s rules around transferring personal data outside the EU/EEA, and around using a third-party data processor at all, exist because handing data to another organization, in another jurisdiction, introduces real questions: what law governs that data now, what happens if that processor is compelled to disclose it, what safeguards apply to the transfer. When a prompt is built, sent to your own ollama-local provider running on infrastructure you control, and answered, without ever reaching Anthropic, OpenAI, Google, or any other external processor, that specific set of questions doesn’t arise for that specific call. This is real, and it’s the clearest, most defensible version of the “privacy” reason from Lesson 1.

This advantage is scoped to the AI call specifically

Self-hosting the model answers the “did this data leave our infrastructure to reach an AI vendor” question. It says nothing about every other place the same data might travel, a backup service, an analytics tool, a support platform, that has nothing to do with AI at all. Don’t let solving one data flow’s residency question stand in for reviewing all of them.

Step 2: What doesn’t change

Everything else GDPR asks of a feature that processes personal data still applies, identically, whether the model runs in your own data center or a vendor’s:

Lawful basis for processing
You still need one, consent, legitimate interest, or another recognized basis, for the underlying data processing itself, independent of where the AI model lives.
Data minimization
Course 16 and this course's Lesson 6 both still apply. Self-hosting is not a reason to send more personal data into a prompt than a task requires.
User rights (access, deletion, correction)
If your local model server, or any logs it produces, retains identifiable data, that data is subject to the same access and deletion rights as anywhere else.
Security obligations
A self-hosted server holding personal data in prompts or logs is still a system that needs real security controls, arguably more directly your responsibility than with a cloud vendor's security team behind it.
Self-hosting can quietly increase your own operational exposure

A cloud AI vendor’s security posture is at least contractually and often practically outside your hands, but it exists, and reputable vendors invest heavily in it. A self-hosted inference server is exactly as secure as your own team makes it, no more. Treat your own infrastructure’s security around personal data in prompts and logs as a genuine responsibility you’ve taken on, not a lesser concern because there’s no external vendor involved.

Step 3: The EU AI Act angle, briefly

Course 16’s EU AI Act lesson explained the risk-tier structure in general terms: unacceptable, high, limited (transparency), and minimal risk, scaled to the AI system’s use case and potential for harm. Nothing about that classification turns on where the model is hosted. A customer-facing chatbot answering FAQs sits in roughly the same general tier whether it calls a cloud API or your own Ollama instance, because the tier is about what the system does and who it affects, not where its compute runs. Don’t treat “we self-host, so it’s lower risk” as a substitute for the same documentation exercise Course 16 recommended for any AI feature.

One additional wrinkle worth flagging for legal review specifically: if you’re self-hosting an open-weight model and modifying, fine-tuning, or redistributing it, rather than only running it as-is for your own site’s features, you may be taking on a different role under the Act than a simple deployer of someone else’s model. That distinction has real, specific consequences this lesson can’t resolve, and it’s worth raising explicitly with counsel if it applies to your situation.

Step 4: What to actually document

The useful output here mirrors Course 16’s approach: a plain-language record, not a self-administered legal conclusion.

What to hand to whoever reviews compliance
Confirm, concretely, what stays local
Which specific calls (generation, embeddings, both) route through your Lesson 4 provider, and which, if any, still reach a cloud provider.
Note what data reaches the local model
Same discipline as Lesson 6, redacted or not, structured or free text.
Note what your local inference server logs, and for how long
Ollama, vLLM, and llama.cpp's default logging behavior differs, and this course hasn't verified any specific default retention setting for you, check your actual configuration.
Flag the fine-tuning/redistribution question if it applies
Don't self-assess this one, escalate it.

Recap

Self-hosting genuinely resolves the cross-border transfer and third-party processor questions for the specific data that reaches your own AI provider, and that’s a real, defensible reason to do it. It does not change your lawful basis obligations, your data minimization responsibilities, your users’ rights over their data, or your own security responsibilities for whatever your local infrastructure now stores. It also does not, by itself, move a feature into a lower EU AI Act risk tier, that classification follows the use case, not the hosting model. Document what actually stays local and what data reaches it, and bring that document, not a self-made legal conclusion, to your organization’s qualified legal reviewer.

Resources & further reading

← PII Redaction Before Prompts Leave Your Server Course Recap: A Decision Framework for Self-Hosting →