PassGuard is a local password management tool built with Python, CustomTkinter, and SQLite3. It allows you to securely store and view your account credentials on your own computer.
Secure Login Protect your password vault with a master account.
Local Storage All data is stored locally using SQLite3; nothing is sent online.
Add & View Passwords Create new passwords and view saved credentials easily.
Simple Installation Run the executable or launch from source.
Write down your master username and password when you register.
Your credentials cannot be recovered if lost.
Keep your device secure to prevent unauthorized access.
- Install dependencies:
pip install -r requirements.txt
- Start the app:
python PassManage.py
Requires Python 3.10+ with cryptography and customtkinter.
Download and run the application: https://github.com/EJDevWorks/PassManage/blob/main/PassManage.exe
How to use the .exe:
- Double-click
PassManage.exeto start PassManage. - Register a new account with a master username and password.
- Log in to start adding and viewing passwords.
- All files are stored locally in a folder named
datalocated in the same directory as the application. For example, if you run the app from your Desktop, you will find thedatafolder on your Desktop next to the executable. - The database file is encrypted with Fernet and stored as
data/databasepy.db.encrypted. - The database is only decrypted to
data/databasepy.dbwhile the app is running, and re-encrypted on exit. - The encryption key is
data/filekey.key. - Encrypted user files are saved as
data/<username>.txt.encrypted. - Decrypted files (when you use the decrypt function) are saved as
data/<filename>.decrypted.
To back up or move your data:
- Copy the entire
datafolder to your desired location.
Login: Enter your registered master username and password.
Add Passwords: Click Save Entry, then enter your website, username, and password.
View Passwords: Click View Saved Passwords to browse, reveal, copy, or delete entries.
Encrypt/Decrypt Files:
- When you encrypt a file, the encrypted version is saved in the
datafolder. - When you decrypt a file, the decrypted version is also saved in the
datafolder.
How encryption works:
- The password database (
databasepy.db) is encrypted using Fernet symmetric encryption. When the app starts, it decryptsdata/databasepy.db.encryptedtodata/databasepy.dbfor use. When the app closes, it re-encrypts the database and deletes the unencrypted version. - User files and any files you choose to encrypt are also encrypted with Fernet and stored in the
datafolder with the.encryptedextension. - The encryption key is stored in
data/filekey.key. Keep this file safe—if lost, you cannot decrypt your data.
How decryption works:
- When you decrypt a file (using the app's decrypt function), the decrypted version is saved in the
datafolder with the.decryptedextension, and the encrypted file is deleted for security. - The database is only decrypted while the app is running; otherwise, it remains encrypted.
Where are files stored?
- All files (database, encrypted files, decrypted files, key) are stored in the
datafolder, which is located in the same directory as the application executable or script. For example, if you run the app from your Desktop, you will find thedatafolder on your Desktop next to the app.
To back up or move your data:
- Copy the entire
datafolder to your desired location. This includes your encrypted database, key, and any encrypted/decrypted files.
Security notes:
- Data never leaves your device.
- If you lose
filekey.key, you will not be able to recover your encrypted data.