Aller au contenu

Cette page n’existe pas encore dans votre langue. Vous lisez le texte anglais.

Glossary

User agent spoofing

It is the first thing anyone changes and the last thing a site trusts. The line is one string, and every other answer it has to agree with is produced somewhere that string cannot reach.

User agent spoofing is replacing the line a browser sends about itself so a site reads a different browser or system.

Four places the swap can happen

The same line can be replaced at very different depths. The depth decides what else moves along with it, and that is the whole difference between the four.

  • An add-on over the page

    It runs after the engine has already answered, so a page can read both versions in one visit.

  • A flag at launch

    It sets the line for the whole run and leaves the fields beside it exactly where they were.

  • A relay rewriting the header

    It changes what the request carries and nothing at all that a script reads.

  • The engine itself

    The line and every value that has to agree with it come from one place before the page runs.

Your browser right now

The line is on the first row, and the three under it are answers no swap of that line would move.

A site reads all four in the same visit and compares them with one another.

Votre machine, en ce moment

The line
mesure sur votre machine
Platform
mesure sur votre machine
Processor cores
mesure sur votre machine
Time zone
mesure sur votre machine

Lu dans votre navigateur et affiché ici. Rien n’est envoyé nulle part.

Why the line carries little weight

A value anyone can set is worth little on its own, so sites stopped scoring the value and started scoring agreement.

What decides a visit is not what the line says but how many other answers say the same thing.

What a site holdsWhat it is worth
The line on its ownCheap: anyone can set it in a minute
The line against the fields beside itA contradiction, or nothing at all
The line against the hardware readingsA contradiction no string can talk away

Derived rather than typed

Here the line is not text you type in. It comes out of the profile seed together with the platform, the fields beside it, the screen, the cores, the fonts and the clock.

One seed for all of them is what keeps the parts from being set against each other. The release in the line is the release of the engine that will open the profile.

What the self-test compares

Inside a profile the self-test asks the same questions a site would ask. Each answer is compared with the machine the profile describes and marked green or red.

What is readWhat it is compared with
The platform reported beside the lineThe platform the profile describes
The system version and the processor familyThe machine the profile claims to be
Screen, cores and memoryThe same profile, value for value
The graphics vendor and rendererThe card the profile names

Often confused with

  • A device template

    A whole machine described at once, of which the line is a single field.

  • Rewriting a header at a relay

    The request changes, and what a script reads on the page does not.

  • Mobile view in developer tools

    The window is resized and the line swapped while the machine underneath stays a desktop.

What this does not do

  • It does not let you type any line you like. The line follows the machine a profile is built from, and every field the editor does let you set is chosen from a list rather than typed.
  • Swapping the line moves nothing else. The fields beside it, the clock, the fonts and the hardware readings stay exactly where they were, and a site reads them in the same request.
  • It does not promise a release your engine is not. The version follows the engine that opens the profile, so an older engine means an older line.
  • It does not reach outside the profile. Another program on the same computer sends its own line, and this one never travels with it.

Check it

Everything above comes from a file you can open.

Where the line and the fields beside it are derived
packages/shared/src/index.js
The parts are checked against one another
apps/desktop/test/fingerprint-consistency.js
What the self-test asks inside a profile
apps/desktop/src/lib/fpAudit.js · apps/desktop/test/fp-audit.js
A profile never claims a newer release than its engine
apps/desktop/test/engine-pin.js

Questions

Is changing the line enough?
No, and it has not been for years. A site reads the fields beside it and the hardware answers in the same visit, and a disagreement is worth more than any single value.
Does an add-on that swaps the line help?
It answers above the engine, so a page can see the engine's answer and the add-on's answer together. That gap is a stronger signal than the original line ever was.
Can I type my own line here?
Not as free text. You pick a machine, and the line arrives with the platform, the fields beside it and the hardware, which is what keeps them agreeing.
What can I set by hand then?
On a desktop profile: screen and its pixel density, cores, memory, the graphics card, the zone and the languages, each from a list. A value outside that list is refused on saving rather than accepted and dropped later.
How do I see what my profile sends?
The panel above shows the browser you are reading this in. Inside a profile, the self-test shows all 29 measurements, green and red alike.

Ask your profile what a site asks

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