Retour au Centre de connaissances
Empreinte

Signaux navigateur Linux armv81 : limites de plateforme

Interpréter Linux armv81, les Client Hints et WebGL sans transformer la surface du navigateur en identité matérielle.

BotBrowser Team

Documentation

Vous voulez la documentation structurée pour Empreinte ?

Cet article fait partie de la bibliothèque éditoriale. Pour les étapes de configuration, la référence et les mises à jour continues, passez directement à la section docs.

Quand une page affiche Linux armv81, la question utile est de savoir quels champs sont visibles et quelles valeurs optionnelles n'ont pas été disponibles. La page /docs/platform/android-emulation/ explique pourquoi cette famille peut être présentée par BotBrowser, mais la chaîne n'est pas un identifiant d'appareil.

TL;DR

  • navigator.platform est une chaîne visible par la page, pas un modèle de CPU ni une identité.
  • La réduction User-Agent et les User-Agent Client Hints ont des disponibilités différentes.
  • WebGL peut confirmer une capacité de contexte, mais une extension absente ne prouve pas un autre hôte.
  • Conserver unknown, not-requested, not-exposed et les valeurs réelles comme états distincts évite les inférences.
  • Un relevé de cohérence décrit une observation contextualisée, sans verdict d'un détecteur.

Contents

La chaîne de plateforme

Navigator.platform fournit une chaîne au contenu web. Elle n'encode pas une puce, un noyau, une carte ou une personne. L'exemple Linux armv81 dans la documentation d'émulation décrit une surface observée, pas une règle universelle pour chaque profil ou WebView.

ChampObservationCe qui n'est pas établi
navigator.platformTexte exact comme Linux armv81CPU physique ou modèle
navigator.userAgentTexte UA retournéSystème complet
navigator.userAgentDataHints de faible entropie exposéesHints élevées autorisées
uaData.architectureunknown si non demandéeUne architecture physique
WebGLContexte et extensionsGPU unique ou verdict

Une branche de compatibilité peut utiliser la chaîne avec une détection de fonctionnalité. Elle ne doit pas en faire un contrôle d'accès ni une clé d'identité.

User-Agent réduit et Client Hints

User-Agent Reduction retire certains détails du UA par défaut. NavigatorUAData fournit des valeurs de base et une demande optionnelle via getHighEntropyValues(). Le guide de réduction User-Agent traite l'en-tête, tandis que le guide des limites du renderer WebGL sépare capacité graphique et identité.

ObservationInterprétation sûreSubstitution incorrecte
Interface absenteNon exposée dans ce contexteCe n'est pas Chromium
platform présentToken de plateforme largeSystème complet
architecture retournéeHint reçue après demandePuce physique
Promesse rejetéeDemande indisponible ou refuséeArchitecture non ARM
async function readPlatformSurface() {
  const result = {
    platformString: typeof navigator.platform === 'string' ? navigator.platform : 'not-exposed',
    userAgent: navigator.userAgent || 'not-exposed',
    uaData: 'not-exposed',
    highEntropy: 'not-requested',
  };
  if (!navigator.userAgentData) return result;
  result.uaData = { mobile: navigator.userAgentData.mobile, platform: navigator.userAgentData.platform };
  try {
    result.highEntropy = await navigator.userAgentData.getHighEntropyValues([
      'architecture',
      'model',
      'platformVersion',
    ]);
  } catch {
    result.highEntropy = 'request-failed';
  }
  return result;
}

WebGL comme capacité

WebGLRenderingContext décrit des appels et paramètres liés à un contexte graphique. Une création réussie, une extension nulle ou un échec sont des observations de capacité, pas une preuve de matériel ARM.

RésultatIl permet de direIl ne permet pas de dire
Contexte crééCette page a obtenu ce contexteGPU physique
Extension nullExtension absente iciAbsence partout
Paramètre retournéParamètre exposéIdentité unique
Création échouéeDemande impossible iciCause sans diagnostic

La plateforme, l'UA réduit, les Client Hints et WebGL alimentent un relevé de cohérence, pas une identité.

