By · Last updated 2026-05-27

Tilbake til BloggTeknisk

GDPR ML Treningsdata Anonymisering

GDPR begrenser bruk av personopplysninger til ML-trening utover det opprinnelige innsamlingsformalet. Datavitere som stoler pa ad-hoc Python-skript skaper.

May 27, 20267 min lesing
ML training dataGDPR data scienceSchrems IItraining dataset anonymizationresponsible AI

Ett Skript Er Ikke Nok

Hvert datavitenskap-team har skrevet noe slikt:

import re
def anonymize_email(text):
    return re.sub(r'[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}', '[EMAIL]', text)

Dette erstatter e-postadresser. Det er alt det gjor. Datasettet inneholder fortsatt navn, telefonnumre og medisinske ID-er. Det vil fortsatt mislykkes i en GDPR-revisjon.

Gapet mellom "jeg anonymiserte e-postadressene" og "dette datasettet er GDPR-kompatibelt" er stort. Team undervurderer det hele tiden.

Hvorfor GDPR Begrenser Bruk til ML-Trening

GDPR artikkel 5(1)(b) er den sentrale regelen. Den kalles formalsbegrensningsprinsippet. Personopplysninger kan bare brukes til det formalet de ble samlet inn for.

Kundeordrer ble samlet inn for ordreoppfyllelse. Ikke for a trene en anbefalingsmodell. Helseregistre ble samlet inn for behandling. Ikke for a trene en innleggelsesmodell. Undersokelsessvar ble samlet inn for produkttilbakemeldinger. Ikke for a trene en sentimentklassifiserer.

For a bruke disse postene til ML-trening trenger et team en av tre ting:

  1. Eksplisitt samtykke fra hver person for ML-formalet -- vanskelig a fa, ofte umulig i ettertid
  2. En legitim interessevurdering som viser at ML-bruken er forenlig -- juridisk usikker, DPA-avhengig
  3. Anonymisering -- erstatte eller fjerne personlige detaljer slik at datasettet ikke lenger er personlig under GDPR

Riktig anonymisering gir storst juridisk sikkerhet. Utfordringen er a gjore det riktig hver gang.

Problemet med Engangs-Skript

Team som skriver et nytt Python-skript for hvert datasett skaper sammensatte problemer.

Ufullstendig dekning. Et skript bygget for ett skjema mangler nye felt. En kolonne med kliniske notater lagt til for seks maneder siden? Ikke i regexen. Et mellomnavn-felt? Skriptet handterer bare forste og etternavn-monstre.

Ingen konsistens. Datasett A ble behandlet med skript_v1. Datasett B brukte skript_v3. Datasett C ble behandlet av et annet teammedlem. Det sammenslatte treningssettet har tre forskjellige metoder brukt. En DPO kan ikke sertifisere det.

Ingen revisjonsspor. Skriptet kjorte. Hva endret det? Hvilke enheter ble funnet? Uten behandlingsposter er samsvar umulig. Nar en DPA-revisor spor "hvordan vet du at dette treningssettet er rent?", er svaret "vi kjorte et Python-skript" ikke godt nok.

Modell-drift. Regex-monstre som fungerte i 2023 mangler nye identifikatformat fra 2024. Skript oppdaterer seg ikke selv.

En Batchbehandlings-Gjennomgang

Et helse-AI-team trenger a anonymisere 8 000 pasientjournaler. Det amerikanske teamet trenger tilgang fra et EU-kontor. Schrems II gjelder -- EU-opprinnede poster kan ikke ga til amerikansk infrastruktur uten ordentlige sikkerhetstiltak.

Tradisjonell vei: En dataingenieer skriver et tilpasset skript. To til tre dager med utvikling. En til to dager med DPO-gjennomgang. En dag med iterasjon. Totalt: fire til seks dager. ML-prosjektet forskyves.

Batchbehandlingsvei:

  1. Eksporter de 8 000 postene som CSV
  2. Last opp til batchbehandling
  3. Angi enhetstyper: PERSON, EMAIL_ADDRESS, PHONE_NUMBER, US_SSN, MEDICAL_RECORD, DATE_OF_BIRTH, LOCATION
  4. Velg metode: Erstatt (substituerer realistiske syntetiske verdier for a bevare struktur)
  5. Behandle: 45 minutter for 8 000 poster
  6. Last ned den rene CSV-filen
  7. DPO gjennomgar behandlingsmetadata -- enheter funnet per post, metoder brukt: 2 timer
  8. DPO godkjenner. Overforingen gjennomfores.

