🔐 A secure, multi-profile password manager inspired by KeePass.
Your vaults, encrypted and in your hands.
KeepMeSafe is a minimalist, self-hosted password manager built with Django and SQLite.
It allows users to create separate encrypted vaults under different profiles, each protected with a master key.
Inspired by simplicity and security, KeepMeSafe is perfect for individual use or as a base for more complex multi-user systems.
- 🔐 Encrypted vaults (one per profile)
- 🧑💻 Multi-profile support
- 🛡️ Admin-protected profile creation
- 💾 SQLite-backed for easy deployment
- 📦 Docker-ready
- 🖥️ Clean and modern UI with TailwindCSS
- Backend: Django, Python
- Frontend: HTML + TailwindCSS
- Database: SQLite
- Deployment: Docker (optional)
Here are some screenshots showcasing the features of KeepMeSafe:
First clone the repository in your machine and install the dependencies.
git clone https://github.com/pointedsec/keepmesafe.git
cd keepmesafe
python -m venv env
source env/bin/activate
pip install -r requirements.txt
Then edit the .env
file to your preferences.
DJANGO_SECRET_KEY=SUPER_SECREY_KEY
DEBUG=False
DJANGO_ALLOWED_HOSTS=*
ADMIN_VAULT_PASSWORD=admin
ADMIN_VAULT_PASSWORD
is the required administration password to create new vaults. This prevents any random person on the internet from creating vaults in your application.
Lastly, run the migrations, collect the static files, and execute the server, you can use gunicorn
if you want to.
python manage.py migrate
python manage.py collectstatic --noinput
DOCKER=False python manage.py runserver
NOTE: You need to specify the
DOCKER
env variable in the execution runtime to make KeepMeSafe to load the environment variables
The app will be available at: http://127.0.0.1:8000
First clone the repository in your machine.
git clone https://github.com/pointedsec/keepmesafe.git
cd keepmesafe
Then edit the .env
file to your preferences.
DJANGO_SECRET_KEY=SUPER_SECREY_KEY
DEBUG=False
DJANGO_ALLOWED_HOSTS=*
ADMIN_VAULT_PASSWORD=admin
Now build the docker image
docker build -t keepmesafe .
And now use docker compose to create an instance of the image.
docker compose up --build
The app will be available at: http://127.0.0.1:8000
To prevent unauthorized access to profile creation:
The admin key is configured in settings.py as ADMIN_CREATION_KEY
, you can set it through the .env
file.
Any attempt to access /create_profile/
will require this key.
This project is licensed under the MIT License. Feel free to fork, modify, and contribute!
Pull requests are welcome! If you have suggestions or want to collaborate, feel free to open an issue or reach out.
Made with ❤️ by pointedsec. Feel free to contact me via email: adelcerrorodriguez@gmail.com