By · Last updated 2026-04-03

Kembali ke BlogTeknis

Beban Positif Palsu pada Alat Deteksi PII

Diskusi GitHub Presidio #1071 mendokumentasikan positif palsu yang sistematis. Studi tahun 2024 menemukan presisi 22,7% pada dataset enterprise multibahasa.

April 3, 20268 menit baca
false positive ratePresidio precisionPII detection accuracyscore threshold configurationhybrid detection

Beban Positif Palsu pada Alat Deteksi PII

Diperbarui untuk 2026

Sebagian besar alat PII dinilai berdasarkan recall — seberapa banyak PII nyata yang berhasil ditemukan. Namun presisi sama pentingnya. Presisi mengukur berapa bagian dari peringatan yang dihasilkan alat yang benar-benar merupakan PII.

Presisi yang rendah itu mahal. Sistem dengan recall 95% dan presisi 22,7% memang menangkap sebagian besar PII. Namun untuk setiap entitas PII nyata yang ditandai, sistem juga menghasilkan 3,4 peringatan yang salah. Dalam dataset dengan 10.000 entitas PII nyata, sistem ini memicu sekitar 44.000 peringatan — sekitar 34.000 di antaranya keliru. Setiap peringatan membutuhkan waktu untuk ditinjau atau menyebabkan redaksi berlebihan.

Inilah yang disebut beban positif palsu — overhead yang harus ditanggung oleh tim mana pun saat menjalankan sistem PII recall-tinggi tapi presisi-rendah dalam skala besar. Biaya langsung adalah waktu peninjau. Biaya tidak langsung bahkan lebih besar: dokumen yang terlalu banyak diredaksi menyembunyikan data berguna, memperlambat pekerjaan, dan mengikis kepercayaan terhadap alat tersebut.

Apa yang Ditunjukkan Diskusi Presidio #1071

Diskusi GitHub Microsoft Presidio #1071 (2024) mencatat pola tertentu. Pengenal TFN (Tax File Number) dan PCI menggunakan validasi checksum. Nomor yang lolos checksum mendapatkan skor 1,0 — kepercayaan tertinggi — tanpa memerlukan konteks PII.

Akar masalahnya: pemeriksaan kata konteks berjalan setelah langkah checksum, bukan sebelumnya. Nomor yang lolos checksum mendapatkan skor tertinggi terlepas dari teks di sekitarnya. Dalam spreadsheet keuangan, dataset ilmiah, atau file log, hal ini membanjiri output dengan peringatan yang salah. Pemfilteran ambang batas skor tidak dapat memperbaikinya karena skor sudah berada di level maksimum.

Pola kedua muncul dalam isu Presidio #999. Segmentasi kata bahasa Jerman rusak untuk kata majemuk. Kata seperti Bundesbehörde (otoritas federal) bisa dipotong secara salah dan ditandai sebagai nama orang. Ini menambah noise dalam dokumen berbahasa Jerman.

Masalah Presisi 22,7%

Alvaro dkk. (2024) menguji Presidio pada dataset enterprise multibahasa. Mereka menemukan presisi 22,7%. Pada dokumen nyata, kurang dari satu dari empat peringatan Presidio adalah entitas PII nyata. Ini sesuai dengan laporan para praktisi. Alat yang hanya dioptimalkan untuk recall menghasilkan terlalu banyak noise untuk digunakan dalam produksi.

Studi DICOM tahun 2024 menunjukkan bahwa menaikkan score_threshold ke 0,7 masih menyisakan peringatan yang salah pada 38 dari 39 citra medis. Ambang batas yang membersihkan noise pada satu jenis dokumen menciptakan deteksi yang terlewat pada jenis lainnya.

Ini bukan masalah eksklusif Presidio. Ambang batas tetap apa pun memaksa trade-off: ambang tinggi memotong noise tapi meningkatkan kesalahan lewat. Ambang rendah meningkatkan recall tapi mengembungkan jumlah peringatan.

Penilaian Skor Berbasis Konteks

Solusinya adalah penilaian kepercayaan yang mempertimbangkan konteks. Alih-alih memberi skor berdasarkan pencocokan pola saja, sistem meningkatkan kepercayaan saat kata-kata konteks muncul di dekat kecocokan dan menurunkan skor saat konteks tidak ada.

Untuk deteksi TFN: kata-kata seperti "tax file number," "TFN," atau "Australian tax" di dekat sebuah angka meningkatkan skornya. Angka yang lolos checksum tapi tidak memiliki kata konteks di dekatnya mendapat skor di bawah ambang batas tinjau. Peringatan palsu tersebut ditekan.

Untuk noise lintas bahasa: tipe entitas yang terkait dengan negara tertentu dapat dibatasi cakupannya pada dokumen dalam bahasa yang sesuai. Detektor TFN yang dibatasi pada bahasa Inggris dan Inggris Australia menghilangkan noise. Menjalankannya pada konten berbahasa Jerman tanpa pembatasan ini adalah sumber masalahnya.

Lapisan ketiga dalam sistem hibrida adalah model transformer yang membaca seluruh jendela konteks di sekitar setiap kandidat. Model ini membedakan "John Smith, ID Pasien 12345" dari kode produk yang kebetulan cocok dengan pola nama. Konteks menyelesaikan ambiguitas yang tidak bisa ditangani regex maupun checksum.

Lihat cara mesin deteksi tiga tingkat menangani presisi dalam skala besar. Panduan deteksi PII multibahasa menjelaskan bagaimana noise lintas bahasa memengaruhi kepatuhan GDPR.

Langkah Praktis

Sebelum menerapkan alat PII apa pun, ukur preisisinya — bukan hanya recallnya.

Jalankan alat pada sekumpulan dokumen dengan PII yang diketahui dan non-PII yang diketahui. Hitung peringatan di kedua kelompok. Hitung true_positives / (true_positives + false_positives). Angka ini mengungkapkan beban tinjau sebelum Anda berkomitmen pada peluncuran.

Bagi tim yang sudah menggunakan Presidio, analisis distribusi skor adalah jalur cepat. Ekspor sampel deteksi beserta skor kepercayaannya. Hitung berapa banyak yang memiliki skor di bawah 0,6, 0,7, dan 0,8. Proporsi peringatan berskor tinggi dalam teks bersih menandakan kesenjangan konteks, bukan masalah ambang batas. Ikhtisar kepatuhan keamanan menjelaskan cara mendokumentasikan ini dalam sebuah DPIA.

Sumber

Siap untuk melindungi data Anda?

Mulai anonimisasi PII dengan 285+ jenis entitas 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.