Total tid: 45 minutter pluss 2 timer DPO-gjennomgang. I stedet for fire til seks dager.

Se EU AI Act treningsguiden for hvordan de samme trinnene oppfyller artikkel 10-forpliktelsene.

Erstatt vs. Rediger for ML-Bruk

Anonymiseringsmetoden har betydning for modellkvaliteten.

Rediger erstatter personvernopplysninger med et token som [REDACTED]. Dette fungerer for PII-deteksjonsmodeller. For andre oppgaver -- sentiment, klassifisering, anbefaling -- skader det. Modellen laerer at [REDACTED] er et spesialt token. Den kan ikke laere fra den naturlige distribusjonen av navn og verdier.

Erstatt bytter "John Smith" med "David Chen." Det bytter "jsmith@company.com" med "dchen@synthetic.com." Strukturen forblir intakt. Enhetsplassering, samforekomstmonstre, setningsflyten -- alt bevart. Modellen laerer fra realistisk kontekst.

For ML-treningssett er Erstatt det riktige valget. Modellen laerer ikke de falske verdiene. Den laerer monstrene rundt dem. Det er det som betyr noe.

Schrems II og Grenseoverskridende Overforing

Schrems II-kjennelsen (CJEU, 2020) ugyldiggjorde EU-USA Privacy Shield. EU-opprinnede poster kan ikke ga til amerikansk ML-infrastruktur -- AWS US-East, GCP US-Central -- uten ordentlige overforingssikkerhetstiltak.

De tre hovedtiltakene er:

  • Standardkontraktvilkar med en overforingskonsekvensanalyse
  • Bindende foretaksregler for overforing innen en konserngruppe
  • Unntak for anonymiserte poster -- riktig anonymiserte filer er ikke lenger personlige under GDPR og er unntatt fra overforingsregler

For team som bruker amerikansk infrastruktur med EU-opprinnede sett, fjerner riktig anonymisering Schrems II-problemet. Det rene datasettet er ikke personlig. Det kan flyttes fritt.

Dette er en av de sterkeste praktiske fordelene med batchanonymisering. Det gjor mer enn a tilfredsstille GDPR. Det fjerner grenseoverskridende friksjon fullstendig.

For mer om overforingsbegrensninger, se GDPR-formalsguiden.

Hva DPO-en Skal Ha

Nar du sender inn et rent treningssett for DPO-godkjenning, inkluder disse fem elementene:

  1. Kildebeskrivelse. Hva var det opprinnelige datasettet? Hva var innsamlingsformalet? Hvilke personlige kategorier inneholdt det?
  2. Anonymiseringskonfigurasjon. Hvilke enhetstyper ble oppdaget og erstattet? Hvilken metode ble brukt?
  3. Behandlingsmetadata. Enhetstelling per post, konfidensscorer, totale behandlede poster.
  4. Restirisikovesevaluering. Hva er sjansen for at noen person kan re-identifiseres? For Erstatt-metode anonymisering med 285+ enhetstyper pa strukturert tekst er denne sannsynligheten svart lav.
  5. Tiltenkt bruk. Hvilken modell skal trenes? Hva er treningsformalet?

Batchbehandling gir element 2 og 3 automatisk. Element 1, 4 og 5 kommer fra dataviteren.

Se anonym.legal batch-API-et for hvordan behandlingsmetadata returneres med hvert jobb.

Hva Du Vinner

GDPR-kompatible ML-sett er oppnarbare uten tilpassede skript, uten forsinkelser pa flere dager og uten a miste modellkvalitet.

Erstatt-metoden beholder de naturlige sprakegenenskapene som betyr noe for NLP-trening. Den fjerner de personlige detaljene som skaper GDPR-risiko.

45 minutter med batchbehandling er forskjellen mellom en forsinket samsvarsgjennomgang og en enkel DPO-godkjenning.

Kilder

Klar til å beskytte dataene dine?

Begynn å anonymisere PII med 285+ enhetstyper på 48 språk.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.