Explicado
O fingerprinting de navegador coleta um conjunto de atributos do seu navegador e os transforma em um identificador estável. Mesmo sem cookies, a combinação de User-Agent, idioma, fuso horário, resolução de tela, fontes instaladas, hash de renderização canvas, string do renderizador WebGL, fingerprint do contexto de áudio e dezenas de outros sinais é única o suficiente para identificar um único navegador entre sessões com precisão surpreendente.
As duas grandes categorias são fingerprinting passivo e ativo. O fingerprinting passivo lê atributos que o navegador expõe implicitamente: User-Agent, Accept-Language, client hints sec-ch-ua. O fingerprinting ativo executa JavaScript que sonda o mecanismo de renderização do navegador, o mecanismo de áudio, a GPU e características de temporização, e então calcula um hash.
Para scraping e automação, o fingerprinting importa porque a rotação de IP sozinha não é suficiente. Se você rotaciona por 10.000 IPs residenciais, mas cada requisição carrega o mesmo fingerprint de canvas e o mesmo User-Agent padrão do Playwright, o destino pode correlacionar todas as 10.000 requisições à mesma instância de scraper. Sistemas modernos anti-bot (Cloudflare, Akamai, PerimeterX, Datadome) usam fingerprinting intensamente junto com análise de IP.
Como Funciona
Quando seu navegador carrega uma página com código de fingerprinting, o script enumera propriedades do navegador (UA, idioma, plugins, tela, fuso horário), desenha um canvas oculto com texto e gradientes específicos e depois lê os pixels renderizados (fingerprint de canvas), cria um contexto WebGL e lê as strings de fabricante e renderizador da GPU (fingerprint de WebGL), gera um tom com a API de áudio e lê o espectro (fingerprint de áudio), e cronometra operações específicas (math.tan, drift de performance.now) para sinais de hardware.
Todos esses valores são transformados em hash para formar um ID de fingerprint e enviados de volta ao servidor. Como a combinação de até mesmo uma dúzia desses atributos é altamente única, o ID resultante identifica de forma estável o navegador mesmo após limpar cookies, iniciar novas sessões e mudar de IP.