Fine-tuning is the hardest GDPR case in machine learning, because the training data is very often the customer data. Not a public corpus, not a licensed dataset — your support tickets, your contracts, your clinical notes.
Teams handle this by picking an EU region and considering it done. Region is the easy half. The hard half is that a fine-tuning pipeline has more exits than anyone maps, and most of them are third-party SaaS that was adopted by an engineer in an afternoon.
Here is where the data actually goes.
Downloading an open-weight model from a hub outside the EU is a transfer to you, not from you. It carries no personal data and no residency obligation.
What does matter is where you cache them. If your pipeline pulls from a public hub on every job, you have a build-time dependency on a third party that can rate-limit you, change a licence, or remove a repository mid-quarter. Mirror the weights into your own object storage in-region once, pin the revision hash, and pull from there. This is a supply-chain argument rather than a privacy one, but it is the same fix.
The extraction and cleaning step is almost never in the same place as the training step. Common exits:
The test is not where the bucket is. It is where the CPU that touched the row was.
This is the one that surprises people, and it is the most common leak in practice.
Experiment tracking tools log more than scalars. Sample predictions, validation examples, confusion matrix rows, prompt and completion pairs, dataset previews, artefact files. Teams log these deliberately, because they are useful. If the tracker is hosted SaaS in a third country, every one of those is a transfer of the exact data you were being careful about.
Same category, same problem: crash reporters that attach local variables, hosted logging that receives a debug dump of a batch, and evaluation dashboards that store generated outputs.
Either self-host the tracker in-region, or agree a strict allowlist of what may be logged — metrics only, no samples — and enforce it in the training harness rather than in a policy document.
A fine-tuned model is a lossy compression of its training set, and language models are demonstrably capable of reproducing training examples verbatim, particularly rare ones — which is exactly the category personal data falls into.
The practical consequence is that checkpoints should be stored, replicated and access-controlled as if they were the training data. In particular: no automatic cross-region replication to a DR region outside the EEA, and no copying the weights to a developer machine to "try it locally".
Plenty of teams train carefully in-region and then deploy the result to whichever inference platform is convenient. That undoes the work twice over: the weights move, and every inference request — which contains user input, often personal data — goes with them.
If the fine-tune had a residency requirement, the endpoint has the same one. Include it in the same assessment rather than treating deployment as an afterthought.
Storing in Athens while a support engineer in a third country holds break-glass credentials to the training cluster is a transfer, whether or not anyone uses them. The questions to put to a provider:
"Our policy prohibits it" is a commitment. It is not a control.
Before a fine-tune starts, one page, answered in specifics:
Seven questions. Most teams can answer two of them without going to look, and the going-to-look is the entire exercise.
Once you accept that every hosted convenience is a potential exit, the simplest architecture is also the most defensible: object storage, GPU compute, artefact store, tracker and endpoint, all in one region, one provider, one contract, one jurisdiction. Fewer moving parts, one answer for the DPA, and no transfer impact assessment for a tool nobody remembers adopting.
It is marginally less convenient than assembling the best-in-class tool for each step. It is enormously easier to sign off.
Antyxsoft runs regions in Greece and Spain under EU law with no third-country parent. GPU instances are launching soon in those regions — join the waitlist if a single-jurisdiction training pipeline is on your roadmap.