By · Last updated 2026-04-03

Takaisin BlogiinTekninen

Väärien positiivisten vero PII-tunnistustyökaluissa

Presidio GitHub-ongelma #1071 dokumentoi järjestelmällisiä vääriä positiivisia. Vuoden 2024 tutkimus löysi 22,7 %:n tarkkuuden sekakielisissä yritysdataseteissä.

April 3, 20268 min lukuaika
false positive ratePresidio precisionPII detection accuracyscore threshold configurationhybrid detection

Väärien positiivisten vero PII-tunnistustyökaluissa

Päivitetty vuodelle 2026

Useimpia PII-työkaluja arvioidaan muistikyvyn perusteella. Muistikyky mittaa, kuinka suuren osan todellisesta PII:stä työkalu löytää. Tarkkuus on kuitenkin yhtä tärkeää. Tarkkuus mittaa, kuinka suuri osa työkalun hälytyksistä on todellista PII:tä.

Alhainen tarkkuus on kallista. Järjestelmä, jolla on 95 %:n muistikyky ja 22,7 %:n tarkkuus, löytää suurimman osan PII:stä. Silti jokaista todellista PII-entiteettiä kohti se tuottaa myös 3,4 väärää hälytystä. Aineistossa, jossa on 10 000 todellista PII-entiteettiä, tämä järjestelmä laukaisee noin 44 000 hälytystä. Noin 34 000 niistä on vääriä. Jokainen maksaa tarkistusaikaa tai aiheuttaa liiallista peittämistä.

Tämä on väärien positiivisten vero. Se on yleiskustannus, jonka jokainen tiimi maksaa pyörittäessään korkean muistikyvyn, alhaisen tarkkuuden PII-järjestelmää suuressa mittakaavassa. Suorat kustannukset ovat tarkastajan aika. Epäsuorat kustannukset ovat pahempia: liiaksi peitetyt asiakirjat piilottavat hyödyllistä dataa, hidastavat työtä ja nakertavat luottamusta työkaluun.

Mitä Presidio-ongelma #1071 osoittaa

Microsoft Presidio GitHub -keskustelu #1071 (2024) dokumentoi tietyn kaavan. TFN (Tax File Number)- ja PCI-tunnistimet käyttävät tarkistussumman vahvistusta. Tarkistussumman läpäisseet numerot saavat pisteet 1,0 — maksimiluottamus. PII-kontekstia ei vaadita.

Juurisyy: kontekstisanojen tarkistus suoritetaan tarkistussumman jälkeen, ei ennen. Tarkistussumman läpäissyt numero saa korkeimman pisteet riippumatta ympäröivästä tekstistä. Taloudellisissa laskentataulukoissa, tieteellisissä aineistoissa tai lokitiedostoissa tämä tulvii tuloksen väärillä hälytyksillä. Pistemääräkynnyksen suodatus ei voi korjata sitä. Pisteet ovat jo maksimissaan.

Toinen kaava näkyy Presidio-ongelmassa #999. Saksan sanaluokittelu hajoaa yhdyssanoille. Sanat kuten Bundesbehörde (liittovaltioviranomainen) voidaan jakaa väärin ja merkitä henkilönnimiksi. Tämä lisää melua missä tahansa saksankielisessä asiakirjassa.

22,7 %:n tarkkuusongelma

Alvaro ym. (2024) testasivat Presidiota sekakielisissä yritysaineistoissa. He löysivät 22,7 %:n tarkkuuden. Todellisissa asiakirjoissa alle yksi neljästä Presidio-hälytyksestä on todellinen PII-entiteetti. Tämä vastaa ammatinharjoittajien raportoimaa. Pelkästään muistikykyyn viritetty työkalu tuottaa liikaa melua tuotantokäyttöön.

Vuoden 2024 DICOM-tutkimus osoitti, että score_threshold-arvon nostaminen 0,7:ään jätti silti vääriä hälytyksiä 38:aan 39 lääketieteellisestä kuvasta. Kynnys, joka poistaa melun yhdestä asiakirjatyypistä, luo puuttumisia toisessa.

Tämä ei ole pelkästään Presidio-ongelma. Mikä tahansa kiinteä kynnys pakottaa vaihtokauppaan. Korkea kynnys vähentää melua mutta lisää ohituksia. Matala kynnys parantaa muistikykyä mutta kasvattaa hälytysmäärää.

Kontekstitietoinen pisteytys

Korjaus on kontekstitietoinen luottamuspisteytys. Sen sijaan, että pisteytys perustuu pelkästään kaavaosumaan, järjestelmä nostaa luottamusta, kun kontekstisanoja esiintyy osuman lähellä. Se myös laskee pisteitä, kun konteksti puuttuu.

TFN-tunnistuksessa: sanat kuten "tax file number", "TFN" tai "Australian tax" numeron lähellä nostavat sen pisteitä. Numero, joka läpäisee tarkistussumman mutta jolla ei ole läheisiä kontekstisanoja, saa pisteet alle tarkistuskynnyksen. Turha hälytys estetään.

Monikieliselle melulle: maakohtaisiin entiteettityyppeihin sidotut tunnistimet voidaan rajata vastaavan kielen asiakirjoihin. TFN-tunnistin, joka on rajattu englanninkieliseen ja australianenglantilaiseen tekstiin, poistaa melun. Sen ajaminen saksankielisessä sisällössä ilman rajausta on ongelman lähde.

Hybridijärjestelmän kolmas kerros on transformer-malli. Se lukee täyden konteksti-ikkunan jokaisen ehdokkaan ympäriltä. Se erottaa "John Smith, Patient ID 12345" tuotekoodista, joka vastaa nimikaavaa. Konteksti ratkaisee moniselitteisyyden, johon regex ja tarkistussummat eivät pysty.

Katso, miten kolmikerroksinen tunnistusmoottori käsittelee tarkkuutta suuressa mittakaavassa. Monikielinen PII-tunnistusopas kattaa, miten monikielinen melu vaikuttaa GDPR-vaatimustenmukaisuuteen.

Käytännön toimenpiteet

Ennen minkään PII-työkalun käyttöönottoa, mittaa sen tarkkuus — ei pelkästään muistikykyä.

Aja työkalu asiakirjasarjaan, jossa on tunnettua PII:tä ja tunnettua ei-PII:tä. Laske hälytykset molemmissa ryhmissä. Laske true_positives / (true_positives + false_positives). Tämä luku paljastaa tarkistusrasitteen ennen kuin sitoudut käyttöönottoon.

Jo Presidiota käyttäville tiimeille pisteiden jakauma-analyysi on nopea polku. Vie otos tunnistuksista luottamuspisteineen. Laske, kuinka moni saa alle 0,6, 0,7 ja 0,8 pistettä. Suuri osuus korkean pistemäärän hälytyksiä puhtaassa tekstissä viittaa kontekstiaukkoon, ei kynnysongelmaan. Turvallisuusvaatimustenmukaisuusyhteenveto selittää, miten tämä dokumentoidaan DPIA:ssa.

Lähteet

Valmiina suojaamaan tietojasi?

Aloita PII-anonymisointi yli 285 entiteettityypillä 48 kielellä.

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.