By · Last updated 2026-05-27

Kembali ke BlogTeknikal

Anonimisasi Data Latihan ML yang Mematuhi GDPR

GDPR menyekat penggunaan data peribadi untuk latihan ML di luar tujuan pengumpulan asal. Saintis data yang bergantung pada skrip Python ad-hoc mencipta jurang pematuhan yang serius.

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

Satu Skrip Tidak Mencukupi

Setiap pasukan sains data pernah menulis sesuatu seperti ini:

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

Ini menggantikan alamat e-mel. Itu sahaja yang dilakukannya. Set data masih mengandungi nama, nombor telefon, dan ID perubatan. Ia tetap akan gagal audit GDPR.

Jurang antara "saya telah anonimisasi e-mel" dan "set data ini mematuhi GDPR" adalah besar. Pasukan selalu meremehkannya.

Mengapa GDPR Mengehadkan Penggunaan Latihan ML

Artikel 5(1)(b) GDPR adalah peraturan utama. Ia dipanggil prinsip pengehadan tujuan. Rekod peribadi hanya boleh digunakan untuk tujuan ia dikumpulkan.

Pesanan pelanggan dikumpulkan untuk pemenuhan pesanan. Bukan untuk melatih model cadangan. Rekod kesihatan dikumpulkan untuk rawatan. Bukan untuk melatih model kemasukan semula. Jawapan tinjauan dikumpulkan untuk maklum balas produk. Bukan untuk melatih pengkelasan sentimen.

Untuk menggunakan rekod tersebut bagi latihan ML, pasukan memerlukan salah satu daripada tiga perkara:

  1. Persetujuan eksplisit daripada setiap orang untuk tujuan ML — sukar diperoleh, sering mustahil secara retroaktif
  2. Penilaian kepentingan sah yang menunjukkan penggunaan ML adalah serasi — tidak pasti dari segi undang-undang, bergantung pada DPA
  3. Anonimisasi — menggantikan atau mengalih keluar butiran peribadi supaya set data tidak lagi bersifat peribadi di bawah GDPR

Anonimisasi yang betul memberikan kepastian undang-undang yang paling tinggi. Cabarannya adalah melakukannya dengan betul setiap masa.

Masalah dengan Skrip Sekali Pakai

Pasukan yang menulis skrip Python baharu untuk setiap set data mencipta masalah yang bertimbun.

Liputan tidak lengkap. Skrip yang dibina untuk satu skema terlepas medan baharu. Lajur nota klinikal yang ditambah enam bulan lalu? Tidak dalam regex. Medan nama tengah? Skrip hanya mengendalikan corak nama pertama dan akhir.

Tiada konsistensi. Set data A diproses dengan script_v1. Set data B menggunakan script_v3. Set data C diproses oleh ahli pasukan yang berbeza. Set latihan yang digabungkan mempunyai tiga kaedah berbeza yang diterapkan. DPO tidak dapat mengesahkannya.

Tiada jejak audit. Skrip telah berjalan. Apa yang diubahnya? Entiti mana yang ditemui? Tanpa rekod pemprosesan, pematuhan adalah mustahil. Apabila pengaudit DPA bertanya "bagaimana anda tahu set latihan ini bersih?", jawapan "kami menjalankan skrip Python" tidak mencukupi.

Hanyutan model. Corak regex yang berfungsi pada 2023 terlepas format pengecam baharu dari 2024. Skrip tidak mengemas kini dirinya sendiri.

Panduan Pemprosesan Kelompok

Pasukan AI penjagaan kesihatan perlu anonimisasi 8,000 rekod pesakit. Pasukan AS memerlukan akses dari pejabat EU. Schrems II terpakai — rekod asal EU tidak boleh pergi ke infrastruktur AS tanpa perlindungan yang betul.

Laluan tradisional: Jurutera data menulis skrip tersuai. Dua hingga tiga hari pembangunan. Satu hingga dua hari semakan DPO. Satu hari iterasi. Jumlah: empat hingga enam hari. Projek ML tertangguh.

Laluan pemprosesan kelompok:

  1. Eksport 8,000 rekod sebagai CSV
  2. Muat naik ke pemprosesan kelompok
  3. Tetapkan jenis entiti: PERSON, EMAIL_ADDRESS, PHONE_NUMBER, US_SSN, MEDICAL_RECORD, DATE_OF_BIRTH, LOCATION
  4. Pilih kaedah: Replace (menggantikan nilai sintetik yang realistik untuk mengekalkan struktur)
  5. Proses: 45 minit untuk 8,000 rekod
  6. Muat turun CSV yang bersih
  7. DPO menyemak metadata pemprosesan — kiraan entiti setiap rekod, kaedah yang diterapkan: 2 jam
  8. DPO meluluskan. Pemindahan diteruskan.

