By · Last updated 2026-05-27

Atgal į BlogąTechninė

BDAR ir ML mokymo duomenu anonimizavimas

BDAR riboja asmens duomenu naudojima ML mokymui, jei tai nebuvo pirminis rinkimo tikslas. Duomenu mokslininkai, kurie remiasi ad hoc Python skriptais, sukuria rimtas atitikties spragas.

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

Vieno skriptu nepakanka

Kiekviena duomenu mokslo komanda yra parasciusi kaz ka panasaus:

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

Sis kodas pakeicia el. pasto adresus. Tai viskas, ka jis daro. Duomenu rinkinyje vis dar lieka vardai, telefono numeriai ir medicinos identifikatoriai. Jis vis tiek nepraeis BDAR audito.

Atstumas tarp "el. pastus anonimizavau" ir "sis duomenu rinkinys atitinka BDAR" yra didelis. Komandos tai nuolat neisvertina.

Kodel BDAR riboja ML mokyma

BDAR 5 straipsnio 1 dalies b punktas yra pagrindine taisykle. Ji vadinama tikslų apribojimo principu. Asmens duomenys gali buti naudojami tik tam tikslui, kuriam jie buvo surinkti.

Klientu uzsakymai buvo surinkti uzsakymu vykdymui. Ne rekomendacijos modelio mokymui. Sveikatos duomenys buvo surinkti gydymui. Ne readmisijos modelio mokymui. Apklausu atsakymai buvo surinkti produkto atsiliepimams. Ne nuotaiku klasifikatoriaus mokymui.

Norint tuos duomenis naudoti ML mokymui, komandai reikia vieno is triju dalykų:

  1. Kiekvieno asmens aiškus sutikimas ML tikslui - sudetinga gauti, dažnai neįmanoma retroaktyviai
  2. Teisetu interesu ivertinimas, rodantis, kad ML naudojimas yra suderinamas - teisiškai neaišku, priklauso nuo DPA
  3. Anonimizavimas - asmeniniu duomenu pakeitimas ar pasalinimas, kad duomenu rinkinys nebelaikytusi asmeniniu pagal BDAR

Tinkamas anonimizavimas suteikia didžiausia teisini tikruma. Issukis - daryti tai teisingai kaskart.

Problemos su vienkartiniais skriptais

Komandos, kiekvieno duomenu rinkinio apdorojimui raksucios nauja Python skriptu, sukuria kaupiamas problemas.

Nepilna apreptis. Skriptas, sukurtas vienai schemai, praleidzia naujus laukus. Klinikininiu pastabų stulpelis, pridetas pries šešis menesiusius? Nera regexyje. Viduriniosios vardo laukas? Skriptas apdoroja tik pirmo ir pavardžiu modelius.

Jokio nuoseklumo. A duomenu rinkinys buvo apdorotas su script_v1. B rinkinys naudojo script_v3. C rinkinį apdorojo kitas komandos narys. Sujungtame mokymo rinkinyje taikomi trys skirtingi metodai. DPO negali jo sertifikuoti.

Jokio audito takelio. Skriptas paleistas. Ka jis pakete? Kokios esybes buvo rastos? Be apdorojimo irasu, atitiktis yra neįmanoma. Kai DPA auditorius klausia "kaip žinote, kad sis mokymo rinkinys yra švarus?", atsakymas "paleidom Python skriptu" yra nepakankamas.

Modelio dreifas. Regexy modeliai, veike 2023 m., nepagauna nauju identifikatoriaus formatu is 2024 m. Skriptai patys savęs neatnaujina.

Partijos apdorojimo žingsniu apžvalga

Sveikatos prieziuros DI komanda turi anonimizuoti 8 000 pacientu irasu. JAV komandai reikia prieigos iš ES biuro. Taikomas Schrems II - ES kilmes irasai negali keliauti i JAV infrastruktura be tinkamų apsaugų.

Tradicinis kelias: Duomenu inžinierius raso pasirinktini skriptu. Dvi iki trys kūrimo dienos. Viena iki dvi DPO peržiuros dienos. Viena iteracijos diena. Iš viso: keturios iki šešios dienos. ML projektas vėluoja.

Partijos apdorojimo kelias:

  1. Eksportuoti 8 000 irasu kaip CSV
  2. Isikelti i partijos apdorojima
  3. Nustatyti esybių tipus: PERSON, EMAIL_ADDRESS, PHONE_NUMBER, US_SSN, MEDICAL_RECORD, DATE_OF_BIRTH, LOCATION
  4. Pasirinkti metoda: Replace (pakeicia realistinemis sintetinemis reikstemis, issaugant struktura)
  5. Apdoroti: 45 minutes 8 000 irasu
  6. Atsisiusti svaria CSV
  7. DPO peržiuri apdorojimo metaduomenis - rasta esybiu kiekis kiekvienam irasui, taikyti metodai: 2 valandos
  8. DPO patvirtina. Perkėlimas vyksta.