Relevé de cohérence

Conserver le contexte, la chaîne exacte, le résultat de la demande UA-CH et l'appel WebGL rend un incident reproductible. architecture: unknown signifie que la valeur n'a pas été obtenue; ce n'est pas x86. Comparer d'abord le release et le contexte, puis les champs, et enfin l'opération graphique.

CléExempleRègle
contextWindow / secureContexte de lecture
platformStringLinux armv81Texte littéral
uaData.architectureunknownNe pas compléter l'absence
webgl.contextwebgl2Contexte demandé
webgl.extensionavailable / absentExtension nommée

Échecs et limites

Une hint absente doit rester inconnue. Un échec WebGL2 doit être relié au contexte, à la policy et à l'exception, pas à une autre machine. Deux chaînes différentes exigent la comparaison du profil, du release et du mode intégré. Un modèle fourni par une hint reste une valeur du navigateur et non une attestation physique.

Diagnostiquer une différence de plateforme

Conservez le contexte de la fenêtre, puis les chaînes exactes de navigator.platform et navigator.userAgent. Notez la présence de navigator.userAgentData, les clés de faible entropie et le résultat de la demande de haute entropie. Une interface absente et une promesse refusée ne sont pas le même état.

Pour WebGL, notez le contexte demandé, le résultat de getContext() et le seul paramètre utile à la décision. Conservez la classe d'exception si l'appel échoue au lieu d'inventer une valeur.

ÉtapePreuve conservéeArrêt
Fenêtre sécuriséeisSecureContext et contexteNe pas demander de hint dans un contexte invalide
PlateformeChaîne exacteNe pas la convertir en modèle
UA-CHInterface, clés et résultatGarder inconnues les valeurs absentes
WebGLType et extension utileNe pas inventorier le renderer
ComparaisonMême release, profil et fixtureNe pas comparer des entrées différentes
ObservationLecture prudente
architecture non demandéeAucune demande, pas une architecture négative
architecture refuséeLa politique ou le contexte a refusé la demande
Linux armv81 avec WebGL2 en échecDeux observations à répéter dans le même contexte

Ce relevé reproduit une incompatibilité; il n'identifie ni une personne ni un appareil.

Limite documentaire BotBrowser

La documentation BotBrowser décrit une surface d'émulation Android. Elle ne garantit pas chaque Client Hint, un backend WebGL ni le résultat d'un service tiers. Une configuration et une observation de page sont deux preuves différentes; aucune ne promet anonymat, taux de réussite ou identité.

BotBrowser peut présenter cette surface de plateforme pour une revue de compatibilité; il ne garantit pas chaque Client Hint, un renderer WebGL ou un résultat externe.

FAQ

Linux armv81 prouve-t-il Android ?

Non. C'est une chaîne visible, compatible avec une surface Android, mais elle ne prouve ni noyau ni appareil.

Une hint absente signifie-t-elle x86 ?

Non. Absente, non demandée et refusée sont des états distincts.

WebGL identifie-t-il un appareil ARM ?

Non. Il décrit la capacité d'un contexte précis.

Ce relevé identifie-t-il une personne ou un appareil ?

Non. Il conserve des valeurs visibles et leurs états pour le diagnostic, pas pour fabriquer une identité.

Sources

Pour le contexte, consultez la carte des surfaces de plateforme et le guide des propriétés navigator.

Conclusion pratique

Traiter Linux armv81 comme un champ visible. Conserver la chaîne, l'UA réduit, l'état de chaque hint et la capacité WebGL. Laisser inconnue toute valeur non fournie et utiliser le relevé pour la compatibilité, pas pour déduire un matériel ou une personne.

#fingerprinting#confidentialité#plateforme#client hints

Cet article fait partie du guide : Qu'est-ce qu'une empreinte de navigateur ?

Exécutez la même vérification dans BotBrowser

Chargez un profil, gardez dans le navigateur les signaux que vous venez de lire, puis confirmez le résultat sur votre propre machine avant le déploiement.