Biometric Security Engines — Windows Hello & OpenCV Recognition
A suite of offline-first biometric authentication systems. Features Windows Hello Hello integration (winsdk), real-time face recognition pipelines (OpenCV), and AES-256 database-level encryption.

Overview
Biometric authentication is the cornerstone of offline security systems. I developed a suite of highly secure, offline-first biometric authentication applications:
- Biometric Enabled Voting Machine (BEVM): An encrypted voting station prototype incorporating Windows Hello Fingerprint API to verify voter identities.
- Face Recognition Attendance System: A real-time computer vision checkpoint using OpenCV to track check-ins and check-outs of candidates.
These projects were engineered to run strictly on local edge devices, prioritizing privacy and ensuring zero external network dependencies.
Technical Valuation: Replacement Cost: ₹6.8 Lakhs | Edge Cryptographic Engineering. Strict voter privacy hashing models.
Technical Features & Security Guardrails
1. Biometric Hardware Integration (winsdk/winrt)
The voting engine hooks directly into the local host's biometric hardware via the Windows Hello API (winsdk / winrt). The application locks the user interface until a successful biometric scan is registered. If hardware is missing, it falls back to a secure cryptographic simulator mode.
2. Edgewise Computer Vision Pipeline (OpenCV)
The attendance engine runs a real-time webcam video stream, detecting faces, calculating spatial face encodings, and comparing them against pre-registered student profiles.
- Data Persistence: Student face metadata is serialized into a local JSON store, allowing sub-150ms matching latency on standard CPU hardware.
3. Cryptographic Guardrails (AES-256)
To secure voter selections and candidate identities:
- Anonymity: Voter IDs are immediately hashed using SHA-256 prior to storage. No raw identities are ever written to the database.
- Vote Encryption: Vote choices are encrypted in the local SQLite database using AES-256 (Fernet). Decryption keys are stored in a separate keyfile (
secret.key) and read only in memory for dashboard generation.