TriGuard Auth: Face + OTP Login System with Liveness Detection

TriGuard Auth: Face + OTP Login System with Liveness Detection

A Django login system that won't let anyone in with just a password, or a photo held up to the webcam. Face match, blink-and-turn liveness check, adaptive OTP, plus FAR/FRR evaluation your examiner will actually respect.

Technology Used

Python | Django 5 | OpenCV | face_recognition (dlib) | MediaPipe | pyotp | Django REST Framework | SimpleJWT | PostgreSQL | SQLite | Bootstrap 5 | Chart.js | Docker

codeAj
✓
codeAjVerified
🏆5K+ Projects Sold
Google Review
₹499₹1999

Get complete project source code + Installation guide + chat support


Abstract

Passwords get phished. Basic face login gets fooled by a printed photo. This final year project fixes both problems by stacking three checks on top of each other: something you know (a password), something you are (your face), and something you have (a one-time password). And the face check isn't the lazy kind. After your face matches, the system throws a random liveness challenge at you, like blink twice or turn your head left, so a photo or a replayed video simply can't get through.

During enrollment, TriGuard Auth captures five or more webcam frames from different angles and stores only their 128-dimensional face embeddings, encrypted with Fernet. The actual face images are never saved. At login, a risk engine checks your device, IP address and time of day, and if everything looks normal it skips the OTP step. If something looks off, you get the full three-factor treatment.

The project also ships with an evaluation command that calculates False Acceptance Rate (FAR), False Rejection Rate (FRR), accuracy and a confusion matrix on a labelled dataset. So when your guide asks "why did you choose 0.55 as the threshold?", you have a graph to show instead of a shrug.

What This Project Actually Does

Picture a normal login page. You type your email and password. Then, instead of landing on the dashboard, your webcam turns on.

The system compares your face with the encrypted embeddings it stored when you registered. If it's a match, a prompt appears: "Blink twice" or "Smile" or "Turn right". You've got 15 seconds. MediaPipe Face Mesh tracks 468 points on your face and checks whether your eyes actually closed (using the Eye Aspect Ratio) or your head actually turned. A photo can't blink. That's the whole trick, and it works.

After that, depending on how risky the login looks, you either go straight in or get an OTP by email, SMS, or Google Authenticator. Every attempt, successful or not, goes into an audit log. Fail the face match too many times and the system quietly snaps a picture of whoever is sitting there and emails it to the real account owner.

Key Features

Face Enrollment and Matching

  • Captures 5+ angled frames per user during registration, stores only 128-d embeddings generated by face_recognition (dlib), encrypted at rest via common/crypto.py
  • Match threshold is configurable through FACE_MATCH_THRESHOLD in .env, no code changes needed
  • Users can re-enroll their face from their own dashboard if their appearance changes (new glasses, beard, whatever)

Liveness Detection

  • Randomized challenges: blink twice, turn left, turn right, or smile, picked fresh for every login so nobody can pre-record the right response
  • Blink detection runs on EAR calculations from MediaPipe landmarks, while head turns and smiles are verified from landmark geometry
  • Each challenge expires in 15 seconds

Adaptive OTP

  • Three delivery options: email, SMS through Twilio (optional), or TOTP with a scannable QR code for Google Authenticator using pyotp and qrcode
  • Risk scoring looks at device fingerprint, IP address, and login hour, and skips OTP only when all three match your usual pattern
  • 10 single-use backup recovery codes, in case you lose your phone the night before your viva

Security Hardening

  • Account locks after 5 failed attempts, with django-ratelimit guarding the login endpoint
  • Intruder snapshot plus alert email when face matching fails repeatedly
  • Full AuditLog model recording every login step
  • CSRF protection and secure cookie settings in the production config, with all secrets loaded from .env

Dashboards

  • User dashboard: login history, active sessions, "log out of all devices", OTP settings, backup codes
  • Staff admin dashboard at /admin-dashboard/ with Chart.js graphs for logins per day, success vs failure, spoof attempts blocked, locked accounts, and an intruder photo gallery

Authentication as a Service API

  • Django REST Framework endpoints: /api/register/, /api/face/enroll/, /api/face/verify/, /api/otp/send/, /api/otp/verify/
  • Successful OTP verification returns JWT access and refresh tokens through simplejwt

Accuracy Evaluation (FAR / FRR)

