anonym.legal

By · Last updated 2026-04-03

Назад към блогаТехнически

Данъкът от фалшиви позитиви при PII инструментите

GitHub issue #1071 на Presidio документира систематични фалшиви позитиви. Проучване от 2024 г. установи 22,7% точност в многоезични корпоративни набори от данни.

April 3, 20268 мин. четене
false positive ratePresidio precisionPII detection accuracyscore threshold configurationhybrid detection

Данъкът от фалшиви позитиви при PII инструментите

Актуализирано за 2026 г.

Повечето PII инструменти се оценяват по recall. Recall измерва какъв дял от реалния PII инструментът открива. Но точността (precision) е също толкова важна. Precision измерва какъв дял от сигналите на инструмента са реален PII.

Ниската точност е скъпа. Система с 95% recall и 22,7% precision улавя повечето PII. Но за всеки реален PII субект, който маркира, тя генерира и 3,4 грешни сигнала. В набор от данни с 10 000 реални PII субекта тази система задейства около 44 000 сигнала. Около 34 000 от тях са грешни. Всеки един струва време за преглед или причинява прекомерна редакция.

Това е данъкът от фалшиви позитиви. Той представлява режийните разходи, които всеки екип плаща, когато използва в мащаб PII система с висок recall и ниска precision. Директният разход е времето на рецензентите. Косвеният разход е по-сериозен: прекомерно редактираните документи скриват полезни данни, забавят работата и подкопават доверието в инструмента.

Какво показва Presidio Issue #1071

Обсъждането в Microsoft Presidio GitHub #1071 (2024 г.) документира конкретен модел. Разпознавателите за TFN (данъчен файлов номер) и PCI използват валидиране на контролна сума. Числата, преминаващи контролната сума, получават оценка 1,0 - максимална достоверност. Контекст за PII не се изисква.

Коренната причина: проверката на контекстните думи се изпълнява след стъпката за контролна сума, а не преди нея. Число, преминаващо контролната сума, получава максимална оценка независимо от заобикалящия текст. Във финансови таблици, научни набори от данни или лог файлове това залива изхода с грешни сигнали. Филтрирането по праг на оценка не може да го поправи. Оценките вече са на максимум.

Втори модел се наблюдава в Presidio issue #999. Германската сегментация на думи се проваля при съставни съществителни. Думи като Bundesbehorde (федерален орган) могат да бъдат разделени неправилно и маркирани като лични имена. Това добавя шум в документи на германски език.

Проблемът с 22,7% precision

Alvaro et al. (2024 г.) тестваха Presidio върху многоезични корпоративни набори от данни. Те установиха 22,7% precision. В реални документи по-малко от един от четири сигнала на Presidio е реален PII субект. Това съответства на наблюденията на практикуващите специалисти. Инструмент, настроен само за recall, генерира твърде много шум за производствена употреба.

Проучване от 2024 г. за DICOM показа, че повишаването на score_threshold до 0,7 все още оставя грешни сигнали в 38 от 39 медицински изображения. Праг, изчистващ шума в един тип документ, създава пропуски в друг.

Това не е проблем, специфичен само за Presidio. Всеки фиксиран праг налага компромис. Висок праг намалява шума, но увеличава пропуските. Нисък праг увеличава recall, но надува броя на сигналите.

Оценяване, съобразено с контекста

Решението е оценяване на достоверност, съобразено с контекста. Вместо да оценява само въз основа на съвпадението на шаблона, системата повишава достоверността, когато контекстни думи се появят близо до съвпадението. Тя също така намалява оценката, когато контекстът липсва.

За детекция на TFN: думи като "данъчен файлов номер", "TFN" или "австралийски данък" близо до число повишават оценката му. Число, преминаващо контролната сума, но без близки контекстни думи, получава оценка под прага за преглед. Неоснователният сигнал е потиснат.

За крос-езиков шум: типовете субекти, обвързани с конкретни страни, могат да бъдат ограничени до документи на съответния език. Детектор за TFN, ограничен до английски и австралийски английски текст, премахва шума. Изпълнението му върху германско съдържание без ограничение е причината за проблема.

Третият слой в хибридна система е трансформерен модел. Той чете пълния контекстен прозорец около всеки кандидат. Разграничава "Иван Петров, Пациентски ID 12345" от продуктов код, съответстващ на шаблон на лично. Контекстът разрешава неяснотата, която regex и контролните суми не могат.

Вижте как тристепенният двигател за детекция обработва precision в мащаб. Ръководството за многоезична PII детекция обхваща как крос-езиковият шум влияе на съответствието с GDPR.

Практически стъпки

Преди да внедрите какъвто и да е PII инструмент, измерете неговата precision - не само recall.

Изпълнете инструмента върху набор от документи с известен PII и известен не-PII. Преброете сигналите в двете групи. Изчислете true_positives / (true_positives + false_positives). Това число разкрива тежестта на прегледа, преди да се ангажирате с внедряване.

За екипи, вече използващи Presidio, анализът на разпределението на оценките е бърз подход. Експортирайте извадка от детекции с техните оценки на достоверност. Преброете колко отбелязват под 0,6, 0,7 и 0,8. Голям дял от сигнали с висока оценка в чист текст сигнализира за пропуск в контекста, а не за проблем с прага. Прегледът на съответствието по сигурността обяснява как да го документирате в DPIA.

Източници

Готови ли сте да защитите данните си?

Започнете анонимизация на PII с 285+ типа субекти на 48 езика.

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.