By · Last updated 2026-05-27

Zpět na blogTechnické

Anonymizace trénovacích dat ML v souladu s GDPR

GDPR omezuje použití osobních údajů pro trénování ML modelů nad rámec původního účelu jejich sběru. Datové týmy spoléhající na ad-hoc skripty čelí závažným rizikům.

May 27, 20267 min čtení
ML training dataGDPR data scienceSchrems IItraining dataset anonymizationresponsible AI

Jeden skript nestačí

Každý datový tým napsal někdy něco podobného:

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

Tento kód nahradí e-mailové adresy. To je vše, co dělá. Dataset stále obsahuje jména, telefonní čísla a zdravotní identifikátory. Při auditu GDPR neuspěje.

Mezera mezi větou „anonymizoval jsem e-maily” a „tento dataset splňuje požadavky GDPR” je obrovská. Týmy ji neustále podceňují.

Proč GDPR omezuje použití dat pro trénování ML

Základním pravidlem je článek 5 odst. 1 písm. b) GDPR — princip omezení účelu. Osobní záznamy smí být použity pouze k účelu, pro který byly shromážděny.

Objednávky zákazníků byly shromážděny za účelem splnění objednávky. Ne pro trénování doporučovacího modelu. Zdravotní záznamy byly shromážděny za účelem léčby. Ne pro trénování modelu predikce opakované hospitalizace. Odpovědi v průzkumech byly shromážděny za účelem zpětné vazby k produktu. Ne pro trénování klasifikátoru sentimentu.

Pro použití těchto záznamů k trénování ML potřebuje tým jednu ze tří věcí:

  1. Výslovný souhlas každé osoby s ML účelem — obtížně získatelný, zpětně často nemožný
  2. Posouzení oprávněného zájmu prokazující kompatibilitu ML použití — právně nejisté, závislé na DPA
  3. Anonymizaci — nahrazení nebo odstranění osobních údajů tak, aby dataset nadále nespadal pod GDPR

Řádná anonymizace poskytuje největší právní jistotu. Výzvou je provádět ji správně pokaždé.

Problém s jednorázovými skripty

Týmy, které píší nový Python skript pro každý dataset, vytvářejí narůstající problémy.

Neúplné pokrytí. Skript postavený pro jedno schéma přehlédne nová pole. Sloupec s klinickými poznámkami přidaný před šesti měsíci? Není ve vzorci. Pole pro druhé jméno? Skript zvládá pouze vzory pro křestní jméno a příjmení.

Nekonzistence. Dataset A byl zpracován skriptem verze 1. Dataset B použil verzi 3. Dataset C zpracoval jiný člen týmu. Sloučená trénovací sada má aplikovány tři různé metody. DPO ji nemůže certifikovat.

Žádný auditní záznam. Skript proběhl. Co změnil? Které entity byly nalezeny? Bez záznamů o zpracování není compliance možná. Když auditor DPA položí otázku „jak víte, že tato trénovací sada je čistá?”, odpověď „spustili jsme Python skript” nestačí.

Zastarávání modelu. Vzorce regulárních výrazů, které fungovaly v roce 2023, přehlédnou nové formáty identifikátorů z roku 2024. Skripty se samy neaktualizují.

Průvodce dávkovým zpracováním

Healthcare AI tým potřebuje anonymizovat 8 000 záznamů pacientů. Americký tým potřebuje přístup z evropské kanceláře. Platí Schrems II — záznamy původem z EU nemohou bez řádných záruk přejít na americkou infrastrukturu.

Tradiční postup: Datový inženýr napíše vlastní skript. Dva až tři dny vývoje. Jeden až dva dny přezkoumání DPO. Jeden den iterace. Celkem: čtyři až šest dní. ML projekt se zpozdí.

Postup dávkového zpracování:

  1. Export 8 000 záznamů jako CSV
  2. Nahrání do dávkového zpracování
  3. Nastavení typů entit: PERSON, EMAIL_ADDRESS, PHONE_NUMBER, US_SSN, MEDICAL_RECORD, DATE_OF_BIRTH, LOCATION
  4. Volba metody: Replace (nahrazuje realistickými syntetickými hodnotami pro zachování struktury)
  5. Zpracování: 45 minut pro 8 000 záznamů
  6. Stažení čistého CSV souboru
  7. DPO přezkoumá metadata zpracování — počty entit na záznam, použité metody: 2 hodiny
  8. DPO schválí. Přenos proběhne.

