Open-source secret-ballot voting for organizations — understandable, auditable, no blockchain.
The home of the SiVote platform: an internet voting system built for private, democratic organizations (associations, cooperatives, unions, parties). Self-host it with no GUI, or use the hosted GUI at eGlasovanje.si. Built by the non-profit IP21.
- Secret — voters vote with random, single-use codes; there is no stored link between a voter and their vote.
- Verifiable — every voter receives the full anonymized list of submitted ballots and can check, with their own code, that their vote was recorded and the tally is correct. Because each voter holds their own copy, a falsified result can't be shown selectively — no cryptography degree required.
- Understandable — no blockchain, no exotic cryptography. Transparency through simplicity.
- Secrecy that scales — three security levels, from fully platform-run to a setup where your electoral commission distributes codes and proxies vote submission so the platform never sees the voter at all.
- A complete, dependable solution — create ballots, verify voters, collect votes, publish results, add your logo (revolutionary, we know). Production software with a support organization behind it, not an experiment.
Not for state elections — on principle. The authors are opponents of e-voting for governmental elections: there it adds critical risks and no real benefit. SiVote is for private organizations where remote secret voting genuinely helps.
| Repo | Role |
|---|---|
| SiVoteEngine | Core: ballots, single-use voting codes, vote collection, results. |
| SiVoteSender | Voter lists, email invitations, verification, delivery tracking. |
| SiVoteHomeSender | Standalone CLI for an electoral commission to distribute invites from its own machine (Level 2/3). |
The graphical web app at eGlasovanje.si is a separate, proprietary product built on top of these.
The Engine generates one random code per voter; the Sender — or, at Level 2/3, your commission via SiVoteHomeSender — emails each voter their code and a ballot link. Voters cast in a browser on any device. When voting closes, the Engine tallies the result and every voter is emailed the full anonymized ballot list to independently verify their vote and the count.
Self-host with just the Engine + Sender (no GUI) and operate it via the evote:* artisan CLI — see the
Engine's self-hosting guide
and security & secrecy model.
Or skip the ops and use the hosted GUI at eGlasovanje.si (free for smaller
organizations).
MIT (see each component repository). eGlasovanje is a trademark of IP21. Questions or support: info@ip21.si. We've published articles explaining the model in depth at eglasovanje.si/vsi-clanki.