Jumlah masa: 45 minit ditambah 2 jam semakan DPO. Berbanding empat hingga enam hari.

Lihat panduan latihan EU AI Act untuk cara langkah yang sama memenuhi kewajipan Artikel 10.

Replace vs. Redact untuk Penggunaan ML

Kaedah anonimisasi penting untuk kualiti model.

Redact menggantikan PII dengan token seperti [REDACTED]. Ini berfungsi untuk model pengesanan PII. Untuk tugas lain — sentimen, pengkelasan, cadangan — ia merosakkan. Model belajar bahawa [REDACTED] adalah token khas. Ia tidak dapat belajar daripada taburan semula jadi nama dan nilai.

Replace menukar "John Smith" kepada "David Chen." Ia menukar "jsmith@company.com" kepada "dchen@synthetic.com." Struktur kekal utuh. Penempatan entiti, corak ko-kejadian, aliran ayat — semuanya dipelihara. Model belajar daripada konteks yang realistik.

Untuk set latihan ML, Replace adalah pilihan yang tepat. Model tidak belajar nilai palsu. Ia belajar corak di sekelilingnya. Itulah yang penting.

Schrems II dan Pemindahan Rentas Sempadan

Kepumusan Schrems II (CJEU, 2020) membatalkan EU-US Privacy Shield. Rekod asal EU tidak boleh pergi ke infrastruktur ML AS — AWS US-East, GCP US-Central — tanpa perlindungan pemindahan yang betul.

Tiga perlindungan utama adalah:

  • Standard Contractual Clauses dengan Transfer Impact Assessment
  • Binding Corporate Rules untuk pemindahan dalam kumpulan syarikat
  • Pengecualian untuk rekod yang dianonimisasi — fail yang dianonimisasi dengan betul bukan lagi bersifat peribadi di bawah GDPR dan dikecualikan daripada peraturan pemindahan

Bagi pasukan yang menggunakan infrastruktur AS dengan set asal EU, anonimisasi yang betul menghapuskan masalah Schrems II. Set data yang bersih bukan lagi bersifat peribadi. Ia boleh bergerak dengan bebas.

Ini adalah salah satu manfaat praktikal terkuat daripada anonimisasi kelompok. Ia lebih daripada memenuhi GDPR. Ia menghapuskan geseran rentas sempadan sepenuhnya.

Untuk maklumat lanjut tentang sekatan pemindahan, lihat panduan pengehadan tujuan GDPR.

Apa yang Perlu Diberikan kepada DPO

Apabila menyerahkan set latihan yang bersih untuk kelulusan DPO, sertakan lima perkara ini:

  1. Penerangan sumber. Apakah set data asal? Apakah tujuan pengumpulan? Apakah kategori peribadi yang terkandung di dalamnya?
  2. Konfigurasi anonimisasi. Jenis entiti mana yang dikesan dan digantikan? Kaedah apa yang diterapkan?
  3. Metadata pemprosesan. Kiraan entiti setiap rekod, skor keyakinan, jumlah rekod yang diproses.
  4. Penilaian risiko residual. Apakah kemungkinan mana-mana individu boleh dikenal pasti semula? Untuk anonimisasi kaedah Replace dengan 285+ jenis entiti pada teks berstruktur, kebarangkalian ini sangat rendah.
  5. Penggunaan yang dimaksudkan. Model apa yang akan dilatih? Apakah tujuan latihan?

Pemprosesan kelompok menyediakan item 2 dan 3 secara automatik. Item 1, 4, dan 5 datang daripada saintis data.

Lihat anonym.legal batch API untuk cara metadata pemprosesan dikembalikan dengan setiap tugas.

Apa yang Anda Perolehi

Set ML yang mematuhi GDPR boleh dicapai tanpa skrip tersuai, tanpa kelewatan berbilang hari, dan tanpa kehilangan kualiti model.

Kaedah Replace mengekalkan sifat bahasa semula jadi yang penting untuk latihan NLP. Ia mengalih keluar butiran peribadi yang mencipta risiko GDPR.

45 minit pemprosesan kelompok adalah perbezaan antara semakan pematuhan yang tertangguh dan pengesahan DPO yang mudah.

Sumber

Sedia untuk melindungi data anda?

Mulakan pengenalan PII dengan 285+ jenis entiti dalam 48 bahasa.

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.