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.
.exe
in Release V1.0# 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
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.
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
Ctrl+N
customtkinter
argon2-cffi
pyperclip
pycryptodome
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)
Arjun
🔗 LinkedIn
🎓 Cybersecurity student & developer passionate about privacy