ยังไม่มีหน้านี้ในภาษาของคุณ คุณกำลังอ่านข้อความภาษาอังกฤษ
Comparison
How a promise gets checked
- 3831
- Automated checks behind the product
- 29
- Fingerprint readings in the app self test
- 12
- Values the free check reads in your browser
A promise is not a proof
Claims are cheap to write and expensive to verify. What separates one method from another is what you can open, run or read without taking a word on trust.
Four kinds of evidence
Evidence comes in grades, and they are easy to tell apart once named. The four below run from what anyone can type to what nobody can break quietly.
The grade decides who the evidence is useful to. A check that fails the build protects the reader who will never open a file.
A sentence
Written by the seller, checked by nobody, changed without notice.
Open source
Readable by anyone willing to read it, which is few people.
A reading you repeat
A page that reports what your own browser answers on your machine.
A check that fails the build
Behaviour drifts and the build turns red before it can reach you.
What each method offers as proof
An empty cell means the line does not exist for that method, not that the method is bad. A tool that promised nothing owes no proof.
The fourth column is the one people read last, and it decides the most: a promise nobody can watch break is a promise that quietly stops being true.
| Method | Where the promise lives | What you can open | What shows it stopped working | Checkable before paying |
|---|---|---|---|---|
| An ordinary browser as it is | Its own open source | A console on any page | Nothing to pay | |
| Incognito mode | The browser's own help | Two windows read side by side | Both windows answer as one machine | Nothing to pay |
| Separate profiles of the browser | The browser's own help | Two profiles read side by side | Same fonts, same graphics, same address | Nothing to pay |
| An extension that rewrites values | Its listing in a store | A fingerprint page in that browser | A getter names one card, the pixels another | Installed and tried |
| A VPN | The provider's own page | Any page that reports your address | The address moves and the clock stays | Visible on connection |
| A virtual machine per account | The system's documentation | The whole guest, top to bottom | Guest and host answer the same | You build it yourself |
| Separate hardware per account | The device itself | Nothing is substituted, so nothing slips | Only by buying it | |
| A browser with the engine itself patched | A registry row per claim, with file and check | A check here and a self test in the app | A stand turns red, acceptance exits non zero | Two profiles on the free plan |
What you can open right now
Three of the four below need nothing installed and no account.
None of them sends your readings anywhere. The check on this site reads values in your browser and leaves them there.
The fingerprint check
12 values read in your browser, with nothing sent anywhere.
The leak check
What escapes around a proxy, read on your own connection.
The self test in the app
29 readings taken inside a profile, with no call outside the page.
The promise registry
One row per claim: what is promised, where it is in the app and how it is checked.

Three verdicts instead of two
Passed or failed looks like the whole story, and it is not. A third state exists for the case where nothing failed and the decisive comparison was skipped.
That state leaves with the same non zero code as a failure. Acceptance that calls a build proven without measuring the thing it claims is worth nothing.
Passed
Everything ran, and two profiles were compared against each other.
Failed
Something ran and came back wrong.
Not proven
Nothing failed, and the comparison that proves the patches are alive was skipped.
The capability list is measured
The engine ships with a list of what it can do, and the app switches its launch arguments by that list. Declaring a capability the build lacks is worse than declaring none, because those fields then answer with the host machine's values.
So the list is taken off the source tree rather than copied from code. One file is read per capability and one marker looked for, and a capability without its marker never reaches the list.
What this does not claim
- It does not claim that other methods cannot be checked. They offer evidence of another kind, and we have read nobody else's source to say more.
- An open file does not make a claim true. It makes the claim checkable, and somebody still has to do the checking.
- The self test runs inside a profile of this app, not on a platform. A platform reads more than any self test does and publishes no list of it.
Where you can see this yourself
Each line below is a file you can open and a stand you can run.
- The acceptance verdict has three states, and the third leaves with a non zero code
- engine/scripts/приговор-приёмки.js · apps/desktop/test/приговор-приёмки.js
- A recount writes the measured numbers into one file, and a stand proves a page reads them from it
- apps/web/scripts/сосчитать-проверки.js · apps/web/measured.json · apps/web/test/числа-не-вписаны-рукой.js
- The capability list is taken off the source tree, one marker per capability
- engine/scripts/опись-умений.js · apps/desktop/test/опись-умений-снимается.js
- The self test refuses to measure when the protection for the probe cannot be built
- apps/desktop/src/main/main.js · apps/desktop/test/fp-audit.js
Questions
- How is a registry different from a feature list?
- A feature list says what exists. A registry row says what is promised, where it is in the app, and which check turns red when it stops.
- Why is passing every check not enough?
- A check that an engine without a single patch would pass just as well proves nothing about the patches. The proof is two profiles side by side: their readings are required to differ, or the patches are not in the build.
- Does the free check send my readings anywhere?
- No. It reads the values in your browser and shows them to you, and nothing leaves the page.
- Can any of this be checked before paying?
- Yes. The checks on this site need no account, and the free plan carries two profiles on the engine the paid plans run.
Read next
The promise registry
Every claim here beside the file that keeps it.
Free fingerprint check
12 values read in your browser, sent nowhere.
Leak check
What escapes around a proxy, on your own connection.
The engine
What is changed in C++ and how each change is proven.
What a seat costs
The five lines a price is made of.
Check the claim before the product
The check reads 12 values in your browser and sends nothing anywhere.