By · Last updated 2026-06-05

Atgal į BlogąGDPR ir Atitiktis

Savęs talpinamas PII nepavyksta atitikties auditams

spaCy 3.4.4 pateikia skirtingus NER rezultatus nei spaCy 3.5.1. Finansinių paslaugų įmonė atranda, kad 3 % dokumentų paruošiamojoje aplinkoje buvo anonimiškumo užtikrinti skirtingai nei gamyboje.

June 5, 20266 min skaityti
compliance auditenvironment consistencyspaCy versionsself-hosted PIIreproducible anonymization

Kodėl savęs talpinamos PII priemonės nepavyksta atitikties auditams

BDAR reikalauja įrodymų. Turite parodyti, kad PII šalinimas buvo atliekamas tuo pačiu būdu kiekvieną kartą. DPA auditoriai tai tikrina. Jie nori pamatyti aiškų, nuoseklų metodą, naudotą visiems duomenims.

Savęs talpinamas Presidio turi tikrą problemą čia. Tai nėra konfigūracijos klausimas. Tai yra pagrindinė savęs talpinamos NLP įrankių riba.

Kas yra aplinkos nukrypimas?

Savęs talpinamas Presidio veikia kūrimo, paruošiamojoje ir gamybos aplinkose. Kiekviena iš jų gali elgtis skirtingai. Taigi tas pats įvesties duomuo gali duoti skirtingus rezultatus kiekvienoje.

Tai vadinama aplinkos nukrypimu. Jis turi keturias pagrindines priežastis.

Modelio versijos nukrypimas

spaCy modeliai yra versijonuoti. Modeliai en_core_web_lg 3.4.4 ir en_core_web_lg 3.5.1 buvo apmokyti skirtingais duomenimis. Jie taip pat naudoja skirtingus dizainus. Taigi tas pats dokumentas gali duoti skirtingus NER rezultatus su kiekviena versija.

Įprasta sąranka atrodo taip:

  • Kūrimas: en_core_web_lg 3.4.4 -- įdiegtas projekto pradžioje
  • Paruošiamoji: en_core_web_lg 3.5.0 -- atnaujintas įprasto darbo metu
  • Gamyba: en_core_web_lg 3.5.1 -- atnaujintas saugos pataisymo metu

Tai trys sąrankos. Trys modelių versijos. Trys skirtingi aptikimo rezultatai. Testai praeina paruošiamojoje aplinkoje. Tačiau gamyba valdo kitą modelį. Taigi spraga lieka paslėpta.

Priklausomybės versijos nukrypimas

spaCy 3.4.x ir 3.5.x skiriasi tuo, kaip jie skaido sakinius. Tas pokytis veikia, kaip vardai randami sakinio pabaigose. Šie pokyčiai yra spaCy leidimo pastabose. Tačiau dauguma komandų jų netikrina dėl PII poveikio.

Konfigūracijos nukrypimas

Kūrime nustatyti balų slenksčiai gali nepersikelti į gamybą. Pasirinktiniai žodžių sąrašai taip pat gali skirtis tarp sąrankų. Šios spragos yra įprastos. Jos retai stebimos. Žr. mūsų BDAR atitikties vadovą apie tai, ko ieško auditoriai.

Aparatinės įrangos skirtumai

NLP modelių matematika nėra identiška visuose procesoriuose ir grafiniuose procesoriuose. Vartotojo nešiojamas kompiuteris ir serveris gali duoti šiek tiek skirtingus balų rezultatus. Taigi kai kurie vardai gali būti rasti vienoje mašinoje, bet ne kitoje.

Tikras audito radinys

Bankas išbandė savo savęs talpinamos Presidio sąranką.

Bandomoji sąranka: Presidio su spaCy 3.4.4 paruošiamojo klasterio aplinkoje. Tiesioginis naudojimas: Presidio su spaCy 3.5.1 gamybos klasterio aplinkoje.

Jie paleido tą patį dokumentų rinkinį per abu. Tada palygino rezultatus. Radinys: 3 % dokumentų turėjo skirtingus PII šalinimo rezultatus. Kai kurie vardai buvo rasti paruošiamojoje aplinkoje, bet ne gamyboje. Kai kurie turėjo skirtingus aptiktus teksto intervalus.

Audito radinys buvo tiesioginis: 'Įmonė negali parodyti nuoseklaus techninių PII šalinimo priemonių naudojimo dėl sąrankai specifinių skirtumų aptikimo išvestyje.'

