Przejdź do treści

Tej strony nie ma jeszcze w Twoim języku. Czytasz tekst angielski.

Glossary

User agent

It is the value everyone changes first and the one sites trust least. What decides whether you pass is not the line itself but whether the client hints, the platform and the language stack agree with it.

A user agent is the line a browser sends with every request to name itself, its version and its system.

What the line carries

Every request your browser makes starts with this line, and any script on the page can read the same text.

  1. 1

    A legacy prefix

    Every browser still opens with the same token, kept alive for scripts written decades ago.

  2. 2

    A system token

    Windows NT with the word Win64, or Macintosh with Intel Mac OS X, or X11 with Linux.

  3. 3

    An engine pair

    The rendering engine and the compatibility token that every browser copied from the others.

  4. 4

    One version

    The Chrome part, which modern browsers report as the major release with zeros behind it.

Your user agent right now

This line is read in your browser on this page, and the two values under it come from the same browser.

Twoje urządzenie, w tej chwili

User agent
pomiar na Twoim urządzeniu
Platform
pomiar na Twoim urządzeniu
Languages
pomiar na Twoim urządzeniu

Odczytane w Twojej przeglądarce i pokazane tutaj. Nic nie jest nigdzie wysyłane.

Why one line is not enough

A site that read only this line would be easy to please, so sites stopped reading only this line.

Three cross checks are ordinary now.

  • The hints beside it

    The same browser names its brand, platform and version again in separate fields, and the two have to say one thing.

  • What the code can see

    A line claiming a release whose features are missing answers the question by itself.

  • The rest of the machine

    Fonts, cards, cores and the language stack belong to a system, and a borrowed line does not move any of them.

Where the version comes from

The release in the line is the release of the browser engine installed on this machine, read by asking that engine for its own version.

So the line never promises a build your profile cannot render, and feature detection cannot catch it out.

Where it is readWhat it says
The line itselfThe major release, with zeros in place of the build
The client hintsThe exact build, brand by brand
The engine on your diskThe version both of them are taken from

Often confused with

  • User-Agent Client Hints

    The newer route to the same facts, in separate fields, and the one this line gets compared against.

  • navigator.platform

    A short system string read from script, which has to agree with the system token in this line.

  • Your address

    The line says what the browser is and nothing at all about where the traffic comes out.

How to check your own

The panel above shows the line for the browser you are reading this in, and nothing leaves the page.

Inside a profile, the fingerprint self-test compares the line with the hints and with the rest of the machine and marks each row green or red.

What this does not do

  • It does not let you type any line you like. The line belongs to the device template you pick, and hand editing is offered for the values that belong to a person: time zone, language, screen, card, cores and memory.
  • It does not promise a release your engine is not. The major follows the engine that will open the profile, so an older engine means an older line.
  • It does not hide behaviour or address. A perfect line next to a data centre address and a hundred logins an hour changes nothing.
  • It does not undo a link that already exists. Two accounts opened from one profile stay linked whatever the line says afterwards.

Check it

Everything above comes from a file you can open.

Where the line and its version are put together
packages/shared/src/index.js
The version is asked of the engine on this machine
apps/desktop/src/lib/forkEngine.js · apps/desktop/src/main/main.js
One release across the line and the hints
apps/desktop/test/fingerprint-consistency.js
A template never claims a newer release than the engine
apps/desktop/test/engine-pin.js

Questions

Can I set any user agent I want?
Not as free text. You pick the class of machine, and the line arrives with the platform, the hints and the hardware, so the parts cannot be set against each other.
Why does my Mac profile say Intel Mac OS X?
Because real Chrome says that on every Mac, Apple Silicon included. The line was frozen years ago, and a Mac naming its real chip there would stand alone in the world.
Why does the version end in zeros?
Because that is the reduced form modern browsers send. The exact build is answered through the hints, and only when a site asks for it.
Does a phone template name the phone?
Not in the line. Chrome on Android freezes the model to a single letter, and the real model is reported only through the hints.
Is a new line enough to separate two accounts?
No. Two profiles with different lines and the same card, fonts, cores and language stack still describe one machine.

See the line your own profile sends

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