Retour au Blog
Empreinte

Protection de l'empreinte de polices avec BotBrowser

Comment BotBrowser controle les listes de polices et les metriques de texte au niveau du moteur du navigateur pour des signaux de polices coherents entre les plateformes.

Le risque pour la vie privee

Les polices installees et les metriques de rendu de texte creent un signal de suivi. La combinaison des polices disponibles varie selon le systeme d'exploitation, les applications installees et les packs de langue. Les APIs de mesure de texte produisent egalement des resultats specifiques a la plateforme en raison des differences dans les moteurs de rendu de polices.

La solution BotBrowser

BotBrowser controle les signaux lies aux polices au niveau du moteur du navigateur, pas par injection JavaScript ou blocage d'API.

Listes de polices coherentes avec la plateforme

Quand un profil cible une plateforme specifique, BotBrowser rapporte les polices appropriees independamment du systeme d'exploitation hote :

chrome --bot-profile="/path/to/windows-profile.enc" \
       --user-data-dir="$(mktemp -d)"

Les requetes d'enumeration de polices retournent le jeu de polices correct pour la plateforme cible.

Alignement des metriques de polices

Les APIs de mesure de texte retournent des metriques coherentes avec le moteur de rendu de polices de la plateforme cible :

  • Resultats de measureText()
  • Dimensions de decalage des elements avec des polices specifiques
  • Mesures de boite englobante des polices

Pas de blocage necessaire

Contrairement aux extensions qui bloquent l'acces aux polices (ce qui est en soi detectable), BotBrowser permet l'utilisation normale des APIs de polices tout en controlant les resultats. Les sites web fonctionnent normalement, mais les signaux correspondent au profil.

Verification

Apres avoir charge un profil, verifiez la coherence des polices :

const { chromium } = require('playwright-core');

const browser = await chromium.launch({
  executablePath: '/path/to/botbrowser/chrome',
  args: [
    '--bot-profile=/path/to/windows-profile.enc',
  ],
  headless: true,
});

const page = await (await browser.newContext()).newPage();

const fontCheck = await page.evaluate(() => {
  const canvas = document.createElement('canvas');
  const ctx = canvas.getContext('2d');
  ctx.font = '72px monospace';
  const fallbackWidth = ctx.measureText('mmmmm').width;

  ctx.font = '72px Arial, monospace';
  const arialWidth = ctx.measureText('mmmmm').width;

  return {
    arialAvailable: arialWidth !== fallbackWidth,
    arialWidth,
    fallbackWidth,
  };
});

console.log('Verification des polices:', fontCheck);

Verifications cles :

  1. La disponibilite des polices correspond a la plateforme cible
  2. Les metriques de texte ne revelent pas le systeme d'exploitation hote reel
  3. Pas d'avertissements "font access blocked"

Pour commencer

  1. Telechargez BotBrowser depuis GitHub
  2. Chargez un profil correspondant a votre plateforme souhaitee avec --bot-profile
  3. Testez la coherence des polices avec des outils de test d'empreinte
  4. Lisez le guide des polices pour plus de details
#fonts#fingerprinting#privacy#text-metrics#tracking