Hoppa till innehåll
PDFLeanDokumentation
Uppgradera till Pro

Maskera ett personnummer i en PDF

Personnummer är det klassiska exemplet för maskering: ett personnummer är litet, lätt att förbise, unikt identifierande och permanent skadligt när det läcker ut. Oavsett om du förbereder en domstolsinlaga, en begäran om allmänna handlingar, ett leverantörsavtal eller ett försäkringspaket, så är ”jag täckte det med en svart ruta” inte ett skydd — det är ett bokmärke för den som vet hur man letar. Här förklarar vi hur maskering faktiskt fungerar, och hur du gör det utan att ladda upp dokumentet någonstans.

Det kritiska misstaget: att rita en svart ruta

Section titled “Det kritiska misstaget: att rita en svart ruta”

Instinkten är att öppna en PDF-redigerare, rita en svart rektangel över den känsliga texten och spara. Detta misslyckas garanterat, och anledningen är själva PDF-formatet.

En PDF lagrar två parallella representationer av text. Det finns det synliga lagret — glyferna som ritas upp på skärmen — och det finns textlagret, de faktiska teckenkoderna som ligger i sidans innehållsström, vilket är vad sökmotorer, kopiera och klistra in, och skärmläsare läser. När du ritar en svart ruta ändrar du bara det synliga lagret. Textlagret under är helt intakt, och vem som helst kan markera det ”maskerade” området, kopiera det, eller exportera texten och läsa personnumret i klartext. Ännu värre är att vissa ”maskeringsfunktioner” i enklare redigeringsprogram bokstavligen bara är rektanglar med en mörk fyllning.

Detta fel har ett namn inom e-discovery: det kallas för en metadata- / textlagerläcka, och det har exponerat sekretessbelagda dokument i verkliga rättsfall. Om din maskering kan besegras med Ctrl+A, Ctrl+C, är det inte maskering.

Äkta maskering tar bort texten från själva innehållsströmmen. Tecknen raderas fysiskt från filen, och först därefter täcks det visuella området. Efter en riktig maskering:

  • Markering av området markerar ingenting.
  • Kopiera och klistra in returnerar ingen dold text.
  • En sökning i filen efter personnumret ger noll träffar.
  • Teckenkoderna finns inte längre kvar i filens binärdata.

Alla verktyg som gör mindre än detta maskerar inte, och skillnaden kan testas på några sekunder (vi kommer till det).

Det andra klassiska misstaget: att maskera personnumret på sidan 4 och lämna kvar det identiska numret på sidan 12 — i ett sidhuvud, ett signaturblock eller en bilaga. Ett grundligt jobb börjar med en sökning efter mönstret, inte en manuell genomläsning.

Ett amerikanskt personnummer (SSN) matchar ett förutsägbart mönster (nio siffror, ofta grupperade 3-2-4), vilket innebär att det kan hittas programmatiskt — tillsammans med andra högriskidentifierare: pass- och nationella ID-nummer, kreditkortsnummer, telefonnummer, e-postadresser och bankkontouppgifter. PDFLeans PII-maskeringsverktyg gör denna skanning lokalt: det upptäcker kandidater för personnummer, ID, telefon, kort och e-post i webbläsaren, visar dig varje kandidat i sitt sammanhang och låter dig bekräfta eller avvisa innan något tas bort. Anpassade nyckelord (ett projektkodnamn, en motparts namn) kan läggas till i samma körning.

Steget ”visa mig varje träff i sitt sammanhang och låt mig bekräfta” är viktigt: enbart mönstermatchning kommer att flagga massor av ofarliga niosiffriga nummer. Maskering är oåterkallelig, så en människa bör godkänna varje träff.

  1. Öppna PII-maskeringsverktyget. Hela skanningen körs i din webbläsare.
  2. Läs in PDF-filen. Den hamnar endast i det lokala minnet — ingenting skickas iväg.
  3. Granska de upptäckta kandidaterna (personnummer, ID, telefon, kort, e-post, anpassade nyckelord). Slå på eller av varje träff baserat på det omgivande sammanhanget.
  4. Kör maskeringen. Verktyget tar bort teckenkoderna från innehållsströmmen och täcker de berörda områdena.
  5. Verifiera (nästa avsnitt — hoppa inte över).
  6. Spara den maskerade kopian.

