تخطي إلى المحتوى

هذه الصفحة غير متوفرة بلغتك بعد. أنت تقرأ النص الإنجليزي.

Glossary

User-Agent Client Hints

A site asks for the fields it wants and the browser answers them one by one. That is why the old single line is now checked against them instead of being trusted on its own.

User-Agent Client Hints are request headers and a script object through which a browser reports its identity in separate fields.

How a site asks for them

Three of these fields travel with every request you make, and the detailed ones are handed over only on request.

  1. 1

    Three go by default

    The brand list, the mobile flag and the platform name are sent without anyone asking for them.

  2. 2

    The site names what else it wants

    A reply header lists the extra fields, and the browser adds them to the requests that follow.

  3. 3

    Script can ask directly

    A page can request the detailed fields in one call and read them in the answer.

Your browser right now

The panel reads the single line and the platform in your browser on this page.

The hints carry those same facts split into fields, which is exactly why the two get compared.

جهازك في هذه اللحظة

Single line form
يجري القياس على جهازك
Platform
يجري القياس على جهازك
Primary language
يجري القياس على جهازك

تُقرأ في متصفحك وتُعرض هنا. لا يُرسل أي شيء إلى أي مكان.

Free fields and asked fields

The split is the whole design: a little is given away freely and the detail is given only to a site that asks.

FieldWhen it is sent
Brand and version listWith every request, major releases only
Mobile flag and platform nameWith every request
Exact build, architecture, bitnessOnly after a site asks for them
Device model and form factorOnly after a site asks, and the model is filled on phones

Why the fields have to agree

Every field here is derived from the same profile seed as the line, the platform and the hardware, so no two of them can drift apart.

The version fields are taken from the engine that will open the profile, and the architecture follows the graphics card the profile reports.

  • One release everywhere

    The brand list, the full version list and the single line all name the same release.

  • A processor that fits the card

    A profile reporting an Apple chip says arm here, and one reporting a Windows card says x86.

  • Nothing extra volunteered

    The detailed fields are answered for a site that asks and are not sent to a site that did not.

Often confused with

  • User agent

    The older single line, which carries the same facts in one string and is now kept deliberately short.

  • navigator.platform

    A script value naming the system family, which is read next to the platform field here.

  • A permission prompt

    Nothing here asks you, and no window appears when a site collects the fields that travel by default.

How to check your own

The panel above reads your own browser, and nothing leaves this page.

Inside a profile, the fingerprint self-test asks for the detailed fields the way a site would and compares every answer with the profile.

What this does not do

  • It does not hide the platform. The aim is not to refuse the question but to answer it the way the machine a profile describes would answer it.
  • It does not fill the model on a desktop. Real Chrome leaves that field empty there, so a value in it would be a mark of its own.
  • It does not stop a site asking for more. A site may ask for every detailed field, and a browser that refuses the whole set is rarer than any answer to it.
  • It does not make two profiles unrelated. Cards, fonts, cores and the language stack are read beside these fields and weigh more than any of them.

Check it

Everything above comes from a file you can open.

Where every hint field is derived
packages/shared/src/index.js
The outgoing headers follow the profile
apps/desktop/src/main/main.js
Line, brands and full version name one release
apps/desktop/test/fingerprint-consistency.js
The phone names its model only here
apps/desktop/test/mobile-really-mobile.js

Questions

Are client hints replacing the user agent?
They are taking over the detail. The single line stays short for old scripts, and the exact release now travels through these fields.
Can a site read them without asking me?
The default three travel with every request and there is no prompt. The detailed ones need the site to ask, and the site asks the browser rather than you.
What happens when the line and the hints disagree?
One reading contradicts the other, and a contradiction is stronger evidence than either value alone. Passing that comparison is the whole reason the set is built from one seed.
Do the hints name the exact build?
Yes, for a site that asks. Here that build is the version of the engine that will actually render the page, read from the engine itself.
Does a phone report its model?
Through these fields, yes. The single line froze the model years ago, so the hints are the only place where a real phone names itself.

Ask your profile what a site would ask

The self-test runs inside a profile and reports all 29 measurements, green and red alike.