Fingerprint de fontes: como os sites detectam suas fontes

O fingerprint de fontes usa as fontes e o comportamento de renderização de texto disponíveis para uma página como pistas sobre o ambiente. Um site pode testar uma lista de nomes de fontes, medir o texto e comparar o resultado com uma fonte de fallback.

Dois navegadores com a mesma versão ainda podem renderizar texto de forma diferente, porque o sistema operacional, as fontes disponíveis ou as configurações de privacidade são diferentes. A medição expõe parte desse ambiente; o quanto ela revela depende do método.

Objetivos de aprendizado

Após ler este artigo, você será capaz de:

  • Explicar o teste de fontes candidatas e o comportamento de fallback
  • Distinguir a medição indireta do acesso a fontes controlado por permissão
  • Interpretar resultados de fontes correspondentes ou ausentes

Por que as fontes podem distinguir ambientes de navegador

As fontes disponíveis para uma página refletem o sistema, os recursos instalados e a política do navegador.

Os sistemas operacionais vêm com fontes padrão diferentes. O suporte a idiomas e os aplicativos podem adicionar mais. Uma página também pode baixar suas próprias web fonts, o que pode fazer com que o texto normal pareça semelhante entre computadores, sem impedir outros testes de fontes.

Mesmo quando o nome de uma fonte coincide, as versões da fonte e os componentes de renderização de texto podem afetar o espaçamento ou os pixels. A disponibilidade da fonte e o resultado da renderização são observações relacionadas, mas respondem a perguntas diferentes.

Como um site testa uma fonte

Um método comum compara as dimensões de uma amostra renderizada com uma fonte candidata e com uma de fallback.

Se a candidata estiver disponível e for usada, a largura ou a altura podem ser diferentes da medição do fallback. Um teste repete isso ao longo de uma lista escolhida. A lista resultante reflete as candidatas testadas e o método, em vez de enumerar automaticamente todas as fontes instaladas.

O texto também pode ser desenhado em um Canvas. Isso combina a seleção de fontes com outros comportamentos de renderização. Um acesso mais amplo por meio de uma API de fontes locais é uma capacidade separada do navegador e pode exigir permissão; não deve ser confundido com a medição indireta comum.

Como ler um resultado de fontes

Verifique o que o teste realmente tentou antes de interpretar uma fonte como presente ou ausente.

ResultadoO que verificar em seguida
Uma candidata aparece como disponívelEla foi medida indiretamente ou retornada por uma API controlada por permissão?
Uma fonte está ausente do relatórioEla estava na lista de candidatas, e a política do navegador permitiu o acesso?
Dois perfis têm a mesma listaEles usam o mesmo dispositivo e a mesma política de acesso a fontes?
As métricas de texto mudaramA fonte, o zoom, a versão do navegador ou o caminho de renderização mudou?

Use um único teste para comparações de antes e depois. Mudar a lista de candidatas ou o texto de amostra pode alterar o relatório, mesmo que nada tenha sido instalado ou removido.

Por que as medições de fontes precisam de contexto

Uma combinação de fontes distinta pode contribuir para uma comparação de ambientes. O contexto mantém essa observação útil: uma fonte medida, por si só, não identifica o aplicativo que a instalou nem a pessoa que a está usando.

Interpretando o resultado

  • Um teste de fontes candidatas cobre a lista escolhida, não necessariamente todas as fontes instaladas.
  • As proteções do navegador podem restringir a disponibilidade de fontes ou expor um conjunto padronizado.
  • Resultados de fontes iguais são compatíveis com muitos dispositivos diferentes.

Perguntas frequentes

Os sites podem ver todas as fontes que tenho instaladas?

Os testes comuns de candidatas fornecem evidências indiretas sobre as fontes que eles tentam. Um navegador pode oferecer acesso mais amplo às fontes locais sob requisitos separados de permissão e suporte.

As web fonts impedem o fingerprint de fontes?

Uma fonte baixada pode reduzir as diferenças no texto da própria página. Um script ainda pode tentar outras medições suportadas.

O fingerprint de fontes é o mesmo que o fingerprint de Canvas?

Os testes de fontes podem medir disponibilidade ou dimensões. Os testes de Canvas medem o resultado renderizado, que pode incluir texto. Eles podem se sobrepor sem serem idênticos.

Referências

Próximos passos

Tamanho de tela e informações do dispositivo

Fingerprint de Canvas