This Python-based Password Manager is designed as part of the OCR Computer Science H446 programming project. The goal of this project is to create a secure and user-friendly password manager to help users manage their passwords effectively.
- User Authentication: Allows users to create an account with a unique username and a secure password.
- Password Storage: Safely stores and encrypts user passwords.
- Password Generation: Provides a tool to generate strong, random passwords.
- Data Security: Implements secure practices for storing and handling sensitive information.
- User Interface: A simple and intuitive web interface for user interaction.
- Local Storage: Provides peace of mind when data is stored locally completely under the users control.
- Docker
- Git
- Python (3.10 or above)
- argon2-cffi==23.1.0
- Flask==3.0.2
- gunicorn==21.2.0
- Web Browser
That's it
-
Clone the repository:
git clone https://github.com/garrywashere/password-manager.git
-
Navigate to the project directory:
cd password-manager -
Build the Docker image:
docker build -t password-manager:latest . -
Run the Docker image:
docker run -d --name password-manager -p 8080:8080
-
Proceed to Usage
-
Clone the repository:
git clone https://github.com/garrywashere/password-manager.git
-
Navigate to the project directory:
cd password-manager -
Initiate the virtual environment:
python -m venv venv
-
Enter the virtual envrionment
source venv/bin/activate -
Install required libraries from requirements.txt
python -m pip install -r requirements.txt
-
Run main.py
python main.py
-
Proceed to Usage
-
Navigate to
https://127.0.0.1:8080/ -
Create an account by pressing 'Login' in the top right, then 'Create Account'
-
Go through the TOTP enrollment process
-
Once you're logged in, use the top navigation bar to select different functions
-
Enjoy!

