Polyas-Verifier is a web application for the individual second-device verification of the POLYAS 3.0 E-Voting System for individual verifiability (cast-as-intended verification), see also the original publication. The POLYAS 3.0 E-Voting System is used in the elections for the executive and the managing committee of the German Informatics Society in autumn 2023, see polyas3.0-verifiable-1.3.2.pdf for its system specification and second-device-spec-1.0.pdf for the system specification of its second device verification protocol.
npm install
For executing the GUI in mock mode, run the following command:
npm run mock
Then, open the following link:
http://localhost:5000/?c=kFpsHZFLr8j-2yDySJzMhLTyEFx6Nu4oqxFSE4oIaeV3IZRlF0987AlWeCQC4AHpznYchLE_gI3nwXmS&vid=voter24&nonce=cd02cad970d6b5659e097d09545c605518d4061cf3751c5a19ffc298193d62f2
npm run t
For testing the application against a real election instance, open .env.development
and set VITE_ELECTION_BACKEND
to the URL of your instance or a proxy to your instance.
Set VITE_ELECTION_FINGERPRINT
to the election fingerprint of the election running on your election instance, VITE_ELECTION_URL
to the instance of the base address of the election server and VITE_ELECTION_HASH
to the election hash of the running election.
If the URL provided by the instance for the individual (second device) verification links to a localhost port other than 5000, open package.json
and change the following line
"dev": "vite --port 5000",
to this:
"dev": "vite --port <port number>",
Then, run the following command:
npm run dev
- Docker Desktop (Windows or macOS)
- Docker Compose (Linux)
Edit the file docker-compose.yml and change the values of the following keys within services.vite_docker.environment
:
VITE_ELECTION_FINGERPRINT
: The fingerprint of the election for which the verifier is deployedVITE_ELECTION_URL
: The URL of the election server instanceVITE_ELECTION_HASH
: The election hash of the running electionVITE_ELECTION_BACKEND
: The URL of your instance or a proxy to your instance
Run
docker-compose build
docker-compose up -d
to build and start the container.
If you are using Docker Desktop, omit the hyphen (docker compose
instead of docker-compose
).
See LICENSE
The principal development of this software has been done by Christoph Niederbudde.
For more information, please contact Michael Kirsten.