This is an HTML version of an attachment to the Freedom of Information request 'Vote Secrecy in 2020 Election'.

OSEV Vote Export Process
Sequence Diagram
v0.6.1 2020-04-12
Vote Storage
OSEV Check
OSEV Verify
System
Elections Officer
Login
(username, password)
Response: 
(success, authToken)
GetNextVotesCollection 
(RSA private key)
(key stored in memory only)
Run Processing Job
For Each Vote (up to count N) 
IsDeclarationVoteAdmitted (RegToken)
isDeclarationVoteAdmitted(voterToken)
Response:  (isDecVoteAdmitted, Response: (isDecVoteApproved,
isDecVoteInvalidated)
isDecVoteDenied)
If not admitted or invalidated, do not include
and save approval status.
Decrypt Vote with
Asymetric RSA private key
Verify Vote against
VoteSignature
If verfication fails (Unverifiable),
do not include
and save unverifiable status.
Create PDF
End for each vote 
(repeat until N)
Create zip file of all PDFs.
Mark votes as downloaded (with date/time) 
Response: (VotePDFZip)
Saves votes in secure location
 Get Vote Status Report (Downloaded Votes, admitted Votes, Invalidated Votes, Unverifiable Votes)
Response: (Vote Status Report)
Reviews changes in counts to check the download was a
success and compare to number of downloaded votes.
Votes for Counting