För riktad borttagning — ett specifikt namn eller värde som du redan känner till — tar det manuella PDF-maskeringsverktyget en lista med nyckelord och tar bort varje förekomst på samma sätt.

Verifieringssteget som nästan alla hoppar över

Section titled “Verifieringssteget som nästan alla hoppar över”

Att påstå att något är maskerat är enkelt; verifiering är beviset. Gör alla tre testerna på utdatafilen:

  1. Söktest. Öppna den sparade PDF-filen och sök efter det exakta personnumret (prova med och utan bindestreck: 123-45-6789 och 123456789). Noll träffar är det enda acceptabla resultatet.
  2. Markeringstest. Dra och markera det maskerade området och kopiera. Om dina urklipp innehåller siffror så överlevde textlagret.
  3. Textextraktionstest. Exportera all text (Textextraheraren gör detta lokalt) och sök i dumpen. Om numret dyker upp någonstans är maskeringen ofullständig — med största sannolikhet finns en andra kopia på en annan sida.

Gör detta på den slutgiltiga sparade filen, inte på förhandsgranskningen i appen. Förhandsgranskningar renderas från ett live-tillstånd; endast de sparade byten talar sanning.

Textinnehåll är det uppenbara målet, men PDF-metadata är ett tystare sådant. Dokumentegenskaperna — författare, titel, ämne, programvara som skapade det, och ibland anpassade fält — kan bära med sig namn, ID:n och interna sökvägar från det ursprungliga skaparprogrammet. Ett fullständigt maskerat dokument med Author: J. Smith, SSN 123-45-6789 i sina egenskaper läcker fortfarande.

Ta bort metadata som det sista steget i alla maskeringsjobb, och om filen ska till en fientlig miljö (offentlig inlaga, svar på en begäran om allmän handling), rensar Saneringsverktyget bort inbäddade skript, dolda åtgärder och annat aktivt innehåll i samma anda.

Maskering förstör den underliggande texten permanent. Om du behöver avslöja numret senare (ett internt team som granskar det omaskerade originalet), behåll en separat omaskerad kopia i en kontrollerad lagring och maskera endast kopian du distribuerar. Den distribuerade filen ska vara den som har rensats; originalet stannar där dina känsliga original redan bor.

För formulär som återanvänds är det bättre mönstret ofta att maskera-vid-kopiering: håll originalet rent och generera en maskerad version för varje extern mottagare, så att inget enskilt maskeringsmisstag propagerar bakåt till ditt källdokument.

Kan jag maskera en skannad PDF? Du kan täcka över den synliga bilden, men en skanning har inget textlager att ta bort — kör OCR på den först (PDF OCR), maskera den återvunna texten och bestäm sedan om du vill behålla eller plattlägga bildlagret. En svart ruta över en skanning är tillräcklig endast om skanningens pixlar faktiskt förstörs, inte bara målas över.

Är maskering återkallelig? Nej — det är det som är poängen. Datan är borta. Det är därför det är viktigt att bekräfta varje upptäckt kandidat innan man kör, och varför du behåller ett rent original.

Räknas lösenordsskydd som maskering? Nej. Kryptering styr åtkomst; maskering tar bort innehåll. En lösenordsskyddad PDF med ett omaskerat personnummer innehåller fortfarande personnumret, och alla med lösenordet (eller ett knäckningsverktyg) kan läsa det.

Varför gör mitt verktygs ”maskera”-knapp bara en svart ruta? Många enkla redigeringsprogram implementerar anteckningsliknande markering/inramning istället för äkta maskering av innehållsströmmen. Om verktyget inte kan visa dig ett sökrent resultat efteråt, så ritar det, maskerar inte.


Hela jobbet kokar ner till ett enda testbart påstående: när du är klar får de känsliga tecknen inte finnas i filen. Sök efter dem, markera dem, extrahera texten — om något av detta hittar numret har maskeringen misslyckats. Rita rutan, radera datan, verifiera på den sparade filen, rensa metadata och behåll ett rent original. Den sekvensen — inget mindre — är vad ”maskerad” betyder.