KeyGuard is a cross-platform, highly secure desktop application designed for managing and safeguarding your passwords. Built with Python's robust cryptography and security best practices, KeyGuard provides seamless encryption, memory protection, and advanced zeroization techniques.
- Cryptographically Strong Encryption – Uses Argon2id and AES-GCM to securely encrypt your data.
- Secure Memory Handling – Implements zeroization and obfuscation techniques to ensure passwords and keys aren't exposed in memory.
- Master Password Management – Allows secure changing of the master password, automatically re-encrypting the vault.
- Detailed Password Viewer – Password masking by default with secure toggling visibility.
- Interactive Menu – User-friendly interface with built-in password strength analysis.
- Portable Executable – Easily build and distribute as a single-file binary via PyInstaller.
- Python 3.8 or higher (download)
- Dependencies:
ttkbootstrap,cryptography,argon2-cffi,psutil
# Clone repository
git clone [https://github.com/Crypt-Guard/KeyGuard.git]
cd KeyGuard
# Create a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate # Linux/macOS
.\.venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txtpython KeyGuard/KeyGuard.pypyinstaller --onefile --noconsole --icon=assets/key.ico KeyGuard/KeyGuard.pyExecutable will be available at dist/KeyGuard.exe.
KeyGuard never transmits or exposes your passwords online. All sensitive information is securely encrypted, stored locally, and managed entirely offline.
| File | Purpose | Encrypted? |
|---|---|---|
.keyguard/vault.kgv |
Encrypted password vault | âś… AES-GCM |
.keyguard/logKeyGuard.log |
Application error log | ❌ Plain text (no passwords logged) |
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/your-feature). - Commit your changes (
git commit -m "feat: describe your feature"). - Push your changes (
git push origin feature/your-feature). - Open a pull request.
All pull requests must pass pre-commit hooks (black, flake8, isort) and include unit tests when applicable.
Licensed under Apache 2.0 License.