This is the section most students skip, and it's exactly what separates a demo from a proper final year project. Drop images into dataset/genuine/, dataset/impostor/ and dataset/spoof/, then run python manage.py evaluate --threshold 0.55. You'll get accuracy, FAR, FRR, a confusion matrix, and a FAR/FRR-vs-threshold plot saved in the reports/ folder. Paste that graph into your report's results chapter. Done.

Real-World Applications

  • Online banking: an extra face-plus-liveness step before a big transfer, so a stolen password alone isn't enough
  • Online exam proctoring: confirming the enrolled student is actually sitting at the laptop, not a friend holding up their photo
  • Hospital records: doctors accessing patient files with strong identity checks and a tamper-evident audit trail, useful for DPDP-style compliance
  • College and office portals: step-up login for admin panels, VPNs and internal tools
  • E-governance services: citizen portals that want biometric assurance without plugging into an external biometric database
  • Lab or office entry kiosks: the enrollment and FAR/FRR tuning pipeline adapts to fixed-camera hardware
  • Identity backend for other apps: the REST API can sit behind any web or mobile frontend

Tech Stack at a Glance

Python 3.11 and Django 5 on the backend. OpenCV, face_recognition (dlib) and MediaPipe for the vision work. pyotp and qrcode for TOTP. SQLite for local development, PostgreSQL for production, with a Docker Compose setup included. Bootstrap 5 and Chart.js on the frontend, Django REST Framework for the API. The code is split into clean apps: accounts, face_auth, liveness, otp, audit, dashboard and api. Your examiner will be able to follow it, which matters more than people think.

The Honest Part

Here's the thing. Installing dlib on Windows is annoying. It wants a C++ compiler, and the first attempt often fails with a wall of red text. We've documented the workaround (pip install dlib-bin gives you a prebuilt wheel with no compiling), but budget an extra 20 minutes for it.

But the rest is easier than it looks. You don't even need to configure a real email account to test OTPs, because one line in .env switches Django to the console email backend and the codes print straight into your terminal. And the test suite runs with pytest even before the computer vision libraries are installed, since the tests that need them just skip themselves.

Who Should Buy This

If you're a student who needs a working project for your college submission, final-year project, semester project, internship, or academic demonstration, this is for you. Whether you're studying BCA, B.Tech, MCA, M.Tech, Computer Science, IT, AI, Data Science, or another related field, you can choose a project that fits your requirements. If you need the source code, project report, documentation, or help setting up and running the project, CodeAj gives you the resources and support to get started faster.

It's a particularly good pick if your specialization leans toward cyber security or computer vision, since it touches both. Mixing domains like this usually impresses external examiners.

Why CodeAj

You get the complete source code, every app, template, migration and management command, plus the Mermaid architecture, login-flow and ER diagrams in the docs/ folder. The project report is written to match what the code actually does, so you won't be defending chapters that describe features that don't exist. And if the webcam won't open or dlib refuses to install, our setup support team will get on a call and sort it out with you. Want more options before you decide? Browse our Python final year projects, check out other Django projects with source code, or look at more computer vision final year projects if face tech is your thing.

Frequently Asked Questions

You will get the complete source code along with an installation guide and chat support to help you set up and understand the project.
All our projects are thoroughly tested multiple times, so the code is completely error-free. But in case you still face any issue, you can reach out to us on WhatsApp (+91 8603862290) and we will fix it and provide you the updated code.
You can book a 1-on-1 Setup & Explanation Session where we connect via AnyDesk and Google Meet, set up the project on your laptop, and explain the complete code working and flow.
No, you cannot re-sell the project. This is completely illegal and a violation of our terms. If we find any such activity, we will take legal action.
Nope. After your face matches, the system asks for a random action like blinking twice or turning your head, and you've got 15 seconds. A printed photo can't blink, and a pre-recorded video won't know which challenge is coming. That's the entire point of the liveness layer.
Not at all. Set EMAIL_BACKEND to Django's console backend in .env and the OTP shows up right in your terminal. Or pick the TOTP option, scan the QR code with Google Authenticator, and demo it straight from your phone. Twilio is completely optional.
Super common, don't panic. Run pip install cmake, then pip install dlib-bin. That grabs a prebuilt wheel so nothing needs compiling. If you insist on regular dlib, install Visual Studio Build Tools with the Desktop development with C++ workload first. Still stuck? Our setup team will fix it with you.
Drop images into dataset/genuine, dataset/impostor and dataset/spoof, then run python manage.py evaluate --threshold 0.55. You'll get accuracy, FAR, FRR, a confusion matrix and a FAR/FRR vs threshold graph in the reports folder. That graph alone makes your results chapter look serious.
No. Only 128-number face embeddings get saved, and even those are encrypted with Fernet. The photos are processed in memory and thrown away. The one exception is intruder snapshots, captured after repeated failed matches so the real owner can see who tried to break in.
That's the adaptive part, and examiners love asking about it. If your device, IP and login time match your usual pattern, the risk score stays low and OTP gets skipped. Try logging in from a new laptop at 3 AM and watch the OTP come right back.
Yeah. The api app has endpoints for register, face enroll, face verify, OTP send and OTP verify. A successful OTP check hands back JWT access and refresh tokens. So any Flutter, React or Android frontend that can send HTTP requests can plug in.
Installation Guide

