본문으로 건너뛰기

이 페이지는 아직 사용하시는 언어로 제공되지 않습니다. 영어 원문을 읽고 계십니다.

Comparison

How a promise gets checked

Every method here promises something. This page asks the other question: what can you open, run or read to find out whether the promise holds, and what makes it visible to you on the day it stops.
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.

MethodWhere the promise livesWhat you can openWhat shows it stopped workingCheckable before paying
An ordinary browser as it isIts own open sourceA console on any pageNothing to pay
Incognito modeThe browser's own helpTwo windows read side by sideBoth windows answer as one machineNothing to pay
Separate profiles of the browserThe browser's own helpTwo profiles read side by sideSame fonts, same graphics, same addressNothing to pay
An extension that rewrites valuesIts listing in a storeA fingerprint page in that browserA getter names one card, the pixels anotherInstalled and tried
A VPNThe provider's own pageAny page that reports your addressThe address moves and the clock staysVisible on connection
A virtual machine per accountThe system's documentationThe whole guest, top to bottomGuest and host answer the sameYou build it yourself
Separate hardware per accountThe device itselfNothing is substituted, so nothing slipsOnly by buying it
A browser with the engine itself patchedA registry row per claim, with file and checkA check here and a self test in the appA stand turns red, acceptance exits non zeroTwo 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.

The start page of a profile: the exit address in large type with country, city and provider, the proxy type, the engine with its version, and the fingerprint values below.
The start page opens first in a profile and shows the exit address and the fingerprint values: the same ones the free check on this site reads.

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.

Check the claim before the product

The check reads 12 values in your browser and sends nothing anywhere.