O color depth fingerprinting (impressão digital por profundidade de cor) lê screen.colorDepth e screen.pixelDepth — duas propriedades do navegador que revelam quantos bits por pixel seu monitor usa — e dobra esse valor no seu perfil único de navegador. Custa uma linha de JavaScript, não requer permissões e funciona em todos os navegadores desde 2015. Você pode ver o que seu navegador expõe agora mesmo no whatsmy.fyi.
Resumo
screen.colorDepth retorna um inteiro — quase sempre 24 ou 32 — que descreve quantos bits seu monitor usa para representar a cor de cada pixel. Por conta própria carrega entropia modesta (~0,87 bits), mas combinado com resolução de tela, razão de pixels do dispositivo, concorrência de hardware, timezone e dados de GPU, contribui para uma impressão digital que alcança mais de 99% de precisão na identificação de dispositivos individuais em milhões de perfis. Ao contrário dos cookies, não pode ser excluído, bloqueado por banners de cookies ou limpo com o histórico do navegador.
O que é Color Depth Fingerprinting?
O color depth fingerprinting é uma técnica dentro da prática mais ampla de browser fingerprinting — a coleta de atributos de navegador e hardware para identificar um dispositivo sem armazenar nada nele. Todo navegador expõe duas propriedades intimamente relacionadas na interface Screen:
screen.colorDepth— o número de bits usados para representar um único valor de cor no buffer de cor do dispositivo de saída (o próprio painel do monitor).screen.pixelDepth— a profundidade de bits da tela. Em todos os navegadores modernos, retorna o mesmo valor quecolorDepth.
Ambas as propriedades são somente leitura, não requerem gesto do usuário ou prompt de permissão, e são acessíveis em cada carregamento de página. Ao contrário do canvas fingerprinting ou WebGL fingerprinting, que requerem operações de renderização complexas, ler a profundidade de cor é instantâneo e sempre bem-sucedido.
Como Funciona o Color Depth Fingerprinting?
Um script de fingerprinting lê o valor em uma linha e depois o combina com dezenas de outros atributos para construir um perfil composto do dispositivo.
// Reading color depth — one line, no permissions, always succeeds
const colorDepth = screen.colorDepth; // e.g. 24 or 32
const pixelDepth = screen.pixelDepth; // identical on modern browsers
// Common values returned across real devices
// 24 — standard True Color (16.7 million colors)
// 30 — Deep Color / HDR panels (1 billion colors)
// 32 — True Color + 8-bit alpha channel (common on Windows)
// How a fingerprinter combines it with other screen signals
const screenProfile = {
colorDepth: screen.colorDepth,
pixelDepth: screen.pixelDepth,
width: screen.width,
height: screen.height,
availWidth: screen.availWidth,
availHeight: screen.availHeight,
devicePixelRatio: window.devicePixelRatio,
};
// This seven-value object produces millions of unique combinations
// across real-world device populations.Por que colorDepth e pixelDepth São Quase Sempre Idênticos
Historicamente, colorDepth referia-se apenas ao componente de cor (canais vermelho, verde, azul), enquanto pixelDepth incluía quaisquer bits adicionais, como um canal alpha. Na prática, todas as implementações dos principais navegadores convergiram para retornar o mesmo inteiro para ambos. As implementações reais retornam 24 ou 32 para a esmagadora maioria dos monitores desktop e 24 para dispositivos móveis.
A Peculiaridade de Padronização do Navegador
O Firefox e o Safari ambos retornam 24 independentemente da profundidade real do hardware, mesmo em monitores capazes de Deep Color de 30 bits. O Chrome reporta o verdadeiro valor do hardware. Isso significa que um usuário Chrome em um monitor Windows de 32 bits e um usuário Firefox em hardware idêntico reportam valores diferentes — uma diferença sutilmente identificadora que sistemas de fingerprinting registram ao lado da string user-agent do navegador.
Sinal de Profundidade de Cor: Estatísticas e Entropia
| Sinal / Descoberta | Valor | Fonte |
|---|---|---|
Entropia individual de screen.colorDepth | ~0,87 bits | Pesquisa Fingerprint.com |
| Valor dominante em dispositivos modernos | 24 bits (True Color) | Dados de compatibilidade CSSOM / navegador, 2025 |
| Unicidade de impressão digital combinada (33+ sinais incluindo profundidade de cor) | > 99% | Pesquisa Fingerprint.com |
| Navegadores com impressões digitais únicas (conjunto de dados EFF, 1M+ amostras) | 83,6% | EFF Cover Your Tracks |
| Valor reportado pelo Firefox / Safari (independente do hardware) | Sempre 24 | Dados de Compatibilidade do MDN, 2025 |
| Valor reportado pelo Chrome em drivers de monitor Windows 32 bits | 32 | BrowserLeaks |
Quem Usa Dados de Profundidade de Cor no Mundo Real?
Plataformas Comerciais de Fingerprinting
A Fingerprint.com lista explicitamente screen.colorDepth como um dos 33 ou mais sinais coletados em cada impressão digital. É usada em detecção de fraudes, prevenção de tomada de conta, detecção de bots e segurança de pagamentos por milhares de sites de e-commerce e bancários.
Ferramentas de Pesquisa de Privacidade
O Cover Your Tracks da EFF inclui resolução de tela e profundidade de cor como uma de suas dimensões de fingerprinting medidas. Após testar mais de um milhão de navegadores, a EFF concluiu que 83,6% dos navegadores carregam uma impressão digital completamente única.
Ad-Tech e Rastreamento Entre Sites
Redes de publicidade usam impressões digitais multi-sinal — incluindo profundidade de cor — para re-identificar usuários após a exclusão de cookies, entre sessões de navegação privada e entre diferentes navegadores no mesmo dispositivo.
Como se Proteger do Color Depth Fingerprinting
- Firefox com
privacy.resistFingerprinting(mais forte): Quando esta flag está definida comotruenoabout:config, o Firefox sempre reporta 24 paracolorDepthepixelDepth, independentemente do hardware real. - Tor Browser (máximo anonimato): O Tor Browser se baseia na resistência a fingerprinting do Firefox e padroniza todos os valores de tela — incluindo profundidade de cor — para que cada usuário Tor apareça idêntico.
- Brave Browser (recomendado para uso diário): O sistema Farbling do Brave não randomiza a profundidade de cor (um inteiro de baixa entropia), mas randomiza agressivamente sinais de maior entropia como saída de canvas e WebGL.
- Entenda os limites de medidas parciais: Mascarar apenas a profundidade de cor tem impacto mínimo na privacidade porque o valor é de baixa entropia e compartilhado por muitos usuários. A proteção eficaz requer cobrir o conjunto completo de sinais de fingerprinting simultaneamente. Verifique quão identificável é seu navegador atual no whatsmy.fyi.
Perguntas Frequentes
Que valores screen.colorDepth retorna?
Na prática, os valores que você verá em dispositivos reais são 24(True Color — o padrão universal desde o final dos anos 1990, suportando 16,7 milhões de cores), 32 (True Color mais um canal alpha de 8 bits, comum no Windows com certos drivers de monitor) e ocasionalmente 30(Deep Color / painéis HDR suportando 1,07 bilhão de cores).
O color depth fingerprinting funciona no modo privado / incógnito?
Sim. A navegação privada impede salvar cookies, histórico e dados de formulário no disco — mas não altera seu hardware de monitor ou os valores retornados pelas propriedades da Screen API. Seu screen.colorDepth é idêntico no modo incógnito e em uma janela normal do navegador.
Uma VPN muda minha impressão digital de profundidade de cor?
Não. Uma VPN muda seu endereço IP visível e roteia seu tráfego através de um túnel criptografado, mas não tem nenhum efeito no que seu navegador reporta para screen.colorDepth. Verifique o que sua VPN está e não está ocultando no whatsmy.fyi.
Quanto a profundidade de cor contribui para a unicidade da impressão digital?
Por conta própria, a profundidade de cor contribui com aproximadamente 0,87 bits de entropia — uma contribuição modesta porque a maioria dos dispositivos modernos compartilha o mesmo valor de 24 ou 32 bits. Sistemas de fingerprinting combinam 33 ou mais sinais, e cada sinal fraco adicional estreita o espaço de identificação.
Artigos Relacionados
- O que é Screen Fingerprinting? Como Resolução e Dados de Monitor Rastreiam Você — como screen.width, screen.height e devicePixelRatio se combinam para identificar seu dispositivo
- O que é Canvas Fingerprinting? Como Sites Rastreiam Você Sem Cookies — como diferenças de renderização de GPU produzem um identificador único no nível de pixel
- O que é Browser Fingerprinting? Como Sites Rastreiam Você Sem Cookies — o guia completo de todos os sinais de fingerprinting combinados
- O que é WebGL Fingerprinting? Como Sua GPU Identifica Seu Navegador — como a API de gráficos 3D expõe o fornecedor e modelo da sua GPU


