These are reference implementations to showcase the scope of ElectionGuard. These repos can be seen as singular components or parts of the broader solution to fully verify an election.
A thin stateless API wrapping
electionguard-python to perform ballot encryption, casting, spoiling, and tallying.
The following repositories are considered deprecated and are for research purposes not development. For active development, please look at non-archived section.
An application used to administer ElectionGuard election processes, including key generation, trustee provisioning, and post-election tallying, partial decryptions, and zero-knowledge proofs.
Used to scan ballots to generate lists of cast and spoiled ballots in an election; used in tallying to finalize ballot operations (cast or spoil, etc.) for publishing results.
Ballot Marking Device
Working instance of ballot marking device (BMD). Built by VotingWorks in consultation with the Center for Civic Design, this front-end provides an interface for a voter to complete and print a ballot which, in an end-to-end verifiable use case, would be accompanied by a printed tracking ID. This BMD front-end is provided as one, potential implementation.
An application that demonstrates publication of ElectionGuard election artifacts to a public website to enable verification ID lookup, downloadable zip files of the election result (for third-party verifiers), and election results summaries.
A verifier application is used to perform an external, independent verification of an election tally. This repository contains a reference implementation of a verifier built against the ElectionGuard specifications. This is not meant to be the only verifier application, but rather an example. This library should be used in tandem with the technical specifications and usage guidelines contained in the specifications.