Ballot secrecy and a verifiable result, at the same time.
Security rests on two complementary pillars: an auditable trusted third party and a cryptographic protocol that runs partly in your browser. Three reading levels, from the simplest to the most technical.
An auditable trusted third party
An independent, open, inspectable infrastructure, trusted while the vote takes place, verifiable by anyone afterwards.
An end-to-end protocol
Ballot confidentiality and public verifiability of the count, guaranteed simultaneously by cryptography.
Four ideas to remember.
Anonymous by default
By default, the public register lets no one, today or later, link a ballot to a voter. One caveat: in a near-empty signing group, the organizer could guess a choice. A non-anonymous voting option exists for elections that are attributable by nature (co-ownership boards, general meetings).
Verifiable
Anyone can check that the count is correct and that no ballot has been altered.
Ring signature
Your ballot is signed on behalf of a group, without revealing which of its members signed.
Blockchain
Ballots are published in a blockchain: a signed, hash-chained ledger where any rewrite can be detected by anyone who keeps a copy.
How it really works.
You do not need to be a cryptographer. Here is the essential path a ballot follows.
Everything happens in the browser
The ballot is signed on the voter’s side, by a Rust cryptographic module compiled to WebAssembly, before anything is sent. The voting secret key is never sent back to the platform, and in “bring your own key” mode, it never even existed anywhere other than on the voter’s device.
A ring signature
The ballot is signed on behalf of a ring of authorized keys (a bLSAG variant over Ristretto255). The signature proves membership in the group without identifying the signer. This is the default behavior. If the organizer enables non-anonymous voting, the ballot additionally embeds the voter ID in its signed payload. It then becomes publicly attributable, and the voter is told before voting.
A “key image” per election
Each signature carries a unique fingerprint tied to the election. It makes a double vote detectable without ever learning who voted.
A public register distributed as a blockchain
Ballots are published in a pseudonymous register distributed as a blockchain: signed blocks (OpenPGP v6, Ed25519) linked by hashes. The frozen list of votes is the guarantee: anyone can recount and verify. Each block is also timestamped in the Bitcoin blockchain via OpenTimestamps, a proof of prior existence independent of the platform.
The blockchain, explained → The blockchain's exact format →The limits we accept.
Every choice aims for a balance: staying accessible to everyone, with no account and nothing to install, while guaranteeing strong cryptographic properties and a solid platform. Here, in all honesty, is what this balance leads us not to promise.
Trusted third party at vote time
The platform is a trusted intermediary while the vote is running. It is open and auditable, but not trustless. The “bring your own key” mode further reduces what you have to entrust to it.
Vote receipts
A voter can prove their own vote: there is no coercion resistance in this version.
No mix-net
Anonymity comes from the ring signature, not from network mixing. A deliberate, documented choice.
Down to the foundations.
Security you can verify.
Free up to 20 voters, no account, no credit card.