O que é Screen Fingerprinting? Como Resolução e Dados de Monitor Rastreiam Você
Navegador & Dispositivo

O que é Screen Fingerprinting? Como Resolução e Dados de Monitor Rastreiam Você

O screen fingerprinting lê resolução de tela, profundidade de cor, razão de pixels e dimensões de viewport para construir um perfil de hardware único que identifica seu dispositivo entre sessões.

7 min de leitura·

O screen fingerprinting (impressão digital de tela) lê a resolução, a densidade de pixels e a profundidade de cor do seu monitor por meio das APIs nativas do navegador para construir um identificador estável que persiste entre sessões, janelas privadas e conexões VPN. Você pode ver exatamente o que sua tela expõe agora mesmo no whatsmy.fyi.

Resumo

O screen fingerprinting combina valores de window.screen e window.devicePixelRatio — sua resolução de tela, viewport disponível, profundidade de cor e razão de densidade de pixels — para criar um identificador persistente do dispositivo. Por conta própria, contribui com 3–5 bits de entropia; combinado com outros sinais de fingerprinting, torna-se um rastreador confiável entre sessões que nenhuma quantidade de limpeza de cookies ou navegação privada consegue derrotar.

O que é Screen Fingerprinting?

O screen fingerprinting é uma técnica passiva de rastreamento do navegador que coleta características do monitor expostas pela API Screen e pela propriedade window.devicePixelRatio. Essas APIs foram projetadas para ajudar desenvolvedores web a construir layouts responsivos e dimensionar corretamente imagens para telas de alta densidade — mas ao mesmo tempo entregam aos scripts de fingerprinting uma descrição detalhada do seu monitor físico e configuração de hardware.

Ao contrário do canvas ou WebGL fingerprinting, o screen fingerprinting não requer renderização — os valores estão disponíveis de forma síncrona, sem qualquer computação, no instante em que uma página é carregada. Uma única linha de JavaScript é suficiente para ler o perfil completo de tela de um dispositivo. Isso o torna um dos vetores de fingerprinting de menor custo e maior disponibilidade para os rastreadores.

O screen fingerprinting é um sinal-chave na família mais ampla de técnicas de browser fingerprinting. É rotineiramente combinado com dados de GPU do WebGL fingerprinting, dados da pilha de áudio do áudio fingerprinting, e diferenças de renderização capturadas pelo canvas fingerprinting para formar um identificador composto.

Como Funciona o Screen Fingerprinting?

Todo navegador expõe um conjunto de propriedades somente leitura que descrevem o monitor físico e a relação entre pixels CSS e pixels físicos. Os scripts de fingerprinting coletam todos eles em uma única passagem.

As Propriedades Principais

screen.width / screen.height — As dimensões totais em pixels do monitor físico, reportadas em pixels CSS. Um monitor 1920×1080 a 100% de escalonamento reporta 1920 × 1080. O mesmo monitor a 125% de escalonamento no Windows reporta 1536 × 864, revelando imediatamente a configuração de escalonamento do SO.

window.devicePixelRatio — A razão entre pixels físicos e pixels CSS. Um monitor 1080p padrão tem razão 1. Um MacBook Pro Retina tem2. Um Android flagship moderno a 3× de escalonamento tem 3. Este único valor distingue confiavelmente dispositivos HiDPI de monitores padrão, Macs Retina de máquinas Windows, e celulares básicos de modelos top de linha.

screen.colorDepth / screen.pixelDepth — O número de bits usados para representar a cor de cada pixel. Na prática é 24em praticamente todo dispositivo moderno, mas sistemas legados e algumas configurações de desktop remoto retornam 16 ou 8.

O Código

