Trust & Verification

Self-Verification

TrooVote lets voters independently confirm that their recorded choice appears in the published ballot book, helping ensure trust, transparency, and confidence in every published result.

What the voter receives

  • Ballot ID
  • Verification Code
  • Poll Code
  • Option Code
  • Rank No
  • Vote Hash

The receipt is shown after the vote is recorded and can be downloaded as a PDF.

What gets published

  • Ballot Book rows with Poll Code, Option Code, Rank No, and Vote Hash
  • Poll Hash on the published result page
  • Published workbook timestamp and verification row count

The public export does not reveal the Verification Code or Ballot ID.

How verification works

TrooVote uses a SHA-256 based vote hash built from the receipt details that only the voter receives.

Formula

voteHash = SHA256(ballotId + "+" + pollCode + "+" + pollOptionCode + "+" + rankNo + "+" + verificationCode)

Trust at a glance

One public Ballot Book. Two independent verification paths. No central authority required to believe the result.

YOUR VOTE RECEIPTprivate · stays with voterBallot IDVerification CodePoll CodeOption CodeRank NoVote HashSHA-256( BallotID + VerCode + PollCode + OptCode + RankNo )Verification Code never publishedBALLOT BOOKpublic · downloadable workbookPollCode OptCode Rank VoteHashP01 A 1 a3f9c1…P01 B 1 7e2ad4…P01 A 1 b12f8e…P01 C 1 f94b2c…P01 B 1 c83d1a…· · · n rows total · · ·Poll HashSHA-256( all vote hashes, sorted )Integrity fingerprint for the full setPUBLISHED RESULTSpublic · result pageOption A450Option B216Option C108Poll Hash3ab7f9c2d1e48a…Compare with Ballot Book → integrity ✓① Recompute hash② Hash found → vote recorded ✓Count rowsby option✓ Voter Self-VerificationOnly the voter holds the Verification Code.Hash in Ballot Book = selection was recorded.Ballot BookSingle public source of truthVoters verify from the left · Observers verify from the rightPoll Hash seals the full set against tampering✓ Public AuditAnyone can count rows by option.Counts must match the published totals.WHAT STAYS PRIVATEBallot ID and Verification Code are never published. Without the Verification Code, no one can recompute a vote hash and claim ownership of another voter's selection.

How self-verification works

  1. After voting, the voter saves the receipt with Ballot ID, Verification Code, Poll Code, Option Code, Rank No, and Vote Hash.
  2. The voter later recomputes the same SHA-256 hash from those receipt values.
  3. The voter opens the published Ballot Book and looks for the same Vote Hash under the same Poll Code, Option Code, and Rank No.
  4. If the same row is present, the published record matches the voter receipt for that recorded selection.

How the Ballot Book validates results

  1. Every published verification row represents one recorded selection with Poll Code, Option Code, Rank No, and Vote Hash.
  2. Anyone can group or count Ballot Book rows by option under each poll.
  3. Those counts can be compared with the result totals shown on the result page.
  4. If the counts match, the announced result is consistent with the published Ballot Book.
  5. The Poll Hash adds an integrity fingerprint for the full published vote-hash set, so changes to that set produce a different hash.

Verification flow

Each voter can recompute the same hash from the receipt and match it against the published Ballot Book.

01

Voter casts a vote

The voter submits a choice through the normal TrooVote voting flow.

02

Receipt details are issued

TrooVote issues a Ballot ID and Verification Code and records the public verification codes for the selection.

03

Vote hash is created

A SHA-256 vote hash is built from the receipt values and the public codes for that recorded selection.

04

Ballot Book is published

After results are published, TrooVote exposes the Ballot Book with the public verification rows and vote hashes.

05

Voter verifies independently

The voter recomputes the same vote hash and confirms it appears in the published Ballot Book.

Why this increases trust

Voters do not have to rely only on the announced result. They can independently recompute their vote hash and confirm it appears in the public ballot book.

What remains private

The Verification Code stays with the voter. The public ballot book contains vote hashes and public verification codes, not the secret needed to recompute the hash.

Offline verification support

Voters can use the verifier page to prepare the exact SHA-256 input or use a terminal or external SHA-256 tool to compute the same hash independently.

Why this can be trusted with very high confidence

No digital system should promise blind trust. TrooVote instead publishes enough evidence for voters and observers to check the published outcome against the published records.

What can be checked independently

  • A voter can confirm that their recorded selection appears in the Ballot Book.
  • Observers can count Ballot Book rows by option and compare them with the published result totals.
  • Observers can use the Poll Hash to detect changes to the published vote-hash set.

What that confidence depends on

  • The voter must keep the receipt details accurate and private.
  • The published Ballot Book must be the exact record set used for the published results.
  • SHA-256 must behave as expected, which is the standard assumption behind modern integrity checks.