The administrator (or committee of administrators) compiles the voter roll.
(a) The administrator uses an offline computer to generate a pair of unique random codes for each voter, a ballot code and an ownership code.
(b) The administrator prints out the list of valid code pairs and archives the papers in a secure lockbox, to be opened after the voting deadline.
(a) The administrator prints out ballots, with a unique ballot code printed on the bottom of each page.
(b) For each ballot, administrators print a unique code page containing the corresponding ballot code and ownership code.
The ballot-generating computer is placed in an offline safe for auditing if necessary.
(a) The ballots and coded instruction pages are paired and placed in sealed envelopes.
(b) The envelopes are shuffled to ensure secrecy.
(c) The envelopes are distributed, either by mail or in person at polling stations.
(a) Voters fill out the enclosed ballot. Or, voters can create and print out their own ballots using with ballot code.
(b) Voters return the ballots by mail or in person.
(c) Voters retain their code page if they want to confirm their vote later.
(a) Ballots are scanned, either at a central scanning facility or at many polling stations.
Note: Scanning hardware can be "dumb", just taking scans and sending images to a server using Syncthing. (This allows the use of low-cost off-the-shelf scanners.)
(b) Scanning may be performed at a central facility or at many distributed facilities in parallel. In either case, the ballots should be archived for audit.
(a) After the voting deadline, the administrators open the locked vault and scan the pages of ballot codes. The scanned images are interpreted as codes and entered into a database.
(b) The scanned votes are then decrypted, filtered, interpreted, tallied, and published.
(c) Each published vote is indexed starting at 1 and includes a running total of the score. For conventional voting and score voting, the cumulative score after vote (n) is a function of vote (n) and the cumulative score after vote (n-1). This allows a decentralized audit to confirm the tally.
Voters can enter their ballot code online and receive the corresponding public vote index. This allows voters to verify that their vote was recorded as cast.
The administrator certifies the result.