LockLess is a secure desktop application for face authentication using your webcam. Built with Python, OpenCV, and Tkinter, it is designed for privacy, simplicity, and robust local security on Windows.
🔐 Secure Face Authentication
- Real-time face recognition using advanced OpenCV algorithms
- Multi-pose enrollment system for enhanced accuracy
- Robust authentication across different lighting conditions and angles
🛡️ Privacy-First Security
- 100% offline operation - no internet connection required
- Local data storage with Windows DPAPI encryption
- Face templates stored securely, no actual images saved
- Zero cloud dependency for complete privacy protection
👤 User-Friendly Interface
- Intuitive GUI built with Tkinter for easy navigation
- Step-by-step enrollment process with clear instructions
- Real-time feedback during authentication attempts
- Simple setup with minimal user interaction required
⚡ Performance & Reliability
- Fast face detection and matching algorithms
- Configurable tolerance levels for authentication accuracy
- Liveness detection to prevent spoofing attempts
- Multi-frame verification for reliable access control
🔧 Customizable Configuration
- Adjustable face matching threshold settings
- Configurable number of required matches for unlock
- Customizable time windows for liveness detection
- Flexible enrollment process with multiple pose captures
📚 Educational Purpose
- Clean, well-documented codebase for learning
- Demonstrates biometric authentication principles
- Shows encryption and secure data storage practices
- Perfect for computer vision and security education
🖥️ Windows Optimized
- Native Windows integration with DPAPI encryption
- Optimized for Windows desktop environments
- Compatible with most webcam hardware
- Lightweight resource usage for smooth operation
flowchart TD
User[User] -->|Enrolls Face| GUI[LockLess GUI]
GUI -->|Captures Images| Webcam[Webcam]
GUI -->|Saves Encrypted Templates| Storage[Local Storage]
User -->|Authenticates| GUI
GUI -->|Live Face Capture| Webcam
GUI -->|Compares| Templates[Face Templates]
Templates -->|Unlock| App[App Access]
| Use Case | Description | User Benefit |
|---|---|---|
| Secure Login | Unlock app with your face, no password needed | Fast, hands-free access |
| Local Data Protection | All face data encrypted and stored locally | Privacy, no cloud risk |
| Multi-Pose Enrollment | Robust recognition with varied poses and expressions | Reliable authentication |
| Personal Device Unlock | Use as a gatekeeper for sensitive files or apps | Extra layer of security |
| Educational Demo | Learn about face recognition and encryption | Knowledge, experimentation |
| No Internet Required | Works fully offline | Usable anywhere |
- Install Python 3.10+ (Windows recommended)
- Install dependencies:
pip install -r requirements.txt
- Run the app:
python user_face_unlock.py
- Enrollment:
- On first run, the app will guide you to capture 5 live images:
- Neutral face, looking straight
- Smile
- Turn head left
- Turn head right
- Remove/Put on glasses if you have
- On first run, the app will guide you to capture 5 live images:
- 🎓 BCA 3rd Year Student at Seacom Skills University
- 💻 Full Stack Developer specializing in React & Modern Web Technologies
- 🌟 Open Source Enthusiast passionate about education technology
- The app extracts face features and saves them securely in:
```
C:\Users\<your-username>\face_templates.dat
```
- Authentication:
- After enrollment, the app uses your webcam to authenticate you in real time.
- Recognition is robust to different conditions (lighting, pose, glasses).
- Start the app:
python user_face_unlock.py
- Re-enroll: Delete or rename
face_templates.datand run the app again. - Help:
python user_face_unlock.py --help
You can adjust these settings in user_face_unlock.py:
TOLERANCE— Face matching threshold (default: 0.7)LIVENESS_MATCHES_REQUIRED— Number of matches needed to unlock (default: 3)LIVENESS_WINDOW_SEC— Time window for liveness detection (default: 5 seconds)
- Local Only: No images or data are sent to the cloud.
- Encrypted Storage: Face templates are encrypted using Windows DPAPI.
- No actual images are saved—only processed face features.
- For educational/personal use only. Not a replacement for Windows login or critical security.
- OpenCV (face detection)
- NumPy (numerical operations)
- Pillow (image processing)
- pywin32 (Windows DPAPI encryption)
- tkinter (GUI, included with Python)
See the dedicated ROADMAP.md file for a comprehensive, visual roadmap of the LockLess project.
- What you'll find:
- Project overview and goals
- Current architecture (with emoji and diagrams)
- Timeline and future updates (including Windows Hello integration)
- ASCII and image-based infographics for easy understanding
- Community engagement and contribution guidelines
The roadmap is designed to help contributors, users, and stakeholders understand the direction and vision for LockLess. For a visual summary, check the embedded roadmap image in ROADMAP.md.
MIT License. See LICENSE file for details.