Bendras laikas: 45 minutės ir 2 valandos DPO peržiuros. Vietoj keturių iki šešių dienų.

Daugiau apie tai, kaip šie patys žingsniai tenkina ES DI akto 10 straipsnio reikalavimus, žr. ES DI akto mokymo vadove.

Replace vs. Redact ML naudojimui

Anonimizavimo metodas turi itakos modelio kokybei.

Redact pakeicia ADA žetonu kaip [REDACTED]. Tai tinka ADA aptikimo modeliams. Kitoms uzduotims - nuotaiku analizei, klasifikavimui, rekomendavimui - tai kenksmingas. Modelis isimoksta, kad [REDACTED] yra ypatingas žetonas. Jis negali mokytis is natūralaus vardų ir reiksminiu pasiskirstymo.

Replace pakeicia "Jonas Jonaitis" i "Petras Petraitis". Pakeicia "jjonaitis@imone.lt" i "ppetraitis@sintetinis.com". Struktura issaugoma. Esybiu vieta, sambuvio modeliai, sakinio tekejimas - visa tai issaugoma. Modelis mokosi is realistinio konteksto.

ML mokymo rinkiniams Replace yra teisingas pasirinkimas. Modelis neisimoksta netikrų reiksminiu. Jis isimoksta modelius aplink jas. Tai yra svarbu.

Schrems II ir tarpvalstybiniai perduodimai

Schrems II sprendimas (ESTT, 2020) panaikino ES ir JAV privatumo skydu. ES kilmes irasai negali patekti i JAV ML infrastruktura - AWS US-East, GCP US-Central - be tinkamų perdavimo apsaugų.

Trys pagrindiniai apsaugos mechanizmai:

  • Standartines sutarciniu salygos su perdavimo poveikio vertinimu
  • Privalomos imoniu taisykles pervedimams imoniu grupeje
  • Anonimizuotu irasu isvadojimas - tinkamai anonimizuoti failai nebelaikomi asmeniniais pagal BDAR ir yra atleisti nuo perdavimo taisykliu

Komandoms, naudojanciosum JAV infrastruktura su ES kilmes rinkiniais, tinkamas anonimizavimas pasalina Schrems II problema. Svarius duomenu rinkinys nera asmeninis. Jis gali laisvai judeti.

Tai viena is stipriausių praktinių partijų anonimizavimo naudų. Jis ne tik tenkina BDAR, bet ir visiškai pasalina tarpvalstybinius trugdžius.

Daugiau apie perdavimo apribojimus žr. BDAR tikslų apribojimo vadove.

Ka pateikti DPO

Teikiant svaria mokymo rinkini DPO patvirtinimui, itraukite šiuos penkis elementus:

  1. Saltinio aprasas. Kas buvo originalus duomenu rinkinys? Koks buvo rinkimo tikslas? Kokias asmeniniu duomenu kategorijas jis apeme?
  2. Anonimizavimo konfiguracija. Kurie esybiu tipai buvo nustatyti ir pakeisti? Koks metodas buvo taikytas?
  3. Apdorojimo metaduomenys. Esybiu skaicius kiekvienam irasui, pasitikejimo balai, bendras apdorotų irasu skaicius.
  4. Likusios rizikos ivertinimas. Kokia tikimybe, kad bet kuris asmuo galetu buti identifikuotas is naujo? Replace metodo anonimizavimui su 285+ esybiu tipais struktūrizuotame tekste si tikimybe yra labai maža.
  5. Numatytas naudojimas. Koks modelis bus mokomas? Koks mokymo tikslas?

Partijos apdorojimas automatiškai pateikia 2 ir 3 punktus. 1, 4 ir 5 punktai ateina is duomenu mokslininko.

Daugiau apie tai, kaip apdorojimo metaduomenys grazinami su kiekviena uzduotimi, žr. anonym.legal partijų API.

Ka gausite

BDAR atitinkantys ML rinkiniai yra pasiekiami be pasirinktinių skriptų, be kelių dienų vėlavimu ir neprarandant modelio kokybės.

Replace metodas issaugo natūralias kalbos savybes, svarbias NLP mokymui. Jis pasalina asmeninius duomenis, kurie kuria BDAR rizika.

45 minutės partijų apdorojimo yra skirtumas tarp vėluojančio atitikties peržiuros ir tiesioginiu DPO patvirtinimo.

Šaltiniai

Pasiruošę apsaugoti savo duomenis?

Pradėkite anonimizuoti PII su 285+ subjektų tipais 48 kalbomis.

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.