Kundedata: hvad kan maskeringen — og hvor brister den?

Alle tests bag PII-maskeringslaget, fra feltbaseret data til extra hard fritekst. Tallene er tegn-niveau præcision og recall pr. datatype, målt på fiktive data. Ingen rigtige kunder.

Målet

Persondata (navn, adresse, e-mail, telefon, CPR) skal fjernes eller generaliseres, før en AI ser kundeklubdata — men købshistorik, køn, region og aldersbånd skal bevares, så analysen stadig kan laves. Kravet var mindst 75 % præcision på personnavne, og at kundens egne brand-navne bevares, også når de lyder som personnavne.

1,000Præcision, personnavn (svære cases)
0Brand-navne maskeret ved en fejl
0,845Adresse-recall, extra hard
0,167E-mail-recall, obfuskeret (extra hard)

Arkitekturen: flere værktøjer, route efter type

Ét værktøj kan ikke både fange CPR, danske navne og undtage brand. Derfor routes hver type til det værktøj, der er målt bedst:

Værktøjssammenligning på samme cases

90 cases (60 normale + 30 svære navne uden for gazetteeret). fp_brand = brand-tegn maskeret ved en fejl.

Svære navne (30)

MetodePræcisionRecall Brand-falskAndre falske
opf (rå)0,5250,45911815
ScandNER (rå)0,7341,0001160
Navne-gazetteer alene0,8000,188150
Pipeline (opf)1,0000,44100
Pipeline (opf + ScandNER)1,0000,78400
Pipeline (+ betro ScandNER)1,0001,00000

Normale navne (60)

MetodePræcisionRecall Brand-falskAndre falske
opf (rå)0,6720,69324540
ScandNER (rå)0,6510,86437714
Navne-gazetteer alene0,8540,7781120
Pipeline (opf)1,0000,87600
Pipeline (opf + ScandNER)0,9960,90203
Pipeline (+ betro ScandNER)0,9960,90203

Læsning: ingen enkelt model har både høj præcision og recall. Koden (brand-undtagelse + gazetteer) løfter præcisionen til 1,0 og fjerner alle brand-falske; ScandNER løfter recall.

Præcision pr. datatype

Type Id-kerne PId-kerne R Survey PSurvey R Extra hard PExtra hard R
PERSON––0,9750,9730,8810,942
EMAIL1,0001,0001,0001,0001,0000,167
PHONE0,6001,0001,0001,0001,0000,750
ADDRESS––0,9841,0001,0000,845
CPR––1,0001,0001,0001,000
CVR––1,0001,000––
ACCOUNT––1,0001,0001,0001,000
CARD––1,0001,0000,5431,000
IP––1,0001,000––
USERNAME––1,0000,8271,0000,618
DOB–––––0,000

Id-kerne = deterministisk kerne på 33 målrettede cases. Survey = 56 fiktive surveysvar med PII midt i sætningen. Extra hard = 35 varierede cases med forkortelser, obfuskerede mails, små bogstaver, typo og udenlandsk adresse. – betyder at typen ikke optræder i det sæt.

Feltbaseret data

De strukturerede felter maskeres deterministisk. Verifikation på hele datasættet (120 fiktive kunder):

Extra hard felter (24 poster, 96 tjek)

PII i det forkerte felt, andre datoformater, postnummer med bynavn, dobbelt mellemrum, VERSALER, initialer, NBSP, tomme felter, brand-navn som kundenavn.

Hvor det brister — ærligt

Huller der kan lukkes (målt, ikke koblet ind endnu)

De tre svageste steder er testet med en smal Jev-dom (sætningskontekst, gate ved sikkerhed ≥ 0,9). Alle tre bestod, men er endnu ikke i pipelinen:

Reglen fra projektet: kendte mønstre og kendte entiteter hører i koden; kun det tvetydige går til Jev — og kun ved høj sikkerhed.

Sådan er det målt

Genereret 29.09.2026 af maskeringsprojektet. 120 kunder, 695 brands.