
PROJECT
| Monika R | AUTHOR | ACTIVE |
| Varsha Shubhashri.M | COORDINATOR | ACTIVE |

A real-time voter authentication layer designed to detect duplicate voting and identity fraud across polling booths.
GitHub: https://github.com/MonikaRGowda/ikshana
Ikshana is a full-stack web application designed to strengthen voter authentication at polling booths.
The central idea is A voter should not be able to authenticate twice, even if the second attempt happens at another booth.
The prototype introduces a real-time authentication layer between voter verification and the actual voting process. It combines Voter ID verification, fingerprint verification, facial verification, fraud detection, and real-time cross-booth synchronization.
A key design principle is that Ikshana is an authentication gateway, not part of the voting process itself. It verifies identity and whether a person has already authenticated, but it does not record or influence the voter's ballot choice.

The existing approach has several limitations:
The indelible ink mark on a voter's finger is physically inspected by polling personnel. This process is manual and can be difficult to verify consistently.
Individual booths do not automatically share voter authentication status in real time.
A fraudulent person may attempt to use another voter's identification to pass through a conventional identity check.
Authentication and fraud attempts are not represented in one centralized, real-time digital trail.
Ikshana addresses this gap by introducing a triple-factor authentication checkpoint.
Ikshana combines three verification layers:
Voter ID + Fingerprint + Face The authentication event is then synchronized across connected booths. The multiple checks strengthen the authentication process before a voter proceeds to the voting stage.
The flow is:

Authentication events are broadcast through Socket.IO.
When a voter is authenticated at Booth A, the relevant authentication state can be propagated to Booth B and Booth C.
This removes the dependency on isolated, booth-level knowledge.
Ikshana is designed around three fraud scenarios.
A voter who has already authenticated attempts to authenticate again using the same identity.
Result: The attempt is blocked and recorded as a duplicate voting attempt.
The biometric identity is associated with a different Voter ID from the one presented.
Result: The attempt is classified as identity fraud / impersonation.
The presented Voter ID exists, but the biometric identity does not match the registered identity.
Result: The attempt is classified as Voter ID forgery / impersonation.
The prototype integrates Mantra MFS fingerprint biometric technology for voter authentication.
The voter's fingerprint is captured using the Mantra MFS scanner and processed through the biometric verification workflow. If fingerprint verification fails or the fingerprint quality is insufficient, the system can use facial verification as a fallback to complete the authentication process.
Facial verification is performed using DeepFace.
The face workflow provides an additional biometric layer and serves as the fallback when fingerprint verification is not sufficiently reliable.
The system uses PostgreSQL for election data and fraud logging.
The architecture separates temporary election information from the permanent fraud record.
PostgreSQL
│
┌─────────┴─────────┐
│ │
▼ ▼
Election Database Fraud Log
Temporary Permanent
│ │
Voter State Fraud Events
Election State Audit Records
The election database is intended to exist only for the duration of polling. Before it is removed, flagged fraud information is preserved in the permanent fraud log.
Frontend -> React.js Backend -> Python API Framework -> FastAPI Database -> PostgreSQL Real-time communication -> Socket.IO Python Socket.IO implementation -> python-socketio Face verification -> DeepFace Fingerprint integration -> Mantra MFS100 Synthetic data generation -> Python Faker
The complete authentication workflow is:
1. Voter arrives at polling booth
↓
2. Voter ID is entered / verified
↓
3. Voter record is checked
↓
4. Fingerprint is scanned
↓
5. Fingerprint is verified / hashed
↓
6. Face is captured and verified
↓
7. Fraud scenarios are checked
↓
8. Cross-booth state is checked
↓
┌─────┴─────┐
▼ ▼
Verified Fraud
│ │
▼ ▼
Allow voter Block
to proceed +
Alert
+
Log
The booth terminal is designed for polling officers to perform voter authentication.
The interface supports the authentication workflow and communicates with the backend for voter verification and fraud detection. It also provides place holder for fingerprint and face authentication.
The administrator interface provides centralized visibility into the election authentication process.
The dashboard is designed to display:
The prototype operates on a local network. A real election deployment would require secure and reliable communication infrastructure.
The project's proposed deployment path is integration with NIC government infrastructure and VSAT connectivity, especially for remote polling booths.
The actual voting mechanism remains separate from this authentication system.
The prototype uses synthetic voter data for demonstration.
The dataset includes fields such as:
The project documentation states that more than 1,000 synthetic voter records are generated using Python Faker with the Indian locale.

- Synthetic voter dataset used for demonstration.*
The current prototype has important limitations:
Implement SSL/TLS encryption for all communication between booths and the central server.
Introduce a booth-level queue that stores authentication attempts during temporary connectivity loss and synchronizes them when the connection returns.
Explore iris recognition to improve authentication accuracy and reduce false acceptance.
Explore blockchain-based fraud records to create an immutable audit trail.
Explore NIC + VSAT integration and a scalable architecture capable of supporting thousands of booths and millions of voters.
Login

Booth Dashboard

Voter Verification

Fingerprint Verification

Face Verification

Successful Authentication

Duplicate Voting Alert

Identity Fraud Alert

Admin Dashboard

Audit Log
