privacy

Fingerprinting de navegador

MetricSpot escaneja scripts de fingerprinting: sondes Canvas/WebGL/AudioContext, enumeració de fonts, FingerprintJS Pro. Els reguladors els tracten com a cookies a efectes de consentiment.

Què comprova aquesta auditoria

Escaneja els scripts carregats i el comportament en runtime cercant tècniques conegudes de fingerprinting:

  • SDKs comercials, FingerprintJS Pro (fpjs.io, api.fpjs.io, CNAMEs tipus metrics.<el-teu-domini>), ThreatMetrix, IPQS, SEON.
  • Abús de l’API Canvas, crides a canvas.toDataURL() o getImageData() sobre elements amagats, fora de pantalla o OffscreenCanvas just després de renderitzar un text fix.
  • Sondes WebGL, lectura de WEBGL_debug_renderer_info (cadenes de vendor/renderer de la GPU) sense un context 3D visible.
  • Fingerprinting d’AudioContext, instanciar un OfflineAudioContext, executar un oscil·lador i fer hash del buffer.
  • Enumeració de fonts, mesurar amplades de textos de prova en centenars de famílies de font per detectar què hi ha instal·lat.

MetricSpot manté una llista d’admesos per a SDKs d’analítica habituals (GA4, Plausible, Fathom) que toquen algunes d’aquestes APIs de manera benigna, així que la comprovació només s’activa quan el patró coincideix amb fingerprinting actiu.

Per què importa

Els reguladors han tancat la llacuna del “no és una cookie així que no cal consentiment”. Les directrius del CEPD de 2023 sobre l’Art. 5(3) ePrivacy tracten qualsevol tècnica del costat client que llegeixi o escrigui informació del dispositiu d’un usuari, fingerprinting inclòs, com a requeridora del mateix consentiment previ, informat i opt-in que les cookies. La CNIL, l’ICO i la DPC ho han ressonat.

Això vol dir que un script de fingerprinting disparant-se abans que el visitant accepti el teu banner de consentiment de cookies és la mateixa infracció de compliment que posar una cookie _ga abans del consentiment, i l’aplicació és activa. La CNIL va multar Criteo amb 40 M€ el 2023 en part per aquesta base.

Més enllà del costat legal: el fingerprinting identifica usuaris entre sessions i entre la xarxa. Si un SDK de tercers filtra el fingerprint, has ajudat a construir un perfil ombra de cada visitant.

Com solucionar-ho

Aquesta és una regla de detecció, no un flag de configuració. La solució és auditar què està corrent i posar-ho darrere del consentiment.

1. Inventari. Obre DevTools → Network → filtra per Initiator i busca els scripts que MetricSpot ha marcat. Tira’ls enrere fins a una regla de gestor d’etiquetes o un <script> a la teva plantilla. Si no saps per què hi és, no hi hauria de ser.

2. Decideix si el necessites. La detecció de frau en una pàgina de checkout pot justificar FingerprintJS Pro. Una landing de marketing gairebé mai. La carve-out del CEPD per a “estrictament necessari” és estreta, la seguretat i la prevenció de frau poden qualificar, l’enriquiment d’analítica no.

3. Posa-ho darrere del consentiment. Si conserves l’script, carrega’l només després que l’usuari faci opt-in. Amb una CMP (OneTrust, Cookiebot, Iubenda, Klaro):

<!-- No carregar directament -->
<script src="https://fpjs.io/web/v3/<clau>/loader.js"></script>

<!-- Posa porta via CMP - exemple: Klaro -->
<script type="text/plain" data-name="fingerprintjs"
        src="https://fpjs.io/web/v3/<clau>/loader.js"></script>

Després al teu klaro-config.js:

services: [{
  name: "fingerprintjs",
  purposes: ["security"],
  required: false,
  default: false,
}]

4. Detecció al servidor. Si un proveïdor ofereix un SDK del costat servidor (el serverApi de FingerprintJS Pro), prefereix això a les rutes autenticades, es manté dins de la teva frontera de confiança de primera part i és més fàcil d’auditar.

5. Documenta-ho. Actualitza la teva política de privacitat per nomenar el proveïdor, el propòsit (“prevenció de frau de pagaments”), les dades recollides i el període de retenció. El boilerplate genèric no n’hi ha prou.

Combina això amb la comprovació de rastrejadors de tercers, totes dues regles examinen el mateix inventari de scripts des d’angles diferents.

Preguntes freqüents

No, no sense consentiment. El missatge de marketing que “sense cookies = sense consentiment” és incorrecte segons la interpretació actual del CEPD. El detonant del consentiment és llegir o escriure al dispositiu, independentment del mecanisme.

I les analítiques del costat servidor com Plausible o Fathom?

Aquestes estan bé. Deriven un hash que rota diàriament a partir de la IP + user-agent al servidor, no el guarden mai i no sondegen APIs del costat client. La llista d’admesos de MetricSpot les exclou.

El meu equip de frau necessita FingerprintJS al checkout. El puc mantenir?

Probablement sí, en un abast estret: carrega’l només a /checkout i /login, documenta el propòsit de seguretat a la teva política de privacitat i confia en l’excepció del CEPD de “estrictament necessari per a un servei sol·licitat explícitament per l’usuari”. Obté l’aval del teu assessor legal, la frontera és específica de cada jurisdicció.

Fonts

Última actualització 2026-05-11