Protection against silent history changes
Verification does not mean every count is perfect forever. It means changes leave evidence. A count can be recomputed, a checkpoint can be compared, and a mismatch can be detected instead of hidden behind a private dashboard.
Where the proof stops
Verification proves the record, not every claim inside it. When a vote is reversed (account deletion, moderation), the reversal is public and permanent, but math alone cannot prove the stated reason is truthful. What it can do is make quiet
abuse hard: reversals cover an account's whole history, your extension keeps a local copy of your own votes, and anyone can watch the
public revocation feed. The full breakdown of what it proves sets out the limits in detail.
Could we add votes ourselves?
We run the server, so we can write anything into the database, sign anything with our own keys, and run real browsers with the real extension. Anything that happens between our server and a user's device, we can stage ourselves. Receipts, one-time codes, bot checks, witnesses and anchors protect the history
once it is written; none of them stops a vote at the door.
No system can promise the operator will never add a vote: even a government ID can be bought from a real person. The limit is this: adding a vote costs the operator the same as an outsider, leaves the same public traces, and anyone can check that without trusting the operator. That is the limit Emojery is
built to.
A vote written straight into the database needs a signing key; the key needs a public permit; the permit needs an account a provider such as Microsoft or Apple vouched for; that vouching is a signature only the provider can produce. Extra permits for accounts
we control show up when anyone recounts: more keys than permits, or permits without a vouched account. What remains is opening real provider accounts, one per vote, and enrolling each like everyone else. That costs what it costs anyone, and each account leaves its own public entry in the log.
Want the full detail?
This page explains the model at a product level. How the record works (the log, the checkpoints, and the public anchors) is on the log page, and what the checking tool covers is on the verifier page. If a term here landed flat, Emojery explained without the jargon restates all of it in everyday words, and the glossary defines each one on its own.