Skip to content
Condorcet.vote Alpha
Security & cryptography

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.

Pillar 1

An auditable trusted third party

An independent, open, inspectable infrastructure, trusted while the vote takes place, verifiable by anyone afterwards.

Pillar 2

An end-to-end protocol

Ballot confidentiality and public verifiability of the count, guaranteed simultaneously by cryptography.

Level 1 · The essentials

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.

Level 2 · In practice

How it really works.

You do not need to be a cryptographer. Here is the essential path a ballot follows.

Signing

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.

Anonymity

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.

Uniqueness

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.

Verifiability

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 →
Full transparency

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.

Level 3 · References

Down to the foundations.

Protocol white paper The complete protocol: cryptography, public register, threat model, trade-offs. In English (reference version) and in French. Français (PDF) ↓ English (PDF) ↓
Independent review An external audit of the protocol and its implementation, including the bLSAG variant, is planned; the report will be published here. Coming soon
For experts: the technical documentation The protocol specifications, the JSON Schemas and the verification procedure, check by check, for verifiers and auditors. Open the technical documentation

Security you can verify.

Free up to 20 voters, no account, no credit card.