En prenumeration på Adobe Acrobat Pro kostar över 3 000 kr per år: en prenumeration på Adobe Acrobat Pro kostar över 3 000 kr per år.

Moltes persones recorren a solucions ràpides i perilloses per evitar aquest cost:

  1. L’ús de formes negres: dibuixar rectangles negres en visors ordinaris.
  2. Convertidors al núvol: penjar documents confidencials en webs desconegudes.

Aquestes pràctiques generen greus riscos legals i fuites de dades. En aquesta guia t’expliquem per què les caixes negres fallen i com WebAssembly permet una anonimització permanent i 100% segura sense Adobe i sense núvol.


3-sekunderstestet: bevisa sårbarheten med kopiera och klistra in

  1. Öppna valfri PDF där text har dolts med en svart ruta eller överstrykningspenna.
  2. Klicka strax före den svarta rutan, dra markören över området och släpp.
  3. Tryck på Ctrl + C (eller Cmd + C på Mac).
  4. Öppna Anteckningar eller adressfältet i webbläsaren och tryck på Ctrl + V.

I nästan alla amatörmässigt redigerade dokument visas den hemliga texten direkt i klartext.

Även sökning med Ctrl + F avslöjar misslyckandet: sök på namnet eller siffran, och läsaren hoppar direkt dit och markerar texten under rutan.

[ PDF View ]     ====>     [ Clipboard Extraction ]
┌───────────────────────────┐                
│ Erik Svensson          │               "Erik Svensson
│ Personnummer: ███████████ │   Ctrl + C    Personnummer: 19850101-1234
│ Förlikningsbelopp: 4 500 000 kr │   ========>   Förlikningsbelopp: 4 500 000 kr"
└───────────────────────────┘                

Anatomia de la sintaxi PDF: fluxos de contingut (/Contents) vs. capes d’anotació (/Annots)

Segons l’estàndard ISO 32000, un fitxer PDF no és una simple imatge plana, sinó una base de dades jeràrquica d’objectes independents.

El flux de contingut (/Contents)

El text es desa al flux de contingut com una seqüència d’operadors de posició i renderitzat de glifs:

BT
  /F1 12 Tf
  72 712 Td
  (Förlikningsbelopp: 4 500 000 kr) Tj
ET
  • BT i ET delimiten els blocs Begin Text i End Text.
  • /F1 12 Tf determina la font i la mida.
  • 72 712 Td estableix les coordenades a la pàgina.
  • (...) Tj mostra la cadena de caràcters.

La capa d’anotacions (/Annots)

En dibuixar una forma negra, el programari no modifica el flux /Contents, sinó que afegeix una entrada al diccionari /Annots:

<<
  /Type /Annot
  /Subtype /Square
  /Rect [ 70 710 320 726 ]
  /C [ 0 0 0 ]
  /IC [ 0 0 0 ]
>>

Denna instruktion säger bara till visaren: «Rita en svart rektangel på dessa koordinater». Eftersom anteckningen ligger på ett separat lager förblir texten i /Contents orörd.


Comparació d’arquitectura: 3 enfocaments d’anonimització

flowchart TD
  subgraph Flawed["❌ 1. Trampa del bloc negre"]
    direction TB
    F_Doc["📄 Original PDF"] --> F_Draw["✏️ Black Shape (/Square Annot)"]
    F_Draw --> F_Out["📄 'Redacted' PDF"]
    F_Out -->|"Ctrl+C"| F_Leak["🚨 Secret Data Leaked"]
  end

  subgraph Cloud["⚠️ 2. Risc al núvol"]
    direction TB
    C_Doc["📄 Sensitive PDF"] -->|"Upload"| C_Server["☁️ Remote Server"]
    C_Server --> C_Worker["⚙️ Processing"]
    C_Worker --> C_Down["⬇️ Download"]
    C_Server -.-> C_Risk["🚨 Third-Party Exposure"]
  end

  subgraph Local["✅ 3. Utiliome Wasm"]
    direction TB
    L_Doc["📄 Local PDF"] -->|"Zero Upload"| L_RAM["💻 Browser RAM Sandbox"]
    L_RAM --> L_Wasm["⚡ Client-Side WebAssembly"]
    L_Wasm --> L_Clean["📄 100% Sanitized PDF"]
    L_Clean --> L_Safe["🔒 Zero Cloud Footprint"]
  end

  style Flawed fill:#fff,stroke:#f43f5e,stroke-width:1.5px
  style Cloud fill:#fff,stroke:#f59e0b,stroke-width:1.5px
  style Local fill:#fff,stroke:#10b981,stroke-width:2px