// Screen fingerprinting — all values are synchronous, no rendering needed
function getScreenFingerprint() {
  const dpr = window.devicePixelRatio;

  return {
    // Physical display dimensions (CSS pixels)
    screenWidth:      window.screen.width,
    screenHeight:     window.screen.height,

    // Available area after system UI (taskbar, dock)
    availWidth:       window.screen.availWidth,
    availHeight:      window.screen.availHeight,

    // HiDPI / Retina ratio — key differentiator
    devicePixelRatio: dpr,

    // Physical pixels (what the GPU actually renders)
    physicalWidth:    Math.round(window.screen.width * dpr),
    physicalHeight:   Math.round(window.screen.height * dpr),

    // Color depth — usually 24; lower values flag VMs or legacy systems
    colorDepth:       window.screen.colorDepth,
    pixelDepth:       window.screen.pixelDepth,

    // Viewport — reflects browser window state at load time
    innerWidth:       window.innerWidth,
    innerHeight:      window.innerHeight,

    // Orientation
    orientation:      screen.orientation?.type ?? 'unknown',
  };
}

// Example output — MacBook Pro 14-inch (2023), Chrome, fullscreen
// {
//   screenWidth: 1512, screenHeight: 982,
//   availWidth: 1512,  availHeight: 932,   ← 50px macOS menubar
//   devicePixelRatio: 2,
//   physicalWidth: 3024, physicalHeight: 1964,
//   colorDepth: 24, pixelDepth: 24,
//   innerWidth: 1512, innerHeight: 879,
//   orientation: 'landscape-primary'
// }

Quão Única é uma Impressão Digital de Tela?

Sinal / DescobertaValorFonte
Entropia da resolução de tela sozinha~3,3 bitsEFF Cover Your Tracks
Entropia com devicePixelRatio adicionado~4,8 bitsBrowserLeaks
Resolução de tela mais comum globalmente (1920×1080)~24% dos usuáriosStatcounter GlobalStats, 2025
Usuários com perfil de tela único (resolução + DPR + escalonamento do SO)~18%Pesquisa Fingerprint.com
Precisão combinada (tela + canvas + WebGL)>95%Fingerprint.com Pro

Como se Proteger do Screen Fingerprinting

  • Tor Browser (proteção mais forte): O Tor normaliza todos os valores de tela — reporta uma resolução padronizada de 1000×900 e fixa devicePixelRatio em 1, independentemente do seu monitor real.
  • Firefox com privacy.resistFingerprinting (RFP): Quando RFP está ativado, o Firefox arredonda as dimensões de tela para um valor padronizado e limita devicePixelRatio a 1.
  • Brave Browser (recomendado para uso diário): O Brave aplica sua técnica Farbling aos dados de tela — introduz um pequeno valor de ruído por sessão e por origem nas propriedades de tela.
  • Evite escalonamento não padrão do SO: Usuários do Windows que definem escalonamento de tela para 125% ou 150% produzem valores incomuns de screenWidth que são mais identificadores.
  • VPN — útil, mas insuficiente: Uma VPN mascara seu endereço IP, mas tem efeito zero nas suas propriedades de tela. Verifique o que seu IP real revela no whatsmy.fyi.

Perguntas Frequentes

O screen fingerprinting funciona no modo incógnito ou privado?

Sim. O modo de navegação privada não altera seu monitor físico. Seus valores de screen.width, screen.height e devicePixelRatiosão idênticos no modo incógnito e em uma janela normal.

O screen fingerprinting é mais preciso em celular ou desktop?

Dispositivos móveis produzem maior entropia combinada porque a fragmentação de resolução e DPR é muito maior no ecossistema Android. Desktop é mais homogêneo — 1920×1080 a 100% de escalonamento domina — mas usuários do Windows com escalonamentos não padrão produzem valores incomuns que aumentam a unicidade.

Artigos Relacionados

Verifique seu endereço IP, localização e pontuação de privacidade — instantaneamente.

Zero logs. Zero rastreamento. Zero APIs externas.

Executar a verificação agora →

Artigos relacionados

O que é Screen Fingerprinting? Como Resolução e Dados de Monitor Rastreiam Você | whatsmy.fyi