Celkový čas: 45 minut plus 2 hodiny přezkoumání DPO. Místo čtyř až šesti dní.

Viz průvodce trénovacími daty pro EU AI Act a jak tytéž kroky splňují povinnosti podle článku 10.

Replace vs. Redact pro použití v ML

Metoda anonymizace má vliv na kvalitu modelu.

Redact nahradí PII tokenem jako [REDACTED]. Funguje pro modely detekce PII. Pro jiné úlohy — sentiment, klasifikaci, doporučování — škodí. Model se naučí, že [REDACTED] je speciální token. Nemůže se učit z přirozeného rozložení jmen a hodnot.

Replace zamění „Jan Novák” za „David Chen.” Zamění „jnovak@spolecnost.cz” za „dchen@synthetic.com.” Struktura zůstane zachována. Umístění entit, vzorce souvýskytů, tok vět — to vše je zachováno. Model se učí z realistického kontextu.

Pro trénovací sady ML je Replace správnou volbou. Model se nenaučí falešné hodnoty. Učí se vzorce kolem nich. To je podstatné.

Schrems II a přeshraniční přenosy

Rozsudek Schrems II (SDEU, 2020) zrušil platnost EU–US Privacy Shield. Záznamy původem z EU nemohou přejít na americkou ML infrastrukturu — AWS US-East, GCP US-Central — bez řádných záruk pro přenos.

Tři hlavní záruky jsou:

  • Standardní smluvní doložky s posouzením dopadu přenosu
  • Závazná podniková pravidla pro přenosy v rámci skupiny společností
  • Výjimka pro anonymizované záznamy — řádně anonymizované soubory již nejsou osobními údaji podle GDPR a jsou vyjmuty z pravidel pro přenosy

Pro týmy používající americkou infrastrukturu se soubory původem z EU řádná anonymizace problém Schrems II odstraní. Čistý dataset není osobní. Může volně přecházet.

To je jedna z nejsilnějších praktických výhod dávkové anonymizace. Jde nad rámec splnění GDPR. Zcela odstraňuje přeshraniční tření.

Další informace o omezeních přenosů viz průvodce účelovým omezením GDPR.

Co předat DPO

Při předkládání čisté trénovací sady ke schválení DPO přiložte těchto pět položek:

  1. Popis zdroje. Co byl původní dataset? Jaký byl účel sběru? Jaké osobní kategorie obsahoval?
  2. Konfigurace anonymizace. Které typy entit byly detekovány a nahrazeny? Jaká metoda byla použita?
  3. Metadata zpracování. Počty entit na záznam, skóre spolehlivosti, celkový počet zpracovaných záznamů.
  4. Posouzení reziduálního rizika. Jaká je pravděpodobnost, že by bylo možné identifikovat konkrétní osobu? U anonymizace metodou Replace s 285+ typy entit na strukturovaný text je tato pravděpodobnost velmi nízká.
  5. Zamýšlené použití. Jaký model bude trénován? Jaký je účel trénování?

Dávkové zpracování automaticky poskytuje položky 2 a 3. Položky 1, 4 a 5 dodá datový vědec.

Viz dávkové API anonym.legal, jak jsou metadata zpracování vrácena s každou úlohou.

Co získáte

Sady ML splňující GDPR jsou dosažitelné bez vlastních skriptů, bez vícedenních prodlev a bez ztráty kvality modelu.

Metoda Replace zachovává vlastnosti přirozeného jazyka důležité pro trénování NLP. Odstraňuje osobní údaje, které vytvářejí riziko porušení GDPR.

45 minut dávkového zpracování je rozdílem mezi zpožděným compliance přezkoumáním a přímočarým schválením DPO.

Zdroje

Připraveni chránit svá data?

Začněte anonymizovat PII s více než 285 typy entit ve 48 jazycích.

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.