A secure facial authentication system built with Python, Tkinter, and MediaPipe.
Designed for educational purposes (school project) β featuring a modern UI, encrypted storage, and GDPR-friendly principles.
- π§ Face Recognition with MediaPipe
- π Strong Data Protection
- Stores only 2D landmark coordinates (no images)
- Encrypted using Fernet symmetric encryption
- π€ User Management
- β Register face (with consent)
- π Login with face recognition
- π View registered users
- β Delete face data anytime
- βοΈ GDPR Principles
- β Consent required
- β Encrypted + pseudonymized with UUID
- β Full user control (view/delete)
- β Data minimization
- β Manual retention
- π¨ Modern UI
- Dark theme with ttk
- Status bar for live feedback
- Keyboard shortcuts:
- β Enter β Register
- π Ctrl+L β Login
- ποΈ Ctrl+Delete β Delete
facial-auth/
βββ registered_faces/ # π Encrypted face data (.pkl files)
βββ facial_auth.log # π Log file of actions
βββ main.py # π Main program entry (GUI + logic)
βββ README.md # π Documentation
- Python 3.8+
- Install dependencies:
pip install opencv-python mediapipe cryptography numpy- Start the app:
python main.py- In the GUI:
- βοΈ Enter your name
- β Tick consent box
- π’ Register Face β Press
cto capture,qto quit camera - π Login with Face β Face the camera directly
- β Delete Face Data β Enter name + delete
- π View Registered Users β Show all users
All important actions (register, login, delete) are stored in:
facial_auth.log
This project is for educational purposes only.
It is not production-ready and must not be used for real-world security systems.