LockNest is a password manager designed to provide convenience and security.
Note
Released this program a bit late but for good reasons, ensuring user data is protected and safety measures are in place. Also, if you do plan on using this program, it is highly recommended to use a strong, hard password to protect your data securely. I did also include a more thorough explanation of the security down below.
Warning
Starting June 6, 2024, Dashlane's Free plan will have a 25-password storage limit, and accounts exceeding this limit will become read-only. This means passwords will no longer autofill, and no new passwords can be added without upgrading the plan or reducing the number of saved passwords.
- 🔑 Password Generation: Generate secure passwords with customizable length and character types (letters, digits, symbols).
- 💾 Save and Manage Passwords: Save passwords along with service name, email, username, and phone number.
- 🔒 Encryption: Passwords are encrypted using the master password and stored securely in an SQLite database.
- ✂️ Clipboard Management: Automatically clear clipboard data after a specified period.
- ⏰ Inactivity Lock: Automatically lock the application after a period of inactivity.
- 🚨 Emergency Lockdown: Immediately lock the application with a button click or key combination (Ctrl+L).
- 📜 Password History: Track changes to passwords and other information, with a viewable history of all modifications.
-
Clone the repository:
git clone https://github.com/GR1MR34P3R-1/LockNest.git
cd password-manager
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the application:
python main.py
-
Enter your master password to unlock the application. If it's the first time running, you'll be prompted to set a master password.
-
Use the main menu to generate and save passwords, view saved information, and update the master password.
-
Use the Emergency Lockdown press
Ctrl+L
to immediately lock the application.
-
Clipboard Clear Delay: Set the duration (in minutes) after which the clipboard data will be cleared.
CLIPBOARD_CLEAR_DELAY_MINUTES = 0.5 # 30 seconds adjust as needed
-
Inactivity Lock Delay: Set the duration (in minutes) after which the application will lock due to inactivity.
INACTIVITY_LOCK_DELAY_MINUTES = 0.5 # 30 seconds adjust as needed
Upon first use, users are prompted to set a master password. This password is crucial as it is used to encrypt and decrypt all stored data, ensuring that only those with the master password can access the information.
All passwords and sensitive information are encrypted using the master password. The encryption is performed using a strong encryption algorithm (Fernet symmetric encryption
), ensuring that even if the database file is accessed by unauthorized parties, the data remains protected and unreadable without the master password.
The application uses an SQLite database to store passwords and other information. Each piece of information (password, email, username, phone number) is individually encrypted before being saved to the database. This approach ensures that all sensitive data remains secure.
The application automatically clears clipboard data after a specified period. This prevents sensitive information from being inadvertently exposed through the clipboard.
The application features an inactivity lock that automatically locks the application after a period of inactivity. This measure ensures that the application is not left open and accessible when not in use, reducing the risk of unauthorized access.
For added security, users can immediately lock the application using the Emergency Lockdown feature. This can be triggered through a key combination (Ctrl+L
), providing a quick way to secure the application in urgent situations.
Below are screenshots showcasing various features of LockNest. All images are stored in the IGNORE
folder in the same directory as the main program.
Contributions to the project are welcome! Feel free to fork the repository and submit pull requests.
If you encounter any issues or have suggestions for improvements, please report them!
This project is licensed under the MIT License. See the LICENSE file for details.