La subscripció a Adobe Acrobat Pro supera els 285 € l’any: la subscripció a Adobe Acrobat Pro supera els 285 € l’any.
Moltes persones recorren a solucions ràpides i perilloses per evitar aquest cost:
- L’ús de formes negres: dibuixar rectangles negres en visors ordinaris.
- 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.
La prova dels 3 segons: demostra la vulnerabilitat del copiar i enganxar
- Obre qualsevol PDF on el text s’hagi «tapat» amb un requadre o marcador negre.
- Fes clic abans del requadre, arrossega el cursor per sobre de la zona tapada i deixa anar.
- Prem
Ctrl + C(oCmd + Ca macOS). - Obre el Bloc de notes o la barra d’adreces del navegador i prem
Ctrl + V.
En gairebé tots els documents editats de manera amateur, el text confidencial apareix immediatament en text net.
La cerca amb Ctrl + F també evidencia l’errada: cerca el nom o import amagat i el lector de PDF ressaltarà el terme just sota la caixa negra.
[ PDF View ] ====> [ Clipboard Extraction ]
┌───────────────────────────┐
│ Jordi Garcia │ "Jordi Garcia
│ DNI / NIF: ███████████ │ Ctrl + C DNI / NIF: 48192031X
│ Import de l'acord: 450.000,00 € │ ========> Import de l'acord: 450.000,00 €"
└───────────────────────────┘
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
(Import de l'acord: 450.000,00 €) Tj
ET
BTiETdelimiten els blocs Begin Text i End Text./F1 12 Tfdetermina la font i la mida.72 712 Tdestableix les coordenades a la pàgina.(...) Tjmostra 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 ]
>>
Aquesta instrucció només diu al visor: «Dibuixa un rectangle negre sòlid en aquestes coordenades». Com que l’anotació resideix en una capa independent, el flux /Contents subjacent queda intacte.
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.
Segons el Reglament General de Protecció de Dades (RGPD) i les directrius de l’Autoritat Catalana de Protecció de Dades (APDCAT), la filtració de dades personals per una anonimització negligent pot comportar multes de fins a 20 milions d’euros.
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 vida | Servei al núvol tradicional | Utiliome Local-First Wasm |
|---|---|---|
| Transmissió de dades | Fitxer complet enviat per HTTP POST a través d’Internet. | 0 bytes transmesos. Queda a la RAM del dispositiu. |
| Emmagatzematge | Desat a discs temporals o dipòsits AWS S3 externs. | Cap. Mai s’escriu a servidors de tercers. |
| Processament | Contenidor 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 legal | Exigeix 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)
- Obre l’eina d’anonimització PDF d’Utiliome en qualsevol navegador modern.
- Arrossega el teu fitxer PDF. Es carregarà directament a la memòria RAM (sense trànsit de xarxa).
- Selecciona amb el ratolí les àrees que vols esborrar permanentment.
- El motor WebAssembly elimina els operadors de text del flux
/Contentsi hi insereix geometria negra permanent. - Fes clic a Descarregar PDF anonimitzat per obtenir un document net de filtracions.
Mètode 2: Rasterització i aplanament (Alternativa fora de línia)
- ✅ Pros: Converteix el text vectorial en píxels d’imatge, destruint completament el flux de text subjacent.
- ❌ Contres: Augment desmesurat de la mida del fitxer (de 300 KB a 30 MB), pèrdua total de la cerca (Ctrl+F) i incompatibilitat amb lectors de pantalla.
Prova de 10 segons a DevTools: comprova el zero trànsit de xarxa
- Obre l’eina al navegador.
- Prem F12 (o Cmd+Option+I) per obrir les eines de desenvolupador.
- Ves a la pestanya Network i filtra per Fetch/XHR.
- Neteja el registre (🚫).
- 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. Prova del porta-retalls: selecciona la zona tapada, prem Ctrl+C i enganxa-ho al Bloc de notes. No ha de sortir cap text.
- 2. Prova de cerca (Ctrl+F): cerca els termes esborrats. El cercador ha de marcar estrictament 0 de 0.
- 3. Propietats del document: revisa Fitxer > Propietats per assegurar-te que el títol i l’autor no revelin informació confidencial.
- 4. Marcadors i capes: comprova que la taula de continguts no conservi apartats amb informació suprimida.
- 5. Garantia sense núvol: assegura’t que l’edició s’ha fet en local a la RAM sense carregar còpies a servidors aliens.