BDAR 32 straipsnis reikalauja tinkamų techninių priemonių. EDPB taisyklės dėl PII šalinimo reikalauja nuoseklumo ir atkuriamumo. 3 % rodiklis per 100 000 dokumentų per mėnesį reiškia 3 000 dokumentų su nenuosekliais rezultatais kiekvieną mėnesį. Kai kurie yra klaidingai neigiami. PII, kurį paruošiamoji aplinka aptiktų, lieka tiesioginiame rezultate. Tai yra atitikties nesėkmė.

Bankas tada perėjo prie valdomos SaaS. Audito radinys buvo uždarytas. Žr. mūsų saugos ir atitikties puslapį apie tai, kaip valdomos sąrankos tvarko šią problemą.

Kodėl valdomos paslaugos yra kitokios

Valdoma paslauga valdo vieną variklio versiją. Visi vartotojai valdo tą pačią versiją tuo pačiu metu. Modelių atnaujinimai taikomi iš vienos vietos. Konfigūracija taip pat valdoma iš vienos vietos su pilnu keitimų žurnalu. Vartotojo aparatinė įranga neveikia rezultatų.

Taigi tas pats dokumentas, apdorotas šiandien, duoda tą patį rezultatą kitą mėnesį. Jei variklio versija pasikeitė, tas keitimas yra registruotas ir versijonuotas.

Audito sekos skirtumas yra esminis.

Savęs talpinamos audito seka:

  • 'Naudojamas Presidio 2.2.35 su spaCy en_core_web_lg 3.5.1 Ubuntu 22.04 aplinkoje.'
  • Ar tai buvo ta pati versija kaip paruošiamojoje aplinkoje? Nežinoma.
  • Ar modelis pasikeitė nuo to, kai šis dokumentas buvo apdorotas? Nežinoma, nebent buvo stebima.
  • Ar balų slenkstis toks pat kaip testavimo metu? Priklauso nuo konfigūracijos valdymo.

Valdoma paslauga audito seka:

  • 'Naudojamas anonym.legal API, variklio versija 4.22.1, 2025-03-15T14:22:31Z.'
  • Ta pati versija visiems vartotojams? Taip.
  • Ar ji pasikeitė? Variklio versijos yra fiksuotos. Versija 4.22.1 visada reiškia tą patį variklį.
  • Ar konfigūracija atkuriama? Taip. Išankstinio nustatymo ID yra registruotas. Konfigūracija toje versijoje gali būti gauta.

Valdoma seka yra aiški. Savęs talpinamos sekos reikalauja kruopštaus stebėjimo, kurį dauguma komandų praleidžia.

Kaip pagerinti savęs talpinamos nuoseklumą

Jei reikalingas savęs talpinimas, galite sumažinti nukrypimą keturiais žingsniais.

Pirma, fiksuokite modelių versijas. Užrakinkite tikslias modelių versijas visuose diegimo failuose. Blokuokite automatinius atnaujinimus. Stebėkite versijas šaltinio valdymo sistemoje.

Tada, įšaldykite konteinerio vaizdus. Sukurkite Docker vaizdus su tiksliai įmontuotomis modelių versijomis. Pažymėkite kiekvieną vaizdą modelio versija, Presidio versija ir data. Neatnaujinkite bazinių vaizdų be pirmo testavimo.

Taip pat laikykite konfigūraciją kode. Saugokite visus Presidio nustatymus failuose, stebėjamuose versijų valdyme. Tai apima detektorius, balų slenksčius ir aktyvias kalbas. Diekite konfigūraciją su programa.

Galiausiai testuokite keliose sąrankose. Po kiekvieno atnaujinimo paleiskite fiksuotą bandomųjų dokumentų rinkinį per naują sąranką. Palyginkite rezultatus su saugoma etalonine verte. Automatizuokite šį patikrinimą. Žr. DUK dažniausiai užduodamų klausimų apie automatizuotą PII regresinį testavimą.

Šie žingsniai padeda. Tačiau jie taip pat prideda darbo. Valdoma paslauga suteikia tą patį nuoseklumą be papildomų pastangų.

Esmė

Nuoseklus PII šalinimas neatsiranda produktų aprašuose. Tačiau jis tampa kritinis, kai auditoriai prašo įrodymų.

Be aktyvaus dėmesio savęs talpinami PII įrankiai nukrypsta. Versijų pokyčiai prideda tylių spragų. Tos spragos atsiranda kaip audito radiniai.

Valdomos paslaugos pagal nutylėjimą užtikrina nuoseklumą. Variklis veikia iš vienos vietos. Vartotojų sąrankos neveikia rezultatų. Atitikties orientuotoms komandoms tai yra tiesioginis pranašumas.

Š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.