VKM (VaultKeyManager) is a personal project that I started in November 2021 when I was just starting to learn how to program. It was my first project and over time it has become my personal challenge to make it more professional and secure.
But... What is VKM? VKM is a self-hosted password manager with an intuitive web interface programmed in Python
and JS
using FastApi
and Jquery
technologies.
Note: VKM has been updated to version 6.1. Want to see what's new?
The sixth version of vkm is packed with changes and improvements. For version 6.0, vkm has been reprogrammed from scratch, to bring a new web redesign, more features, security and a cleaner code and better structure for all those who want to contribute to this small project.
But... What does this new version bring?
-
Security
- HTTPS
- The
web server
andFastApi
server now work with https. Say goodbye to http. A self-signed certificate is included in the project, but from thevkm.conf
, you can add your own!
- The
- HTTP Bearer
- All connections from the server to FastApi (python) are made with a check token, using the
HTTP Bearer library
, and python requests are checked with a session token before returning any information.
- All connections from the server to FastApi (python) are made with a check token, using the
- HTTPS
-
New Functionalities
- About your Registration or Login
- Red indicators have been added at the bottom of your screen that tell you what rules your password lacks in order to be secure and usable in VKM (you can see them in the "How to use it" section). Also, on the registration page there is a button with a short simplified explanation of what your password needs.
- Keys in the vault
- You now have a feature that allows you to delete your password.
- You can now bookmark the passwords you use the most!
- A "View key" section has been added to be able to view the key without modifying it. No more hassle!
- All the options that you could have when creating the key have been added inside the key modification (Now you can change group, add to favorites, ...). That is to say, the "Edit Key" section has been completed.
- The groups
- You can now customize the group banners by color, for easy visualization.
- A new feature has been added that allows you to change the name and color of your group.
- A button has been added to facilitate the deletion of groups.
- Clicking on the group separator (where an arrow with the group name appears) will collapse or display the passwords so that the vault is not "full".
- From the drop-down next to the search input, you can filter by favorites or groups to only see the one you need instead of the whole vault.
- Account
- Modify your account, one of the most awaited functionalities!
- A section has been added to modify the account username.
- You can now change the login password.
- No longer need this account? You can now delete the account if you have no use for it and it only occupies disk memory, but be careful, this operation cannot be undone.
- Now you can export all your account passwords as a
.csv
file. The format/header of your file is:['code', 'name', 'url', 'password', 'username', 'favorite', 'color', 'group']
- About your Registration or Login
-
The new graphical interface
- VKM brings a new, more intuitive and complete graphical interface. Using the vkm colors, it now brings more customization, better organization and a cleaner and more complete vault aesthetics. You can get to know it by looking at the "How to use it" section.
What would you like to see in the future? Open an Issue
- What is VKM?
- The new version!
- Install
- How to use it
- Gallery
- Contribute
- AutoCompile
- License
- Technologies
git clone https://github.com/cpadlab/vkm
cd vkm && pip install -r requirements.txt
python3 vkm.py --setup
Switch on VKM
python vkm.py # You can also use --start
Welcome to the vkm registration page! Enter your username and password for your new account and ...
Please read the warnings carefully in order to create a secure password and create your account.
If you still have some doubts, you can check the little help box by clicking on the button ?
If your password is secure, it is time to create your account. This text will tell you if it is suitable.
Once you have created your account, an on-screen message will tell you it's time to log in!
This is the login page:
Don't forget that when logging in there are also password limitations and help at the bottom of the page,
When we enter the vault, it looks very empty, so we have to create our first group!
In this screen the groups are created:
Edit the name and colour of the group as you see fit.
Filter by groups for faster results!
In this screen the keys are created:
These are the options that vkm allows you with your password. Click on the copy button and copy the password! If you click on the username it will be copied and the same with the title! Modify, delete or review your password from the dropdown with the 3 dots.
Do you know that it is also possible to search within vkm? Search by username, site title or url!
You've gone to the toilet for 5 minutes and don't want anyone to see your passwords? When you switch tabs you'll get this floating box!
When you log out manually or after 15 minutes of session time, you will see a floating box telling you that your session has ended.
Generate a secure and personalised password whenever you need it, but don't forget that when registering a new password you can also generate it with a single button!
Change your password or username as you wish!
No longer use your account? Delete it!
Don't forget that you can export your passwords!
Welcome to VKM! We are delighted that you wish to contribute to our project. To ensure that all contributors have a positive experience, we have created these contribution guidelines. Please be sure to read them carefully before contributing.
We value and appreciate all contributions, large and small. If you have any questions or need help contributing, please don't hesitate to contact us. Thank you for being part of the VKM community.
pyinstaller --onefile --add-data="./*:." --icon="vkm/include/assets/logo.ico" --name="vkm" vkm.py
GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/ Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
Python | JavaScript | HTML | CSS | SQLite3 | JQuery | FastApi | Bearer |
---|