Description
CHVote aims to be an opensource, publicly owned evoting system. It is the result of the collaboration
between the Geneva State Chancellery and the Geneva IT Department.
CHVote is currently used by 4 cantons in Switzerland: Basel-City, Bern, Geneva and Luzern, either for
votations or elections.
CHVote alternatives and similar software solutions
Based on the "Communication systems" category.
Alternatively, view CHVote alternatives based on common mentions on social networks and blogs.
-
Mattermost
Mattermost is an open source platform for secure collaboration across the entire software development lifecycle.. -
Jitsi Meet
Jitsi Meet - Secure, Simple and Scalable Video Conferences that you use as a standalone app or embed in your web application. -
Reddit
DISCONTINUED. Social networking and news website where registered community members can submit content. -
Zulip
Zulip server and web application. Open-source team chat that helps teams stay productive and focused. -
Chatwoot
Open-source live-chat, email support, omni-channel desk. An alternative to Intercom, Zendesk, Salesforce Service Cloud etc. ๐ฅ๐ฌ -
Listmonk
High performance, self-hosted, newsletter and mailing list manager with a modern dashboard. Single binary app. -
Mail-in-a-Box
Mail-in-a-Box helps individuals take back control of their email by defining a one-click, easy-to-deploy SMTP+everything else server: a mail server in a box. -
Tinode
Instant messaging platform. Backend in Go. Clients: Swift iOS, Java Android, JS webapp, scriptable command line; chatbots -
docker-mailserver
DISCONTINUED. A fullstack but simple mail server (SMTP, IMAP, LDAP, Antispam, Antivirus, etc.) using Docker. [Moved to: https://github.com/docker-mailserver/docker-mailserver] -
Gotify
A simple server for sending and receiving messages in real-time per WebSocket. (Includes a sleek web-ui) -
HumHub
HumHub is an Open Source Enterprise Social Network. Easy to install, intuitive to use and extendable with countless freely available modules. -
Centrifugo
Scalable real-time messaging server in a language-agnostic way. Self-hosted alternative to Pubnub, Pusher, Ably. Set up once and forever. -
Berty
Berty is a secure peer-to-peer messaging app that works with or without internet access, cellular data or trust in the network -
Tutanota makes encryption easy
Tuta is an email service with a strong focus on security and privacy that lets you encrypt emails, contacts and calendar entries on all your devices. -
Patchwork
DISCONTINUED. A decentralized messaging and sharing app built on top of Secure Scuttlebutt (SSB).
CodeRabbit: AI Code Reviews for Developers

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of CHVote or a related project?
README
CHVote 
CHVote aims to be an opensource, publicly owned evoting system. It is the result of the collaboration between the Geneva State Chancellery and the Geneva IT Department.
CHVote is currently used by 4 cantons in Switzerland: Basel-City, Bern, Geneva and Luzern, either for votations or elections.
Table of contents
Released components
The following components are released as opensource software:
- The offline administration application
- Various utility libraries needed by this application
The goals of the offline administration application are to:
- generate the keys responsible for encrypting and decrypting the stored ballots, using passphrases from the electoral board;
- test the generated keys and the passphrases;
- decrypt the ballots.
The security objective of having an offline application is to ensure that the private key able to decrypt the ballots is never known to any system other than the offline application and its offline laptop.
The offline administration application is a key component of the evoting system in that it is the only one responsible for creating and using the private decryption key.
System overview
Please read the [system overview documentation](docs/system-overview.md) to learn how the published components contribute to the evoting system. You'll get an overview on the following themes:
- the election process;
- the system architecture including focuses on the ballot box cryptography and the use of the offline administration application;
- the security concept.
Compiling and running
Preconditions
The following software must be installed to compile and run the application:
- Oracle JDK 8
- Maven 3
- JCE Unlimited Strength Jurisdiction Policy Files for Java 8
(see the
UnlimitedJCEPolicyJDK8/README.txt
file in the downloaded ZIP archive for installation instructions into your JDK instance).
We do not provide support for the use of OpenJDK/OpenJFX.
Compiling
Compile and install the 3 modules in this sequence:
cd $PROJECT_ROOT/base-pom
mvn clean install
cd $PROJECT_ROOT/commons-base
mvn clean install
cd $PROJECT_ROOT/admin-offline
mvn clean install
Some JDK distributions do not come with the Monocle classes used by the headless GUI tests. If you're running into those cases
(java.lang.AbstractMethodError: com.sun.glass.ui.monocle.NativePlatform.createInputDeviceRegistry
appearing in the test logs),
use the following command to skip the GUI tests:
cd $PROJECT_ROOT/admin-offline
mvn -P skipJavaFXTests clean install
Running
Run the application with maven:
cd $PROJECT_ROOT/admin-offline
mvn exec:java -Dexec.mainClass="ch.ge.ve.offlineadmin.OfflineAdminApp"
Contributing
CHVote is opensourced with the main purpose of transparency to build confidence in the system.
Contributions are also welcomed, either using pull requests or by submitting issues in github. The CHVote community manager will take care of those inputs, lead exchanges around them, and actions could take place according to their relevance, their criticality, and the CHVote development roadmap.
Pull request policies
The master branch is dedicated to mirror the state of the production code.
- Please use the development branch for pull requests modifying the source code.
- You can however use the master branch for pull requests concerning the documentation only.
Security
In case of vulnerability discovery, please use the following email address for coordinated disclosure: [email protected].
Licence
CHVote components are released under AGPL 3.0.
Future
The second generation of CHVote has been under active development in 2017 and 2018. The project has since been discontinued and will not be put into production. It aimed to provide end-to-end encryption with individual and universal verifiabilities. Its source code is published here: https://chvote2.gitlab.io.
*Note that all licence references and agreements mentioned in the CHVote README section above
are relevant to that project's source code only.