Inspiration: Many people take their devices to work in public workspaces (schools, colleges, coffee shops, libraries, etc.), which contain sensitive information on some websites. All it takes is for someone to get your computer and start going on important websites and stealing your information. Face id has been highly used as an authentication tool in iPhones and androids, so why not use this same tool for your computer?

What it does: When users set up the extension, it will prompt them to upload a clear photo for the face id. Then, users can set certain websites to look at with the extension. Then, whenever the user tries to go into one of those "locked" websites, they are redirected to our website, where they are prompted to scan their face to grant permission. Then they are immediately redirected to their intended website. Users can set up these locked websites by going to those websites and clicking the extension icon, or they can go to our website, sign in, and input their blocked websites from there.

How we built it: Essentially, there are three components to the application. The Chrome Extension, the website, and facial recognition script. The Chrome extension was created using Google Developer API in chrome web extensions. Through a combo of Json, Javascript, CSS, and HTML, we created a pop up based extension that would link to the second part of the application, the website. The website is a hub for users to create a Facecurity account. Upon registering, an initial photo is provided by the user. This is used to train the face recognition model. Blocked websites are listed on the dashboard section of the websites, and these sites require facial matching. The face-recognition library in python is useful for matching faces using user webcam data. Using the initial photo, the algorithm is able to detect the presence of the same face in another picture. For subsequent logins to websites where the user enabled facecurity, new user pictures must be provided. Once the match has been confirmed, the user is redirected back to the original site they enabled facecurity on.

Challenges we ran into: The harder part wasn't setting up the facial recognition part with OpenCV and python. Surprisingly, it was setting up the chrome extension. None of us had experience setting up chrome extensions. After we had finished the CV2 portion, while some worked on the website and database, the rest worked on learning how to make a chrome extension and watching different tutorial videos to do our tasks. Google's chrome extension was annoying to work with as many of the functions, APIs, and callback functions were annoying to use. We also had trouble with google's authentication feature where the user's block_id wasn't working. We also had some trouble with the extension redirecting to our website when we were attempting to connect the chrome extension and our own website and database.

Accomplishments: We are proud of gaining experience with and learning various programming languages in this journey. We were able to use our computing skills to create a face recognition platform, an encrypted database, a website, and a chrome extension for the sake of our client's privacy.

What we learned: Throughout this project, we learned the intricacies of face recognition with the open cv library of python. We also learned how to code a chrome extension from scratch.

What's next for Facecurity: We plan to improve security measures for our website (such as preventing someone from simply using a picture of the user on their phone to unlock their websites) and set up a google developer account to publish our web extension. We also plan on using some cloud service to host our website when releasing it to the public. We also want to fix any more bugs that can occur.

Built With

Share this project:

Updates