Absolute security on the internet does not exist, and online voting is no exception. At demokratian, we strive to minimize fraudulent risks without falling into the trap of opaque cryptographic systems.
Reliable electoral rolls: fraud begins before voting starts
The application is built around verified rolls: only registered individuals on the electoral roll may vote. Electoral rolls are a primary vulnerability vector for election fraud, whether in-person or online.
A common pitfall in online voting — intended to maximize turnout — is opening public sign-up forms where anyone can register using easily forged identifiers like national ID numbers. This practice must be avoided unless accompanied by rigorous identity verification.
Votes separated from voters, without cryptographic magic
In demokratian, the ballot is completely separated from the voter. In the database, both datasets reside in separate tables with no possibility of linking one to the other. Unlike systems that maintain linkage and rely on complex encryption algorithms to protect ballot secrecy — delegating security to "external authorities."
The system models traditional paper balloting: once your ballot enters the ballot box, it cannot be altered nor traced back to you.
Transparency above all
Anyone can audit the votes directly. Ballots can be listed straight from the database without requiring complex decryption tools that create mistrust among non-technical users concerned about algorithmic data manipulation.
"Cryptographic opacity is not security. It is blind faith in whoever wrote the algorithm."
Hash chain: any alteration leaves a trace
To prevent illegal vote injection into the database, we implemented multiple security layers:
- A second copy encrypted one-way using SHA-256. Comparing datasets enables the system to flag discrepancies between original and backup copies.
- A third copy stored in a separate file with restricted server access rights.
- Within each vote record, a hash reference to the prior 5 votes allows full integrity checking upon election close.
This chaining functions similarly to a blockchain, optimized for relational RDBMS. Combining SELECT FOR UPDATE with atomic transactions guarantees data integrity during concurrent voting spikes.
Additional layer: independent election monitors
The system includes another recommended security layer for transparency, configurable by administrators: dispatching an anonymized notification email containing each vote payload to independent election monitors in real time — essentially acting as an instant "paper receipt" stripped of voter identity.
Individual verifiability without compromising secrecy
Upon casting a vote, the system generates a unique alphanumeric code for the voter to retain. When voting closes and all tabulated votes are published, voters can verify that their specific vote remains present and unaltered.
Conclusion
As a rule, software systems carry inherent security risks depending heavily on administrator integrity regardless of implemented safeguards. Other systems place total trust in complex encryption schemes, yet even asymmetric encryption remains susceptible to illegal vote insertion since public encryption keys remain accessible on the server.
The difference: in demokratian, auditing is transparent and verifiable by anyone, rather than relying on assertions from external authorities.