I. Introduction
i. Category
Secure Electronic Governance Systems
ii. Purpose
This Software Requirements Specification (SRS) document outlines the full functional and non-functional requirements of Votiix – Fingerprint-Based Electronic Voting System. The product is designed to provide an effective, secure, and fraudulent-proof electronic voting system, with fingerprint authentication being the main tool used in voter identification.
The document provides the description of system behavior and functionalities, defines hardware-software interactions, details user permissions and roles, explains the whole process of voting, and includes all necessary validations. It will be useful for the developers, testers, quality assurance staff, and other project members. This document will ensure that all stakeholders have a clear understanding of what functionalities should be provided by the system.
iii. Scope
Votiix is a biometric-enabled electronic voting system that aims to replace traditional paper-based votes and digitally-enabled credentials via fingerprint authentication. In doing so, every vote cast by any voter will be tied to a live and validated fingerprint, effectively preventing proxy votes and any form of voter identity fraud.
This project can be decomposed into three main layers:
- Edge Layer – Physical devices comprising ESP32 and R307 Kiosk terminals at specific polling places, alongside Officer Management Terminals.
- Backend Layer – The secure microservices architecture running on Kubernetes, tasked with handling identity validation, ballot encryption, events streaming, and data lifecycle management.
- External Trust Layer – The interface with the National Civil Registry, which serves as the definitive source of identity information, biometric templates, and registered phone numbers for citizens.
Scope:
- Biometric validation of voters via the fingerprint sensor built into the ESP32 Kiosk terminal.
- Secure voter registration and fingerprint enrollment process, performed at authorized polling stations by Electoral Officers.
- Duplicate vote prevention with a global has_voted flag, atomically checked and set by the Token Service.
- Real-time vote counting, encrypted using the election’s private/public RSA key pair, and tally reporting.
- A queue for storing offline votes, denoted as OFFLINE_VOTE_QUEUE, ensuring that any vote is encrypted and kept on-device until re-synced and de-duplicated when network connectivity is restored.
- An admin dashboard available via web portal for the Electoral Commission to manage the entire election process, including candidate list management, as well as GDPR-compliant data deletion.