In May, Microsoft CEO Satya Nadella announced ElectionGuard, a free open-source software development kit (SDK) from our Defending Democracy Program. ElectionGuard is accessible by design and will make voting more secure, verifiable and efficient anywhere it’s used in the United States or in democratic nations around the world. Today we’re announcing that ElectionGuard is now available on GitHub so that major election technology suppliers can begin integrating ElectionGuard into their voting systems.
The ElectionGuard resources available on GitHub today extend across four GitHub repositories, or storage spaces, each described below.
ElectionGuard specification. The ElectionGuard specification includes both “informal” and “formal” road maps for how ElectionGuard works. The informal spec is authored by Dr. Josh Benaloh of Microsoft Research and provides the conceptual and mathematical basis for end-to-end verifiable elections with ElectionGuard. The formal spec contains detailed guidance manufacturers will need to incorporate ElectionGuard into their systems, including a full description of the API – which is the way voting systems communicate with the ElectionGuard software – and the stages of an end-to-end verifiable election.
Software code. This repository contains the actual source code vendors will use to build their ElectionGuard implementations. It is written in C, a standard language commonly used by open-source software developers and includes a buildable version of the API. This documentation is also viewable here. This code was built together with our development partner Galois.
Reference verifier and specification. As we announced in May, ElectionGuard enables government entities, news organizations, human rights organizations, or anyone else to build additional verifiers that independently can certify election results have been accurately counted and have not been altered. The resources available on GitHub today include a working verifier as well as the specifications necessary to build your own independent verifier.
Ballot marking device reference implementation. Voting system manufacturers will be free to build ElectionGuard into their systems in a variety of ways. At the Aspen Security Forum in July, we demonstrated a sample voting system, built with the help of industrial designer Tucker Viemeister, that we believe showcased a great way the features enabled by ElectionGuard can be used in voting systems. The ballot marking device we demonstrated included accessibility features built under the guidance of the Center for Civic Design, authors of the original “Anywhere Ballot,” and incorporated the Xbox Adaptive Controller as an optional device to mark ballots. The ballot marking device open source repository released today includes a variety of tools and visuals necessary to build or augment real-world election systems using the best of ElectionGuard.
These are exciting steps that enable individual voters to confirm their vote was properly counted, and assures those voters using an ElectionGuard system of the most secure and trustworthy vote in the history of the U.S. As we’ve previously announced, all major manufacturers of voting systems in the United States are working with us to explore ways to incorporate ElectionGuard into their systems including Clear Ballot, Democracy Live, Election Systems & Software, Dominion Voting Systems, Hart InterCivic, BPro, MicroVote, Smartmatic and VotingWorks. We’ve worked deeply with many of these companies over the summer to prepare them for today’s SDK release.
Finally, we’ve continued progress toward pilot programs, including work with Columbia University’s Columbia World Projects, that will put voting systems running ElectionGuard in the hands of voters for the 2020 elections or sooner. We look forward to sharing more on these pilots shortly.