Extra Add-Ons Available – Elevate Your Project

Add any of these professional upgrades to save time and impress your evaluators.

Live 1-on-1 Mentorship

Personal session with an expert developer

Project Setup

We'll install and configure the project on your PC via remote session (Google Meet, Zoom, or AnyDesk).

Source Code Explanation

1-hour live session to explain logic, flow, database design, and key features.

Want to know exactly how the setup works? Review our detailed step-by-step process before scheduling your session.

₹999

Custom Documents (College-Tailored)

  • Custom Project Report: ₹1,500
  • Custom Research Paper: ₹1,000
  • Custom PPT: ₹800

Fully customized to match your college format, guidelines, and submission standards.

Project Modification

Need feature changes, UI updates, or new features added?

Charges vary based on complexity.

We'll review your request and provide a clear quote before starting work.

Project Files

GoogleReviews

What Our Students Say

5(38+ reviews)
S
Sujit Chavan
a month ago

He explained the project clearly and thoroughly. He was very supportive throughout the process and was always available to help when needed. His guidance and assistance made it easier to understand the project and complete tasks effectively.

Y
Yash Baisware
4 months ago

I had a very good experience with CodeAj Marketplace. The team is professional and supportive, especially Ajay Pandit sir who guides clearly throughout the project. The work was completed neatly and according to requirements. A great place for learning and project development. Highly recommended for students and developers.

R
Ravi Singh
3 months ago

Excellent explanation! Concepts are explained in a very simple and understandable way. It really helped me a lot in improving my knowledge. Great work!

K
Keerthika S
a year ago

Codeaj was really helpful with my project, especially during the customization part. He didn't just do the work but also took the time to explain everything, from the project structure and database to the code itself. It was a huge help, especially for students trying to understand how everything fits together. I really appreciated his support and the way he made things easier to follow.

S
Sprillxstone
10 months ago

Working with CodeAj Marketplace has been such a positive experience. The projects delivered are original, carefully crafted from scratch, and tailored to meet expectations with impressive attention to detail. What really makes him stand out is his willingness to go the extra mile — not just in creating outstanding work, but also in helping others understand how everything functions. He explains things clearly, addresses questions patiently, and ensures the whole process feels like a learning journey instead of just a handover. On top of the technical expertise, his calm and approachable personality makes communication effortless. No unnecessary stress, just smooth collaboration and genuine support. I truly value the dedication he brings to his work and would highly recommend him to anyone in search of high-quality, authentic projects.

A
Abdullah ATK
11 months ago

I purchased a project from him recently and I have to say it's one of the best decisions I've made. The project was absolutely beautiful, built completely from scratch with no shortcuts, and perfectly matched what I wanted. What makes him stand out is not just his ability to create anything we ask for, no matter how complex, but also the way he helps us understand every part of it. He patiently explains the process, clears doubts, and makes sure we actually learn from the project instead of just using it. On top of his skills, his personality is amazing — he's calm, chill, and very friendly to talk to. There's no stress when working with him, only smooth communication and genuine support. I truly appreciate the effort he puts in and would highly recommend him to anyone looking for original, high-quality projects.

J
Jaya shree
9 months ago

I received my project from CodeAJ Marketplace on time, and the work was very neat and well-presented. The team maintained good communication and delivered everything as promised. I appreciate their timely completion and professional approach.

T
taha vohra
a year ago

I sincerely thank Mr. Ajay Pandit for his constant support and valuable guidance throughout the project. His timely advice, encouragement, and expertise greatly contributed to the successful completion of the work. I'm truly grateful for his mentorship.

S
Sonal
10 months ago

I had an outstanding experience with CodeAj while developing my mobile app. Their team was incredibly cooperative, ensuring every customization I requested was implemented flawlessly. The service was top-notch, and the final product exceeded my expectations. Highly recommend CodeAj for anyone seeking professional and reliable app development services! 11/10

