Explicado
El fingerprinting de navegador recopila un conjunto de atributos de su navegador y los convierte en un identificador estable. Incluso sin cookies, la combinación de User-Agent, idioma, zona horaria, resolución de pantalla, fuentes instaladas, hash de renderizado de canvas, cadena del renderer WebGL, huella digital del contexto de audio y docenas de otras señales es lo suficientemente única como para identificar un único navegador entre sesiones con una precisión sorprendente.
Las dos grandes categorías son el fingerprinting pasivo y el activo. El fingerprinting pasivo lee atributos que el navegador expone de forma implícita: User-Agent, Accept-Language, client hints sec-ch-ua. El fingerprinting activo ejecuta JavaScript que sondea el motor de renderizado del navegador, el motor de audio, la GPU y las características de temporización, y luego calcula un hash.
Para el scraping y la automatización, el fingerprinting importa porque la rotación de IPs por sí sola no es suficiente. Si rota entre 10.000 IPs residenciales pero cada solicitud lleva la misma huella digital de canvas y el mismo User-Agent predeterminado de Playwright, el destino puede correlacionar las 10.000 solicitudes con la misma instancia de scraper. Los sistemas anti-bot modernos (Cloudflare, Akamai, PerimeterX, Datadome) utilizan intensamente el fingerprinting junto con el análisis de IPs.
Cómo funciona
Cuando su navegador carga una página con código de fingerprinting, el script enumera las propiedades del navegador (UA, idioma, plugins, pantalla, zona horaria), dibuja un canvas oculto con texto y degradados específicos y luego lee los píxeles renderizados (huella digital de canvas), crea un contexto WebGL y lee las cadenas del proveedor y renderer de la GPU (huella digital WebGL), genera un tono con la API de audio y lee el espectro (huella digital de audio), y mide operaciones específicas (math.tan, deriva de performance.now) para obtener señales de hardware.
Todos esos valores se procesan en un ID de huella digital y se envían de vuelta al servidor. Dado que la combinación de incluso una docena de estos atributos es muy única, el ID resultante identifica de forma estable el navegador a través de cookies borradas, nuevas sesiones y diferentes IPs.