Desastres reals de filtració de dades

El cas de Paul Manafort el 2019 i els informes militars britànics sobre submarins nuclears el 2011 van evidenciar com el simple cobriment gràfic acaba en escàndol públic.

Enligt Dataskyddsförordningen (GDPR) kan bristfällig maskering leda till sanktionsavgifter från Integritetsskyddsmyndigheten (IMY) på upp till 20 miljoner euro eller 4 % av den globala omsättningen.


El parany dels serveis gratuïts al núvol

Pujar un fitxer confidencial a servidors desconeguts per esborrar-ne informació crea una paradoxa de privacitat inacceptable:

Fase del cicle de vidaServei al núvol tradicionalUtiliome Local-First Wasm
Transmissió de dadesFitxer complet enviat per HTTP POST a través d’Internet.0 bytes transmesos. Queda a la RAM del dispositiu.
EmmagatzematgeDesat a discs temporals o dipòsits AWS S3 externs.Cap. Mai s’escriu a servidors de tercers.
ProcessamentContenidor compartit a servidors remots.Màquina virtual WebAssembly aïllada al navegador.
RetencióFitxers conservats en memòria cau d’1 a 24 hores.Neteja immediata de memòria en tancar la pestanya.
Conformitat legalExigeix contractes DPA de tractament de dades.Exempt. No hi ha cessió a tercers.

Com anonimitzar un PDF amb seguretat sense Adobe Acrobat

Mètode 1: WebAssembly al navegador (Recomanat)

  1. Öppna Utiliomes PDF-maskeringsverktyg i en modern webbläsare.
  2. Dra och släpp ditt PDF-dokument. Filen läses in i det lokala RAM-minnet (ingen nätverksöverföring).
  3. Markera de känsliga områdena med musen.
  4. WebAssembly-motorn tar bort textoperatorerna ur /Contents och lägger till permanent svart vektorgeometri.
  5. Klicka på Ladda ner maskerad PDF för ett garanterat rent dokument.

Metod 2: Rasterisering och sammanslagning (Offline-nödlösning)

  • Pros: Konverterar all text till bildpixlar, vilket raderar underliggande textdata permanent.
  • Contres: Filstorleken exploderar (från 300 KB till 30 MB), all sökbarhet (Ctrl+F) försvinner och skärmläsare slutar fungera.

Prova de 10 segons a DevTools: comprova el zero trànsit de xarxa

  1. Obre l’eina al navegador.
  2. Prem F12 (o Cmd+Option+I) per obrir les eines de desenvolupador.
  3. Ves a la pestanya Network i filtra per Fetch/XHR.
  4. Neteja el registre (🚫).
  5. Arrossega el teu PDF i aplica l’anonimització.
[ Developer Tools - Network Tab ]
Filter: [ Fetch/XHR ] 
--------------------------------------------------------------------------------------
Name              Status   Type     Initiator   Size     Time
--------------------------------------------------------------------------------------
(Log is empty. 0 requests sent. 0 bytes uploaded.)
--------------------------------------------------------------------------------------
Result: 100% Client-Side. Your file never touched a server.

Llista de control abans d’enviar el document

  • 1. Klippbordskontroll: markera det svarta området, tryck på Ctrl+C och klistra in i Anteckningar. Ingen text ska visas.
  • 2. Sökkontroll (Ctrl+F): sök på de raderade orden. Resultatet måste visa strikt 0 av 0.
  • 3. Dokumentegenskaper: kontrollera Arkiv > Egenskaper för att säkerställa att titel och historik inte innehåller hemligheter.
  • 4. Bokmärken och lager: se till att innehållsförteckningen inte innehåller känsliga rubriker.
  • 5. Bekräfta noll molnuppladdning: säkerställ att filen behandlades lokalt i RAM utan att skickas till externa servrar.