passguard

🔐 PassGuard

PassGuard is a secure, offline-first password manager built with Python and CustomTkinter.
It supports multi-vault encryption using AES-GCM and Argon2id and is designed with cybersecurity principles and UX in mind.


✨ Features


🚀 How to Run (Python Source)

# Clone the repo
git clone https://github.com/yourusername/passguard.git
cd passguard

# Install dependencies
pip install -r requirements.txt

# Run the application
python main.py

🎥 Demo

PassGuard Demo


🔐 Encryption Details

Feature Value
Key Derivation Argon2id
Encryption Algorithm AES in GCM Mode
Salt Length 16 bytes
Nonce Length 12 bytes
Auth Tag 16 bytes
Clipboard Handling Auto-clears after 15 seconds

All vault files are strongly encrypted. No credentials or labels are stored in plain text.


📁 Project Structure

passguard/
├── core/
│   ├── crypto.py         # Encryption/decryption logic
│   └── vault.py          # Vault creation, loading, and saving
│
├── ui/
│   ├── main_window.py    # Main dashboard for vault interaction
│   └── unlock_dialog.py  # Vault unlock / creation dialog
│
├── vaults/
│   ├── *.dat             # Encrypted vault files
│   └── labels.json       # Mapping of vault filenames to labels
│
├── assets/
│   └── icon.ico          # App icon for GUI and executable
│
├── main.py               # Application entry point
├── requirements.txt      # All required Python packages
├── LICENSE               # MIT License
└── README.md             # This file

🔧 Usage Guide


📜 requirements.txt

customtkinter
argon2-cffi
pyperclip
pycryptodome

🧠 Ideas for the Future


🛡 License

MIT License

Copyright (c) 2025 Arjun

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction...

(Full license is in LICENSE file)


👨‍💻 Author

Arjun
🔗 LinkedIn
🎓 Cybersecurity student & developer passionate about privacy