The pollster acts as a voter's agent, presenting human readable ballots to a voter, collecting the voter's responses to ballot questions, performing cryptographic functions on the voter's behalf, obtaining necessary validations and receipts, and delivering ballots to the ballot box. The pollster is the only component of the Sensus system that voters must trust completely; voters concerned about the privacy of their ballots may want to install personal copies of the pollster on trusted machines. Pollsters may be implemented with a variety of user interfaces. Some pollsters may have the ability to display multimedia ballots with a graphical user interface; others will use a simple text-based interface. The pollster may also be used to assist voters in verifying that their votes were counted correctly or in contesting an election.
Our pollster implementation has a simple text user interface. It has the ability to display unvoted ballots described using our ballot description language, BLT. BLT was designed for maximum flexibility in generating ballots. It allows for ballot elements to be presented in random order or conditionally (although conditional presentation is not yet implemented). However, the Lisp-like format of BLT makes it difficult for humans to use it to compose Sensus ballots. This problem can be resolved through the use of a ballot authoring tool.
Now that World Wide Web browsers with HTML forms support have become widespread, HTML may prove to be a better ballot specification language for most purposes.