Password Vault

Secure password manager built with Django + React

DjangoReactJWT AuthREST APISass
Live DemoGitHub
project screenshot

Problem

Many users rely on insecure methods to create and store their passwords. My goal was to build a secure, user friendly password manager that:

The project was inspired by a similar tool I originally built using Python with Tkinter which can be found in the Github Documentation

Solution

Password vault is a full stack application designed to securely manage and store user credentials. The developed system follows the principles of the CIA triad:

Architecture

  • Frontend: Vite React (state management, UI)
  • Backend: Django REST API
  • Auth: JWT-based authentication
  • Database: PostgreSQL hosted with Neon

Security Considerations

In this project I designed a system in which users data is entered in the frontend, before being transmitted to the backend for storage in a database. The main security concerns were:

My solution was to use a system where passwords are encrypted on the frontend before transfer to the backend

A full breakdown of the projects security considerations can be found in the Github Documentation

Key Challenges

What I Learned

This project allowed me to gain understanding in building full-stack applications using Python backends and JavaScript frontends. It also provided opportunity to get hands on experience with practises and techniques learnt while studying for the Security+, Casp+, CySA+ and Pentest+ certifications.

This was my first time developing a Django based backend and allowed me to develop further understanding of the practical application of Python with deployment in mind.

The security heavy nature of the application lead me to think more about liability based concerns in a project, and the steps that must be taken by developers to mitigate these.