Allowing Voters to Verify Their Votes
This article includes both background information and instructions. To skip the information and get straight to the instructions on how to set up an election that allows voters to verify their votes, please see the "Setting Up an Election so Voters Can Verify Their Vote Integrity" section.
Although we work with any and all types of organizations that run elections, one type of organization in particular has very strict government-imposed legislation around their elections. Those would be the unions, and the government department that regulates their legislation is (in the United States) the Department of Labour. In order to pass their election certification requirements, we had one thing we needed to improve on: our ability to allow voters to verify that their votes have not been tampered with, while still ensuring that the voters' anonymity is maintained.
So, we made a few tweaks, introduced something new, and we now pass the DOL's election certification requirements.
While this most directly benefits unions who need to answer to the DOL, this is something that all organizations can get behind! Your election may not necessarily need to align with the rigorous legislature of the DOL, but you can feel good about the fact that it does anyway. In a democratic institution, observability and transparency around the voting process is always a benefit to you and your voters.
The Redesigned "Vote Audit" Report and the Verification Code
Previously, the "Vote Audit" report was geared toward the election administrators. It was never shown to voters when they could view the results; the voters have only ever been able to view the "Results" and the "Graphed Results" reports. This is now no longer the case.
The "Vote Audit" has been redesigned to be somewhat useless for administrators, and instead is now extremely useful for voters. Also, it is now included as one of the reports that the voters can view while viewing the results.
What has changed?
Instead of listing the voter's unique identifier (that would allow the administrator to know who each person in the "Vote Audit" was, as this is the same information inputted by the administrator into the voter list) and the Voter ID (a sequential number that we internally assign to each voter after they vote), the "Vote Audit" now lists something called a "Verification Code" instead:
As an election administrator, you will find this page to be unhelpful, as you do not get to know the verification codes for your voters. But, each voter will know their own verification code.
To compensate for the loss of the connection between who the voter is and the IP/time stamp associated with their ballot submission for administrators, the "Voters" report now contains this information. You will need to download the report and open it in Excel to view this information. To download the report, open the "Voters" tab and click the "Download" button.
What is a verification code?
A verification code is a fifteen-character hash generated from the combination of a voters' choices on the ballot and their Voter ID.
A hash: the result of a hash algorithm that maps input data to another value.
To put it simply, the hash algorithm takes the input of the voter's ballot choices and Voter ID and translates that information into a series of numbers and letters, like the example in the picture above.
A good hash algorithm, like the one we use, does two other important things:
- It is impossible to work backwards. What that means is that, even if you knew the algorithm we use to calculate the hashes, you should never be able to turn a verification code back into the information about the voter's ballot choices and Voter ID.
- There is an extremely low chance of two voters ever being assigned the same verification code (known as collision). This would only be problematic if two voters in the same election were assigned the same verification code. The probability of it occurring with the algorithm we use is less than 1/1 000 000 000 (one in one billion).
When does the voter receive their verification code?
Verification codes are provided to voters on the "Confirmation" screen when they have finished submitting their ballot. It is recommended that the voter screenshots or takes note of this information.
If you are using notice types other than email, it is essential that you ask your voters to retain their verification code from the "Confirmation" screen because the vote confirmation receipt is only available via email.
You can also make it easier for your voters by sending voter confirmation emails to your voters, which will contain their verification code as well. See below for instructions on setting up an election to ensure that voters can verify their votes.
Using the Verification Code to Verify a Vote:
The verification code is dynamic. We do not save them to our database because they are re-calculated each time someone views the "Vote Audit" page. This means that the verification code, as it sits in the "Vote Audit", is the most current record. If a voter's voting choices haven't been changed, then the hash should never change. So, if you're playing by the rules, a voter should always be able to find their verification code in the "Vote Audit" report.
Setting Up an Election so Voters Can Verify Their Vote Integrity
- On the "Details" page of your election setup, find the "Voters can view the election results" setting (under the Security heading; it is the last section on the page).
- Set that setting to either "any time after the election starts" or "only after the election has ended". The voters will need to be able to view the results in order to verify anything!
- Continue to the "Ballot" stage, and build your ballot as required.
- This step is more of a warning: if you choose to use "Advanced Ballot Customization", you will see that you can modify the "Confirmation" screen text that the voters see after they've submitted their ballot. If you choose to remove the portion about the verification code, the voters will not be able to see their verification code.
- You can only send voter confirmation receipts in the form of emails. So, on the "Notices" page of your election setup, choose "Email notices".
- More options will appear once you've selected "Email notices". Choose "Email a receipt to voters" to get their verification code emailed to them directly after they vote.
- Finish setting up your election and get it launched by setting up your voter list, reviewing, and paying (if required).
- Share the results with your voters at the conclusion of the election. Voters will be able to view the "Vote Audit" and can verify the integrity of their vote by comparing their verification code to the list in the "Vote Audit".