Skip to content

πŸ” VaultKey β€” A sleek and secure password manager built with Python, featuring AES encryption, dark/light mode, password generation, and a modern Tkinter UI.

License

Notifications You must be signed in to change notification settings

Harsh-Belekar/VaultKey-Password_Manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

1 Commit
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ” Password Manager App VaultKey

A sleek and secure open-source desktop password manager called VaultKey β€” with encryption, dark/light mode toggle, clipboard support, and more.

Version Python Tkinter License: MIT Built with Love Repo Size Last Commit Issues


✨ Features

  • πŸŒ™ Dark Mode & Light Mode toggle with icon-based switch (🌞 / 🌚)
  • πŸ” AES Encryption using cryptography to securely store passwords
  • 🎲 Strong Password Generator (letters, symbols, numbers)
  • πŸ”Ž Search Functionality to retrieve saved credentials by website
  • πŸ’Ύ Local JSON Storage (encrypted)
  • πŸ“‹ Clipboard Copy for generated passwords
  • πŸ–ΌοΈ Polished Tkinter GUI with custom icons and colors
  • πŸ’» Fully compatible with PyInstaller for .exe packaging

πŸ“Έ Screenshots

Dark Mode Light Mode
Dark Light

πŸ—‚οΈ Folder Structure

VaultKey-Password_manager/
β”œβ”€β”€ main.py                   # Main GUI and app logic
β”œβ”€β”€ core/
β”‚   β”œβ”€β”€ password_logic.py     # PasswordGenerator class
β”‚   └── crypto_util.py        # Encryptor class for encryption/decryption
β”œβ”€β”€ assets/
β”‚   β”œβ”€β”€ logo.png              # App logo
β”‚   β”œβ”€β”€ sun.png               # Light mode icon
β”‚   β”œβ”€β”€ moon.png              # Dark mode icon
β”‚   └── (no sensitive data)   # password_data.json and secret.key are not stored here
β”œβ”€β”€ requirements.txt          # Python dependencies
β”œβ”€β”€ README.md                 # You're reading it!
└── .gitignore                # Prevents sensitive files from being tracked

πŸ“ Note: On first run, VaultKey automatically creates and stores:

  • "password_data.json"
  • "secret.key"

in the system folder:

C:\Users\<YourUsername>\AppData\Roaming\VaultKey\

πŸš€ Getting Started

πŸ’‘ Pro Tip:
Use python main.py during development for faster testing. Build the .exe only for final deployment or sharing with others.

1. Clone the repository

git clone https://github.com/Harsh-Belekar/VaultKey-Password_manager.git

cd VaultKey-Password_manager

2. Install dependencies

pip install -r requirements.txt

3. Run the app

python main.py

πŸ›  Technologies Used

  • tkinter β€” GUI framework
  • pyperclip β€” Clipboard integration
  • cryptography β€” AES encryption for password security
  • json β€” Data storage format

πŸ§ͺ Build Executable (Windows)

  • Use PyInstaller to convert the app into a standalone executable:
python -m PyInstaller --onefile --windowed --icon=assets/logo.ico --add-data "assets;assets" --name VaultKey main.py

πŸ‘‰ The .exe file will be located in the dist/ folder after the build.


⚠️ Antivirus Warning (False Positive)

When building the VaultKey.exe file using PyInstaller, some antivirus software (especially Windows Defender) might flag the generated .exe as a potential threat.

This is a false positive, triggered by:

  • Using Fernet encryption
  • Saving encrypted JSON files
  • Clipboard access via pyperclip

πŸ”§ How I Fixed the Issue

To successfully build the .exe without triggering antivirus errors:

  1. βš™οΈ I excluded the project folder from Windows Defender using:
  • Settings β†’ Privacy & Security β†’ Windows Security β†’ Virus & Threat Protection β†’ Manage Settings β†’ Add Exclusion
  1. πŸ”„ Rebuilt the .exe using PyInstaller:
python -m PyInstaller --onefile --windowed --icon=assets/logo.ico --add-data "assets;assets" --name VaultKey main.py

πŸ›‘οΈ Security Notes

  • All saved passwords are encrypted using a secure Fernet key (AES-128) via the cryptography library.

  • The encryption key (secret.key) and your password data (password_data.json) are stored outside the project folder in a protected system location (see below).

  • These files are excluded from Git tracking using .gitignore to ensure your credentials remain private.


πŸ“‚ Data Storage Location

VaultKey stores sensitive data in the user's system directory, not in the assets/ folder.

πŸ“ Windows Location:

C:\Users\<YourUsername>\AppData\Roaming\VaultKey\

Files stored there:

  • password_data.json β†’ Encrypted password data
  • secret.key β†’ Your encryption key (do not delete unless resetting)

This ensures:

  • Compatibility with .exe builds where asset folders are read-only
  • Secure, writable file handling for all operating modes

πŸ“¦ Future Improvements

  • Export/Import Encrypted Backups
    Easily save and load encrypted password backups locally or to the cloud.

  • Master Password Authentication
    Add a secure login screen to unlock the VaultKey app before accessing any credentials.

  • Cloud Sync or Database Storage
    Enable sync across devices using Firebase, SQLite, or encrypted cloud storage APIs.


πŸ“„ License

This project is licensed under the MIT License.

Feel free to use, modify, and distribute VaultKey for personal or commercial purposes.


πŸ™Œ Built with ❀️ by Harsh Belekar

About

πŸ” VaultKey β€” A sleek and secure password manager built with Python, featuring AES encryption, dark/light mode, password generation, and a modern Tkinter UI.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages