Glossary
User agent spoofing
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.
Your machine, right now
- The line
- measuring on your machine
- Platform
- measuring on your machine
- Processor cores
- measuring on your machine
- Time zone
- measuring on your machine
Read in your browser and shown here. Nothing is sent anywhere.
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 holds | What it is worth |
|---|---|
| The line on its own | Cheap: anyone can set it in a minute |
| The line against the fields beside it | A contradiction, or nothing at all |
| The line against the hardware readings | A 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 read | What it is compared with |
|---|---|
| The platform reported beside the line | The platform the profile describes |
| The system version and the processor family | The machine the profile claims to be |
| Screen, cores and memory | The same profile, value for value |
| The graphics vendor and renderer | The 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.