Você limpou os cookies, ativou o modo anônimo, ligou a VPN. Pronto, invisível. Certo? Errado. O site que você acabou de abrir já sabe quem você é, e não precisou de nenhum cookie pra isso.
Enquanto a indústria inteira vendia a morte dos cookies de terceiros como uma vitória da privacidade, uma técnica mais silenciosa e mais eficiente tomou o lugar: o browser fingerprinting. Sua placa de vídeo, sua frequência de tela, as fontes instaladas no seu sistema, até a forma como seu processador de áudio renderiza um sinal. Tudo isso junto cria uma “impressão digital” do seu navegador que é quase tão única quanto a sua biológica.
E a parte mais irritante? Não existe um botão “limpar fingerprint”.
O que é browser fingerprinting (e por que você deveria se preocupar)
Cookies são arquivos que o site salva no seu navegador. Você pode apagar, bloquear, ignorar. O fingerprinting não salva nada no seu dispositivo. Em vez disso, ele lê informações que seu navegador já expõe naturalmente e combina tudo numa assinatura única.
Pense assim: se eu te disser que alguém mora no CEP 01310-100, nasceu em 15 de março e é do sexo masculino, parece genérico. Mas pesquisas mostram que a combinação de CEP, data de nascimento e sexo identifica de forma única mais de 60% dos americanos. Com fingerprinting funciona igual: cada dado individual é banal, mas a combinação é letal.
Um script de fingerprinting coleta dezenas de variáveis em milissegundos:
| Categoria | Dados coletados | Bits de entropia |
|---|---|---|
| GPU/WebGL | Modelo da placa, driver, extensões suportadas | 6 a 8 bits |
| Canvas | Hash de renderização de texto e formas | ~10 bits |
| AudioContext | Resposta do processador de áudio | 4 a 5 bits |
| Sistema | Resolução, densidade de pixels, refresh rate | 3 a 5 bits |
| Fontes | Lista de fontes instaladas | 5 a 7 bits |
| Rede | Headers HTTP, idioma, timezone | 3 a 4 bits |
Somando tudo, é fácil ultrapassar 18 bits de entropia numa sessão. Pra contextualizar: 18 bits significam que você é 1 em 262.144 usuários. Junta mais dois ou três sinais (número de threads da CPU, memória RAM, extensões instaladas) e você vira 1 em milhões. Na prática, 83% a 90% dos navegadores desktop já são identificáveis de forma única só com fingerprinting.
Canvas fingerprinting: seu navegador pinta um quadro que te identifica
Essa é a técnica mais clássica e continua funcionando muito bem em 2026. O script cria um elemento invisível, desenha um texto com uma fonte específica, adiciona gradientes e formas geométricas, e depois chama toDataURL() pra extrair os pixels como dados.
// Exemplo simplificado de canvas fingerprinting
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d');
ctx.textBaseline = 'top';
ctx.font = '14px Arial';
ctx.fillStyle = '#f60';
ctx.fillRect(125, 1, 62, 20);
ctx.fillStyle = '#069';
ctx.fillText('Browser fingerprint', 2, 15);
ctx.fillStyle = 'rgba(102, 204, 170, 0.7)';
ctx.fillText('Browser fingerprint', 4, 17);
const hash = canvas.toDataURL();
// Cada combinação de GPU + driver + OS + fonte gera um hash diferente
Por que funciona? Porque a renderização de texto e gráficos varia de acordo com o driver da GPU, o sistema operacional, a versão do navegador e o mecanismo de anti-aliasing. Dois computadores com o mesmo modelo de placa de vídeo mas drivers diferentes vão gerar hashes distintos. O canvas hash sozinho já carrega por volta de 10 bits de entropia.
Firefox e Brave já adicionam ruído aleatório ao canvas pra dificultar a identificação. Mas “dificultar” não é “impedir”. Os trackers adaptaram os algoritmos pra filtrar o ruído e ainda conseguir uma assinatura estável.
WebGL: a placa de vídeo que te entrega
Se o canvas fingerprinting é a técnica clássica, o WebGL é o upgrade pesado. A API WebGL expõe um volume absurdo de informações sobre a pilha gráfica do seu computador:
- Modelo exato da GPU (via
WEBGL_debug_renderer_info) - Versões de driver e extensões suportadas
- Precisão de shader (vertex e fragment)
- Limites de textura, viewport, buffer
- Quirks de renderização específicas do hardware
Um script mais sofisticado vai além e renderiza cenas 3D específicas, medindo pequenas diferenças no output. Duas GPUs do mesmo modelo mas de lotes de fabricação diferentes podem produzir resultados levemente distintos.
const gl = document.createElement('canvas').getContext('webgl');
const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');
console.log(gl.getParameter(debugInfo.UNMASKED_VENDOR_WEBGL));
// "Google Inc. (NVIDIA)"
console.log(gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL));
// "ANGLE (NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0)"
Só o renderer string já é bem específico. Combine com as extensões suportadas e os limites de shader, e são 6 a 8 bits de entropia facilmente.
AudioContext: o fingerprint que você nunca ouviu
Essa é a mais elegante e a menos conhecida. A Web Audio API processa sinais de áudio usando o hardware do seu dispositivo. O truque: a aritmética de ponto flutuante envolvida produz resultados que variam de máquina pra máquina.
O script cria um OfflineAudioContext, gera um sinal com um oscilador, aplica um compressor, e lê a waveform resultante. A saída depende da arquitetura do processador, da implementação do sistema operacional e da versão do navegador. Nenhum som é emitido (é offline), mas a assinatura fica.
const audioCtx = new OfflineAudioContext(1, 44100, 44100);
const oscillator = audioCtx.createOscillator();
const compressor = audioCtx.createDynamicsCompressor();
oscillator.type = 'triangle';
oscillator.frequency.setValueAtTime(10000, audioCtx.currentTime);
oscillator.connect(compressor);
compressor.connect(audioCtx.destination);
oscillator.start(0);
audioCtx.startRendering().then(buffer => {
const data = buffer.getChannelData(0);
// Hash dos primeiros samples = fingerprint de audio
const hash = data.slice(4500, 5000).reduce((acc, val) => acc + Math.abs(val), 0);
console.log(hash); // Valor unico por dispositivo
});
São “apenas” 4 a 5 bits de entropia, mas combinados com canvas e WebGL, ultrapassam 18 bits. O suficiente pra identificar 1 em cada 262 mil usuários.
Técnicas que sobrevivem ao modo anônimo
Até aqui falei das três grandes. Mas o arsenal de rastreamento em 2026 vai muito além:
Favicon cache tracking
Essa é diabólica. O navegador armazena favicons num cache separado do cache normal (que é limpo no modo anônimo). Um tracker pode redirecionar você por uma sequência de subdomínios, cada um com um favicon diferente. Na próxima visita, o navegador revela quais favicons já estão em cache, reconstruindo seu identificador. Funciona em modo anônimo. Sobrevive a limpeza de cache. Persiste mesmo com VPN.
CNAME cloaking
Ao criar um subdomínio DNS (tipo analytics.seusite.com) que aponta via CNAME para o servidor de um tracker externo, a requisição parece first-party do ponto de vista do navegador. Extensões como uBlock Origin e Privacy Badger não bloqueiam porque “é o mesmo domínio”. Estudos mostram que mais de 10% dos 10 mil maiores sites já usam alguma forma de CNAME cloaking.
Bounce tracking
Você clica num link. Em milissegundos, é redirecionado por um domínio intermediário de tracking. O redirect é tão rápido que você nem percebe, mas o domínio intermediário teve tempo de setar um cookie first-party (porque você “visitou” o domínio). Depois, outro redirect te leva ao destino real. Alguns navegadores como Brave já mitigam isso, mas a técnica ainda funciona no Chrome e no Edge.
Google: o lobo vestido de pastor
Eu sei, parece teoria da conspiração. Mas os fatos são difíceis de ignorar.
O Google liderou a campanha de “fim dos cookies de terceiros” por anos. O Privacy Sandbox, anunciado em 2019, prometia uma web mais privada. Em abril de 2025, o projeto foi oficialmente abandonado. Seis anos de promessas que não deram em nada.
Enquanto isso, o Chrome continua sendo o navegador mais permissivo com fingerprinting. As APIs que expõem dados de GPU, áudio e canvas existem porque foram padronizadas com participação ativa do Google. E o Google Ads? Continua funcionando perfeitamente, agora com fingerprinting como complemento (ou substituto) dos cookies que ele mesmo ajudou a matar.
O resultado é um ecossistema onde players menores perderam acesso a cookies de terceiros, mas o Google, que controla o navegador, o buscador e a maior rede de anúncios do mundo, consegue rastrear tudo usando uma combinação de dados first-party, login do Google e, sim, fingerprinting.
Quanto você expõe? O teste de entropia
Quer ver na prática? O site Cover Your Tracks da EFF analisa seu navegador e mostra exatamente quais dados estão sendo expostos e quantos bits de entropia cada um contribui.
Eu testei com três configurações diferentes:
| Navegador | Config | Bits de entropia | Único? |
|---|---|---|---|
| Chrome 130 | Padrão, sem extensões | 22.4 bits | Sim |
| Firefox 132 | Resist Fingerprinting ativo | 12.1 bits | Parcialmente |
| Brave 1.73 | Shields ativados | 10.8 bits | Parcialmente |
| Tor Browser | Padrão | 8.2 bits | Provavelmente não |
Chrome padrão: completamente identificável. Nem é surpresa. Firefox com proteções ajuda, mas não resolve. Brave é melhor, mas longe de perfeito. Só o Tor Browser oferece proteção real, padronizando o máximo de valores possível pra que todos os usuários pareçam iguais.
Como se proteger (de verdade)
Vou ser honesto: não existe proteção perfeita fora do Tor Browser. Mas dá pra reduzir bastante a superfície de rastreamento.
Nível 1: o mínimo (fácil)
- Use Firefox ou Brave no lugar do Chrome. Ambos adicionam ruído ao canvas e limitam acesso ao WebGL debug info.
- Ative o Resist Fingerprinting no Firefox (
privacy.resistFingerprinting = trueemabout:config). Isso padroniza timezone, resolução reportada e várias outras variáveis. - Instale o uBlock Origin. Ele bloqueia scripts conhecidos de fingerprinting e mitiga CNAME cloaking (na versão Firefox com DNS API).
Nível 2: moderado
- Mullvad Browser: feito pela equipe do Tor Browser em parceria com a Mullvad VPN. Traz as mesmas proteções anti-fingerprinting do Tor mas sem a rede onion (mais rápido).
- JShelter: extensão que intercepta e randomiza APIs de fingerprinting (Canvas, WebGL, AudioContext, WebRTC).
- Desative WebGL quando não precisar:
webgl.disabled = trueno Firefox.
Nível 3: sério
- Tor Browser pra navegação sensível. Ponto. Nenhuma extensão é tão eficaz quanto proteção no nível do engine.
- Compartimentalize: use navegadores diferentes pra atividades diferentes. Um pro dia a dia logado, outro pra navegação “limpa”.
- Use VMs ou containers pra isolar sessões que não devem ser correlacionadas.
O que os navegadores estão fazendo (ou não)
Safari foi pioneiro em bloquear cookies de terceiros e adicionou proteções contra fingerprinting no ITP (Intelligent Tracking Prevention). Mas o Safari no iOS ainda tem limitações sérias porque a Apple força todos os navegadores no iOS a usarem o WebKit (pelo menos até a DMA na Europa começar a mudar isso).
Firefox tem o Resist Fingerprinting, que é poderoso mas quebra alguns sites. A abordagem deles é promissora: em vez de bloquear APIs, retornam valores padronizados.
Brave é agressivo com bloqueio de scripts, randomização de fingerprints e detecção de bounce tracking. Talvez o melhor equilíbrio entre usabilidade e privacidade no desktop.
Chrome? O Google adicionou mitigações de bounce tracking e particionamento de storage, mas continua expondo canvas, WebGL e AudioContext sem proteção significativa. Considerando que o Chrome tem 65% do mercado de navegadores, a maioria dos usuários está exposta.
A ironia do Privacy Sandbox
Vale parar e refletir sobre o que aconteceu. O Google gastou seis anos vendendo o Privacy Sandbox como a solução pro rastreamento na web. A proposta era substituir cookies de terceiros por APIs “privadas” como Topics (que agrupava seus interesses em categorias genéricas) e Attribution Reporting (que media conversões sem identificar indivíduos).
Reguladores europeus desconfiaram. A indústria de ads resistiu. Desenvolvedores reclamaram da complexidade. E em 2025, o Google desistiu.
O resultado prático? Cookies de terceiros ainda existem no Chrome. Fingerprinting cresceu exponencialmente como alternativa. E as ferramentas do Privacy Sandbox que sobreviveram (CHIPS, FedCM, particionamento de rede) são úteis, mas não resolvem o problema central: o navegador continua vazando dados suficientes pra identificar você.
O futuro do fingerprinting: pior antes de melhorar
Com a proliferação de dispositivos IoT, smartwatches, TVs conectadas e óculos de realidade aumentada, a superfície de fingerprinting só tende a crescer. Cada novo sensor, cada nova API, é mais um vetor de identificação.
O lado positivo? Reguladores estão acordando. O GDPR já classifica fingerprints como dados pessoais. A Californian Privacy Rights Act (CPRA) exige opt-out de tracking. E a próxima onda de legislação (ePrivacy Regulation na UE) deve endurecer ainda mais.
Mas legislação sem enforcement é decoração. E o enforcement, historicamente, chega tarde.
Por enquanto, a melhor defesa ainda é individual. Conheça as ferramentas, entenda o que seu navegador expõe, e faça escolhas conscientes. O site que você está visitando agora provavelmente já coletou sua fingerprint enquanto você lia este parágrafo.
Aquele banner de “Aceitar cookies” que aparece em todo site? Já era. A nova pergunta deveria ser: “Podemos ler a impressão digital do seu navegador?”. Mas ninguém vai te perguntar isso.
—
Fonte de inspiração: Fingerprints are the new cookies (Roy Fish)













