O que é a identificação por impressão digital em tela?
Identificação de impressões digitais no Canvas é uma técnica de rastreamento de navegador que insere imagens ocultas em um HTML5 <canvas> elemento, lê os dados de pixels resultantes e os transforma em um identificador estável do dispositivo por meio de um algoritmo de hash. Como as GPUs, os drivers, os sistemas operacionais e os renderizadores de fontes produzem pixels sutilmente diferentes a partir de instruções de desenho idênticas, esse hash é praticamente único para cada dispositivo. Não há uso de cookies e nada é armazenado no computador do usuário, o que torna difícil detectá-lo ou apagá-lo.
Como funciona a identificação por impressão digital em tela
Um script desenha texto e formas em um elemento HTML5 oculto <canvas>, e, em seguida, chama os métodos da API do Canvas toDataURL() para ler os dados dos pixels como uma imagem em Base64 e gerar um hash a partir deles. Pequenas diferenças específicas de cada dispositivo em relação à GPU, aos drivers, ao sistema operacional, à renderização de fontes e ao anti-aliasing fazem com que o hash resultante seja um identificador estável (Wikipédia - Identificação por impressão digital do Canvas, 2025). Toda a operação é executada silenciosamente no navegador, sem a necessidade de interação do usuário.
Os pixels renderizados variam porque cada camada da pilha gráfica, desde o firmware da placa de vídeo até o mecanismo de composição do sistema operacional, aplica suas próprias regras de arredondamento e mistura. Dois dispositivos com hardware idêntico ainda podem produzir resultados diferentes se as versões de seus drivers forem distintas. Isso torna a identificação por canvas mais persistente do que os cookies: limpar o armazenamento do navegador não tem efeito sobre as características de hardware subjacentes que determinam o resultado.
Casos de uso
Detecção de bots e prevenção de fraudes. As plataformas anti-bot incluem a identificação por impressão digital do canvas em seus conjuntos de sinais para distinguir navegadores genuínos de ferramentas de automação sem interface gráfica e ambientes emulados. Um navegador sem interface gráfica frequentemente gera um hash do canvas inconsistente com a string de user-agent declarada, o que sinaliza a solicitação como suspeita.
Detecção de fraudes publicitárias e tráfego inválido. Os provedores de verificação de anúncios utilizam impressões digitais de canvas para identificar o mesmo dispositivo em várias impressões falsas, mesmo quando os endereços IP são alternados. Isso ajuda os anunciantes a detectar tráfego inválido no nível do dispositivo, e não apenas no nível da rede.
Ambientes realistas de navegador para coleta de dados na web. Os desenvolvedores que coletam dados de sites protegidos contra bots precisam que o ambiente do navegador produza um hash de canvas consistente com um dispositivo de consumidor real. O encaminhamento de solicitações por meio de uma rede de proxies residenciais, na qual o tráfego é processado em hardware de consumidor genuíno, com GPUs reais e pilhas de drivers reais, produz sinais de impressão digital autênticos, em vez dos resultados uniformes típicos de instâncias headless do lado do servidor.
Perguntas frequentes
A identificação por canvas é utilizada principalmente para o rastreamento de usuários entre sites sem o uso de cookies, para a detecção de bots e navegadores emulados e para a prevenção de fraudes no nível do dispositivo. Os sistemas antibot geralmente combinam essa técnica com dezenas de outros sinais para calcular um índice de confiança.
Alguns navegadores e extensões voltados para a privacidade bloqueiam ou aleatorizam a saída do canvas para impedir a identificação por impressão digital. No entanto, uma aleatorização agressiva pode, por si só, parecer anômala para os sistemas de detecção de bots, pois os navegadores reais produzem hashes consistentes ao longo de várias visitas no mesmo dispositivo.
Os cookies são arquivos armazenados que o usuário pode excluir. A identificação por impressão digital do Canvas deriva um identificador a partir das características de hardware e software; portanto, limpar os cookies, alternar para o modo privado ou usar um perfil diferente do navegador não altera o hash subjacente gerado pela GPU e pelos drivers.
Ambos utilizam o pipeline gráfico do navegador, mas o fingerprinting via WebGL renderiza cenas 3D utilizando diretamente a GPU, enquanto o fingerprinting via canvas opera com instruções de desenho 2D. Trata-se de sinais complementares que os sistemas antibots e de análise costumam combinar para reforçar a identificação do dispositivo.