The public certificates that let anyone verify the platform’s signatures without trusting us.
Every block of an election’s chain is signed by Condorcet.Vote in the OpenPGP
v6 format (RFC 9580, Ed25519). These public certificates let anyone verify those signatures independently. They are the human counterpart of our machine .well-known endpoint.
Protocolv1
The keyring
The signing certificates.
A single key is active: it signs new blocks. During a rotation, the previous key is retired but stays published: its certificate carries an OpenPGP expiration at the moment of retirement, and the blocks it signed remain verifiable forever.
To automate verification, the armored certificates are served concatenated at a stable URL, first-party (same domain). It is the machine counterpart of this page.
Stable URL. Served on the main domain, with no third-party redirect.
How to verify
One command, with standard tools.
A block’s signature is a detached OpenPGP v6
(Ed25519) signature over the exact bytes of the published file; the chaining relies on its SHA3-512 digest. Verification uses Sequoia (sq) or any RFC 9580 implementation (GnuPG does not read the v6 format yet).
1
Fetch the block, its sidecars and the keyringThe block {n}.json, its signature {n}.json.sig and its timestamp proof {n}.json.ots from the election’s public register; the certificates from the .well-known endpoint.
2
Verify the OpenPGP signaturesq verify: the standard validity rules reject a signature dated outside its key’s window.
3
Verify the SHA3-512 chainingThe previous block’s digest (openssl dgst -sha3-512) must equal the next block’s previous_hash.
4
Verify the Bitcoin anchoring (OpenTimestamps)ots verify: the .ots proof demonstrates the block existed at its publication date, independently of the platform.