La versión corta: una cookie es un dato que el sitio web guarda en tu dispositivo para reconocerte en la próxima visita. Una huella digital es algo completamente distinto: es un conjunto de mediciones que el sitio web toma sobre tu dispositivo, combinadas en una cadena que resulta estadísticamente única. Las cookies las puedes borrar; las huellas digitales no, porque son propiedades de tu hardware y software que el sitio web simplemente observa. Una huella digital de dispositivo típica combina alrededor de 30 señales —resolución de pantalla, fuentes instaladas, modelo de GPU, pila de procesamiento de audio, idioma, zona horaria, versión del navegador y muchos detalles más sutiles— en un valor que identifica de forma única a quizás 1 de cada 10 000 a 1 de cada millón de dispositivos. La resistencia a las huellas digitales es la práctica de hacer que tu dispositivo parezca igual a millones de otros, de modo que la huella no sea lo bastante única como para identificarte. Es difícil, imperfecta, y la evaluación honesta es que la resistencia perfecta probablemente no sea alcanzable en un navegador moderno; pero la resistencia significativa sí lo es, y la diferencia importa.
Qué es realmente una huella digital de navegador/dispositivo
Cuando visitas un sitio web, la página puede ejecutar JavaScript que interroga a tu navegador y dispositivo sobre docenas de datos. Parte de esto es necesario para que el sitio funcione: el tamaño de tu pantalla determina el diseño, tu zona horaria determina cómo se muestran las fechas, tu preferencia de idioma determina qué traducción cargar. La información es genuinamente útil para el sitio. Pero también es genuinamente reveladora: cada dato acota qué dispositivo está usando el visitante, y suficientes datos combinados se vuelven únicos.
Las aproximadamente 30 señales que componen una huella digital típica incluyen:
- Cadena User-Agent — nombre y versión del navegador, sistema operativo, a menudo el modelo del dispositivo.
- Resolución de pantalla y profundidad de color — generalmente acota la clase del dispositivo.
- Zona horaria e idioma — acota la región geográfica y la configuración regional.
- Fuentes instaladas — el conjunto de fuentes instaladas en tu sistema operativo es sorprendentemente distintivo. Una página puede listarlas intentando renderizar texto en cada fuente y midiendo si el resultado parece que la fuente estaba presente.
- Huella digital Canvas — la página dibuja una pequeña imagen usando el canvas de HTML5 y luego lee los valores de píxel. Diferentes GPUs, fuentes y bibliotecas de renderizado producen píxeles ligeramente distintos, incluso con comandos de dibujo idénticos. El hash resultante es extremadamente identificador.
- Huella digital WebGL — idea similar pero usando comandos gráficos WebGL. Revela el modelo de GPU, la versión del controlador y las peculiaridades de renderizado.
- Huella digital de audio — la página genera una breve señal de audio y lee lo que produce la pila de procesamiento de audio. Distintas tarjetas de sonido, APIs de audio del sistema operativo y versiones de controladores de audio producen resultados diferentes.
- Concurrencia de hardware — número de núcleos de CPU. Revela la clase del dispositivo.
- Memoria del dispositivo — tamaño de la RAM, expuesto a través de la API
navigator.deviceMemory. - API de batería — nivel de batería, estado de carga, tiempo de carga. En gran medida obsoleta en los navegadores modernos por motivos de fingerprinting, pero usada históricamente.
- Capacidades de pantalla táctil — número de puntos de toque admitidos, que distingue tabletas de portátiles.
- Dispositivos multimedia — número de cámaras, micrófonos y altavoces conectados.
- Lista de complementos — complementos y extensiones del navegador visibles a través del DOM (menos útil en navegadores modernos, pero aún se filtran en algunos casos).
- Consultas de medios CSS — la página consulta docenas de características de medios (prefers-color-scheme, prefers-reduced-motion, color-gamut, etc.) y registra las respuestas.
- Huella digital TLS (JA3/JA4) — señal a nivel de red: el orden y el contenido de los campos en tu paquete TLS Client Hello identifica la biblioteca TLS, a veces de forma más única que el User-Agent.
- Huella digital HTTP/2 (Akamai H2) — a nivel del protocolo HTTP/2, el orden de los frames y los ajustes de configuración revelan la biblioteca cliente HTTP.
- Señales de comportamiento — ritmo de escritura, patrones de movimiento del ratón, velocidad de desplazamiento, la forma en que pasas entre campos con Tab. Distinguibles incluso en interacciones breves.
Ninguna de estas señales es identificadora de forma individual. Muchos dispositivos tienen la misma resolución de pantalla, muchos tienen la misma versión del navegador, muchos tienen las mismas fuentes instaladas. Pero la combinación de los 30 —la tupla específica de valores— suele ser única. La investigación Panopticlick de la EFF (ahora llamada Cover Your Tracks) demostró que la huella digital de un navegador típico es única entre cientos de miles de visitantes con alta probabilidad.
Por qué el fingerprinting sobrevive al borrado de cookies y al modo incógnito
El rastreo basado en cookies depende de que el navegador coopere: el navegador guarda la cookie, la envía en solicitudes posteriores y el sitio web la lee. Si borras la cookie o la bloqueas, el vínculo de rastreo se rompe. El rastreo basado en huellas digitales depende de que el navegador revele información sobre sí mismo y su entorno cuando se le pregunta, y esa información no cambia aunque hayas vaciado el almacenamiento.
En concreto: borras todas las cookies, abres una ventana de incógnito, te conectas a una VPN y visitas un sitio con rastreo intensivo. El JavaScript del sitio ejecuta la rutina de recopilación de huellas, obtiene las mismas 30 señales que habría obtenido de otro modo, calcula el mismo hash de huella y te reconoce. Tu dirección IP es diferente (estás en una VPN). Tu cookie está vacía (el modo incógnito no la comparte). Pero tu pantalla es la misma pantalla, tu GPU es la misma GPU, tus fuentes instaladas son las mismas fuentes, tu zona horaria sigue siendo America/New_York. La huella identifica el dispositivo, no la sesión.
Por eso las empresas de tecnología publicitaria y las plataformas de analítica invirtieron fuertemente en el fingerprinting a partir de 2014, mucho antes de que los navegadores empezaran a eliminar las cookies de terceros. Querían un mecanismo de rastreo que sobreviviera a los controles de privacidad que los usuarios comenzaban a usar. Y lo consiguieron.
Las tres fuentes principales de huellas digitales
Las señales de huella digital provienen de tres capas diferentes del stack. Tienen mitigaciones distintas, y una defensa que aborda una capa puede dejar las demás completamente expuestas.
1. Cabeceras HTTP (básica, capa de menor resolución)
Cada solicitud HTTP incluye cabeceras como User-Agent, Accept-Language, Accept-Encoding y Sec-CH-UA-* (los nuevos Client Hints). Estas revelan el navegador, el sistema operativo, el idioma y las preferencias de codificación. El conjunto de cabeceras tiene poco ancho de banda —quizás una docena de bits de entropía— pero acota significativamente el universo de dispositivos posibles. Las defensas en esta capa (suplantación del User-Agent, armonización de preferencias de idioma) son económicas y parcialmente efectivas, pero no abordan las señales de ancho de banda mucho mayor de la capa JavaScript.
2. APIs de JavaScript (la mayor superficie de huella digital)
El navegador expone docenas de APIs de JavaScript que los scripts de fingerprinting consultan: navigator.userAgent, screen.width, navigator.languages, Intl.DateTimeFormat().resolvedOptions().timeZone, la lista de extensiones WebGL, las características de procesamiento del contexto de audio. El fingerprinting Canvas a través de HTMLCanvasElement.toDataURL() por sí solo es responsable de una gran parte de la entropía en una huella digital típica. WebGL añade más. La Web Audio API añade más. Aquí es donde proviene la mayoría de los bits de la huella, y es la capa más difícil de defender porque las APIs son genuinamente útiles para aplicaciones web legítimas.
3. TLS y capa de red (avanzado)
Antes de cualquier solicitud HTTP, tu navegador realiza un handshake TLS. El mensaje Client Hello —el primer paquete que envía el navegador— contiene la lista de suites de cifrado admitidas, las extensiones TLS admitidas, el orden de esas extensiones y otros parámetros. La combinación es la huella digital TLS, capturada por herramientas como JA3 y JA4. Diferentes bibliotecas TLS (la versión incluida en Chrome, la de Firefox, la CoreTLS de Apple, la crypto/tls de Go, la requests de Python) producen huellas distintas. Un observador de red que conoce la huella TLS que normalmente produce tu navegador puede identificarte aunque cambies de navegador pero uses el mismo sistema operativo, o reconocer cuando una herramienta automatizada (curl, requests, scrapers) intenta sin éxito hacerse pasar por un navegador. El orden de los frames HTTP/2 y los valores SETTINGS producen una huella similar pero separada. Estas capas están en gran medida fuera del control del usuario —son funciones de la biblioteca TLS subyacente— y son invisibles para las defensas que operan dentro del navegador.
Qué significa realmente «unicidad» — metodología de Cover Your Tracks de la EFF
La EFF mantiene una herramienta en coveryourtracks.eff.org que prueba tu navegador frente a una configuración de fingerprinting del mundo real y te indica cuán única es tu huella digital. La metodología es informativa independientemente de si ejecutas la prueba tú mismo.
La herramienta calcula una medición de «entropía»: cuántos bits de información identificadora contiene tu huella digital. La matemática es sencilla: si tu huella coincide con 1 de cada 10 000 visitantes, eso son aproximadamente 13,3 bits de entropía (log2(10000)). Si coincide con 1 de cada millón, son aproximadamente 20 bits. La herramienta también muestra qué señales específicas contribuyen más entropía en tu caso: por ejemplo, tu huella Canvas puede ser única en 12 bits, tu lista de fuentes en 8 bits, tu resolución de pantalla en 4 bits, tu zona horaria en 6 bits. El total es la suma (asumiendo que las señales son independientes, lo que no es del todo exacto, pero es una aproximación útil).
Para ponerlo en perspectiva: 13 bits de entropía significa que la huella digital más la geolocalización de tu dirección IP es esencialmente única. 20 bits significa que es única entre todos los habitantes del planeta. El umbral para datos «anonimizados» según la mayoría de los marcos de privacidad está en torno a 10 bits: por debajo de eso, tienes negación plausible. Por encima de 20 bits, eres identificable individualmente. La mayoría de los navegadores con la configuración predeterminada producen huellas digitales en el rango de 18 a 22 bits.
Mapa de señales de huella digital
Aquí se muestra de dónde provienen las principales señales de huella digital, si el borrado de cookies las elimina (no lo hace), si una VPN protege contra ellas (mayormente no) y si la defensa requiere endurecimiento a nivel de navegador (mayormente sí):
| Señal | Dónde se recopila | ¿Resistente al borrado de cookies? | ¿Resistente a VPN? | ¿Requiere endurecimiento del navegador? |
|---|---|---|---|---|
| User-Agent + Client Hints | Cabeceras HTTP | Sí (sobrevive) | Sí (sobrevive) | Sí (spoofing de UA o reductor) |
| Huella digital Canvas | JS (canvas + GPU) | Sí (sobrevive) | Sí (sobrevive) | Sí (ruido en canvas o bloqueo) |
| Huella digital WebGL | JS (WebGL + controlador GPU) | Sí (sobrevive) | Sí (sobrevive) | Sí (deshabilitar o aleatorizar) |
| Contexto de audio | JS (Web Audio API) | Sí (sobrevive) | Sí (sobrevive) | Sí (bloquear o difuminar) |
| Fuentes instaladas | JS (enumeración de fuentes) | Sí (sobrevive) | Sí (sobrevive) | Sí (limitar fuentes expuestas) |
| Zona horaria | JS (API Intl) | Sí (sobrevive) | No (el endpoint VPN no coincide con la zona horaria local — identificable por huella) | Sí (suplantar o armonizar) |
| Dirección IP | Capa de red | Sí (sobrevive) | No (la VPN la oculta) | No (usar VPN) |
| Huella digital TLS (JA3/JA4) | TLS Client Hello | Sí (sobrevive) | Mayormente (sobrevive — misma biblioteca TLS) | No (la establece la biblioteca TLS) |
El patrón es consistente. Casi todo lo que contribuye a tu huella digital sobrevive tanto al borrado de cookies como al uso de una VPN. Las cookies y la dirección IP son solo dos de las más de 30 señales; abordar únicamente esas dos no cambia nada en el resto.
Cómo intentan los navegadores resistir las huellas digitales
Tor Browser — el estándar de oro
Tor Browser es el navegador de consumo más agresivo en materia de resistencia a las huellas digitales. Deliberadamente hace que todos sus usuarios parezcan idénticos: mismo tamaño de ventana predeterminado (el navegador se abre en 1000x1000 y resiste el cambio de tamaño; luego aplica letterboxing al contenido si maximizas), mismo conjunto de fuentes visibles para JavaScript, mismo comportamiento de Canvas (todas las lecturas de canvas devuelven solo las permitidas o solicitan permiso al usuario), mismo comportamiento de WebGL (en gran medida deshabilitado), misma zona horaria (siempre UTC). El inconveniente es considerable: muchos sitios se rompen, el rendimiento sufre por la red Tor y la experiencia de usuario está limitada. Pero la resistencia a las huellas digitales es dramáticamente mejor que cualquier otro navegador. La huella que un sitio ve de Tor Browser es aproximadamente la misma que ve de cualquier otro usuario de Tor Browser, que es el único enfoque conocido para anonimizar realmente la señal de huella digital a escala.
Brave — aleatorización estratégica
Brave adopta un enfoque diferente. En lugar de hacer que todos los usuarios parezcan idénticos (la estrategia de Tor), Brave hace que el mismo usuario parezca ligeramente diferente en cada visita. Las lecturas de Canvas incluyen ruido por sesión, la enumeración de fuentes se aleatoriza y el contexto de audio se difumina. La estrategia se denomina «aleatorización» o a veces «blindaje por sesión». No reduce la unicidad dentro de una sola visita, pero evita el rastreo a largo plazo al hacer la huella inestable entre visitas. El inconveniente es que algunos sitios con detección antifraude fuerte (banca, apuestas) pueden marcar la inconsistencia como sospechosa.
Firefox resistFingerprinting
Firefox tiene una preferencia oculta, privacy.resistFingerprinting, que activa un conjunto de defensas derivadas de Tor Browser: un tamaño de ventana fijo, una zona horaria fija (UTC), visibilidad de fuentes restringida, solicitud de permiso para lecturas de Canvas y otras medidas. La documentación de Mozilla para esta función describe el conjunto completo de comportamientos. Es lo más parecido que puedes obtener al comportamiento de huella de Tor Browser sin la propia red Tor, y funciona en una instalación estándar de Firefox. Los inconvenientes de compatibilidad son significativos —muchos sitios se rompen visualmente, algunos funcionalmente— por eso no está activado de forma predeterminada.
Safari ITP y más allá
La Prevención Inteligente de Rastreo (ITP) de Safari aborda algunos vectores de fingerprinting, pero se centra principalmente en el rastreo entre sitios a través del almacenamiento. Safari 14+ añadió límites de enumeración de fuentes y algunas otras reducciones de la superficie de huella. Safari 17 añadió la Protección Avanzada de Rastreo y Huellas Digitales, que bloquea activamente los scripts de fingerprinting conocidos identificados por el equipo de Privacidad de Apple. El enfoque es conservador —Apple valora enormemente la compatibilidad con los sitios— pero se está volviendo más agresivo con cada versión.
Qué pueden y no pueden hacer las defensas a nivel de red
Una VPN, un resolver DNS centrado en la privacidad y el filtrado de rastreadores a nivel de red abordan colectivamente parte del problema de privacidad, pero específicamente no la parte del fingerprinting. Vale la pena ser honesto sobre lo que aborda cada capa:
- La VPN oculta tu dirección IP — útil para ocultar tu geolocalización al sitio de destino y para ocultar qué sitios visitas a tu proveedor de internet. No afecta a ninguna de las señales de huella digital de la capa JavaScript. El sitio sigue viendo tu Canvas, fuentes, GPU y zona horaria, solo que desde una IP diferente.
- El filtrado a nivel DNS bloquea scripts de fingerprinting conocidos — a nivel de red, puedes bloquear solicitudes a dominios de fingerprinting conocidos (como
fingerprintjs.como varios endpoints de tecnología publicitaria que incluyen fingerprinting). Esto es parcial pero real: impide que los fingerprinters más prevalentes ejecuten su código. Los sitios que incluyen el código de fingerprinting en su propio dominio de primera parte no se bloquean con este enfoque. Cubrimos el mecanismo de filtrado DNS en nuestra guía sobre cómo detener el rastreo en línea. - Filtrado de rastreadores — similar al filtrado DNS pero opera sobre URLs en lugar de dominios. Efectivo contra fingerprinters que se cargan desde rutas distintivas incluso en dominios CDN compartidos. Consulta nuestra función de filtrado de rastreadores.
- Tráfico señuelo — aborda amenazas de tipo análisis de tráfico, no fingerprinting. Los dos modelos de amenaza son distintos. Tenemos un artículo separado sobre redes señuelo.
El planteamiento honesto: las defensas a nivel de red reducen cuánto fingerprinting ocurre al bloquear muchos de los scripts que lo harían. No reducen cuán identificadora es tu huella digital cuando el fingerprinting sí ocurre; eso es una preocupación a nivel del navegador.
El estado actual honesto — la resistencia perfecta es difícil
Algunas verdades incómodas sobre la resistencia a las huellas digitales que vale la pena expresar explícitamente:
La resistencia perfecta probablemente no es posible sin romper la web. La plataforma web genuinamente necesita acceso a muchas de las señales que el fingerprinting explota. El diseño necesita el tamaño de pantalla. La internacionalización necesita el idioma y la zona horaria. El contenido adaptable necesita las capacidades del dispositivo. Las señales que utiliza el fingerprinting no son artefactos: son propiedades reales que la plataforma expone por razones legítimas. Eliminarlas por completo rompería demasiadas cosas.
La resistencia que «parece única» es peor que ninguna resistencia. Si personalizas tu navegador intensamente con extensiones, fuentes personalizadas y ajustes propios, te vuelves más único que un usuario predeterminado, no menos. La estrategia de Tor Browser funciona porque todos sus usuarios parecen idénticos; la estrategia de instalar 12 extensiones de privacidad en una configuración de navegador personalizada produce una huella más identificadora que la original.
La carrera armamentista continúa. Se añaden defensas a nivel de navegador; los scripts de fingerprinting encuentran nuevas señales que explotar. Las nuevas APIs (batería, gamepad, WebGPU, orientación del dispositivo) introducen nueva superficie de huella. Las mitigaciones envejecen y pierden efectividad. El estado del arte cambia cada año aproximadamente. Todo lo descrito en este artículo era verdad en el momento de su redacción, pero puede necesitar revisión en 18 meses.
Los sistemas antifraude también usan fingerprinting. Cuando inicias sesión en tu banco, el banco analiza la huella de tu dispositivo para detectar toma de control de cuentas («este inicio de sesión es desde un dispositivo que no habíamos visto antes»). Una resistencia agresiva a las huellas digitales puede marcar tus sesiones como sospechosas. Las herramientas que defienden contra el rastreo también frustran la detección antifraude: eso es un compromiso real, no un efecto secundario, y vale la pena considerarlo según tu perfil de riesgo específico.
Niveles de resistencia prácticos para diferentes modelos de amenaza
El nivel adecuado de resistencia a las huellas digitales depende de lo que intentas defender. Algunos escenarios comunes:
Privacidad casual («no quiero que la tecnología publicitaria me perfile»)
Un navegador estándar (Safari, Firefox, Brave) con la configuración de protección contra rastreo predeterminada activada, más filtrado de rastreadores a nivel de red. Esto bloquea la mayor parte de los scripts de fingerprinting estándar (que se cargan desde dominios de terceros conocidos) y limita el rastreo entre sitios a través del almacenamiento. Tu huella sigue siendo individualmente identificadora si un sitio se toma la molestia de calcularla, pero la mayoría no lo hace: la relación coste-beneficio no lo justifica para sitios que no son críticos para sus ingresos. La postura de privacidad predeterminada gestiona el 80% de la amenaza con prácticamente ningún coste de usabilidad.
Resistencia a la vigilancia («soy periodista, activista o investigador»)
Tor Browser para las actividades que quieres que sean anónimas. Un navegador estándar separado para todo lo demás. Evita mezclar identidades entre los dos navegadores. Ten en cuenta que incluso dentro de Tor Browser, el fingerprinting de comportamiento (ritmo de escritura, patrones de navegación) puede seguir identificándote ante un adversario suficientemente motivado. La propia documentación del Proyecto Tor es el lugar adecuado para los detalles específicos de este modelo de amenaza. Las defensas a nivel de red ayudan, pero el navegador es la principal superficie defensiva.
Adversario a nivel de estado
Evaluación honesta: frente a un adversario estatal con recursos para combinar observación de red, fingerprinting de dispositivos, análisis de comportamiento y trabajo de inteligencia tradicional, la resistencia a huellas digitales a nivel de navegador es una entrada entre muchas. Tor Browser sigue siendo útil (eleva el coste), pero las prácticas de seguridad operacional (dispositivos compartimentados, separación de identidades disciplinada, formación en OPSEC) importan más que cualquier configuración de navegador. Este es el modelo de amenaza para el que el Proyecto Tor diseña explícitamente; las herramientas de privacidad para consumidores no están diseñadas para él.
Para la mayoría de los lectores —los dos primeros modelos de amenaza— el consejo práctico es: usa un navegador moderno que respete la privacidad (Brave, Firefox con ajustes razonables o Safari), activa su protección integrada contra rastreo, añade filtrado a nivel de red por encima y reconoce que el fingerprinting es un riesgo residual real que ninguna herramienta de consumo aborda completamente. La combinación es significativamente mejor que el estado predeterminado: sin ella, eres individualmente identificable en cada sitio que visitas; con ella, eres identificable principalmente en sitios que invierten específicamente en fingerprinting y están dispuestos a dedicar el esfuerzo de ingeniería.
Casper's Cloak aborda la parte de la pila defensiva correspondiente a la capa de red. Nuestro filtrado de rastreadores bloquea los endpoints de fingerprinting conocidos a nivel DNS, junto con el ecosistema más amplio de tecnología publicitaria y analítica. El túnel VPN oculta tu IP e impide que tu proveedor de internet observe qué sitios visitas. Ninguno de los dos aborda la superficie de huella digital a nivel de navegador; para eso, elige tu navegador con cuidado y considera Tor Browser cuando el modelo de amenaza lo justifique. La combinación de un navegador bien elegido y filtrado a nivel de red es la postura de máximo esfuerzo realista para la mayoría de los usuarios, y es sustancialmente mejor que el estado predeterminado.
Para la referencia canónica y una medición rápida de tu entropía personal, ejecuta la herramienta Cover Your Tracks de la EFF en el navegador que uses habitualmente. El resultado te dirá, en bits concretos de entropía, cuán identificadora es tu configuración actual. A partir de ahí, el equilibrio entre privacidad y usabilidad se convierte en una decisión cuantitativa en lugar de un vago gesto hacia «más privacidad».
Conclusión: la resistencia a las huellas digitales es real, imperfecta, y la postura adecuada depende de tu modelo de amenaza. La respuesta honesta a «¿cómo evito el fingerprinting?» es: «no puedes evitarlo del todo, pero puedes reducir sustancialmente quién puede hacerlo, qué ve y cuán estable es el identificador entre visitas».