R
Rutik Jagtap
a year ago

I would like to sincerely thank Ajay Pandit for providing me with the project. His guidance and explanation of the system's architecture, modules, and AI integration were extremely helpful in understanding the project thoroughly. Ajay's support played a key role in helping me implement the hotel booking and payment module effectively. His willingness to clarify concepts and walk me through complex logic made the learning process smooth and insightful. I truly appreciate his mentorship and the time he dedicated to ensuring I was well-prepared for both the development and presentation of this project.

P
Prachi Narkar
a year ago

I had a great experience with the project I purchased. It was well-structured and met all my expectations. The team was responsive and supportive throughout, addressing all my queries promptly. Highly recommended for anyone looking for quality projects and good service.

V
varshi v
11 months ago

I'm really thankful to Codeaj for helping me with my project explanation and guiding me throughout. Your support made everything much easier and clearer.

S
Sreekrutha Pasunuru
9 months ago

The project he made was wonderful, and the way he patiently listened, understood all my ideas and presented them so well in the project, was amazing. I would highly recommend him to everyone.

A
Anushka A
a year ago

I would like to sincerely thank Ajay Pandit for providing me with the project. His guidance and explanation of the system's architecture, modules, and AI integration were extremely helpful in understanding the project thoroughly.

M
Mohini Singh
11 months ago

Too good experience, I love their projects and they are available for you to help, they are incredible good. Must avail their services. I am happy customer.

R
Ramavath Parvathi
11 months ago

The team was very supportive and their explanation was very good, they are clarifying each and every doubts with lots of patience. Highly recommended for quality projects.

S
Soundarya S
6 months ago

I really like their work and they made good project in less amount.

S
Sambhaji Sonwane
a year ago

Thank you, CodeAj Bro, for supporting the Doctor Appointment System project. Your guidance during the project setup, installation, and report creation was very helpful and greatly appreciated.

M
Mukul Panwar
11 months ago

One of the best Software Developer provide the best setup environment for project, good explain skills, and good technical skills, step by step explain project through google meet and budgetly price project Available.

R
Rasika Tambe
a year ago

Thank you so much for your excellent work on our project! Your kindness and clear explanations made the entire process smooth and enjoyable. Highly recommend!

P
payal Tripathi
a year ago

Really very supportive, helpful and kind, loving nature. Available for any time for any query, highly recommend to get projects from him.

E
Evan Lavigne
a year ago

Awesome projects. They support on setting up the project after purchasing. Completely legal one. Affordable projects too.

S
Satesh kumar Nayak
a year ago

Code AJ guide team are very formal, friendly to setup project step by step and explain each question 🙂

S
sanjay mp
a year ago

Thank you codeAj, Best site to get your project done quickly, with fast responses and instant clarification of any project-related doubts.

A
ahmedafa
a year ago

I really liked the work, and they solved my issues very well too.

G
Gauri Pandey
a year ago

They provide very good service and code also running condition and they fulfill all the queries it's very helpful.

D
DasHy
a year ago

Really helpful, makes things easy to understand and very kind nature, you can look forward to get help from here.

P
Prashant Undalli
10 months ago

Thank you so much for building the Project for my requirement.

S
Sunhith Reddy
11 months ago

Looking forward to many many collaborations and always tend to buy the projects.

H
Hemant kumar Kushwaha
a year ago

I am so satisfied with codeAJ because of his help.

A
Anjali
a year ago

Thank you so much sir for your support and help.

G
Govardhan Reddy
a year ago

Ajay bro has excellent knowledge and his response is nice.

J
Janet Ase
a year ago

This is a great app I love it with good functionality.

A
Anjali Varun
a year ago

Thank you so much for your help and support.

S
Sanskruti Kalshetti
a year ago

Highly recommended for the projects.

P
Purva Chavan
a year ago

Loved the project work.

P
p.p.s. raghavendra
11 months ago

It is super for students.

P
Pranita Sandim
a month ago

I recently purchased this project online and I am very satisfied with it. The project was well-designed, properly organized, and included all the necessary files and documentation. The source code was clean, easy to understand, and worked as expected. A special appreciation for the project explanation and setup session. The session was detailed and easy to understand, covering both the project implementation and the complete setup process. All my questions were answered clearly, which helped me understand the project much better. Thanks for giving your time.

⭐ 98% SUCCESS RATE
  • ✓ Full Development
  • ✓ Documentation
  • ✓ Presentation Prep
  • ✓ 24/7 Support