A secure, optimized password manager with Gmail OAuth authentication and native Linux integration. Stores passwords and files using military-grade encryption with minimal resource usage.
- AES-GCM encryption via
cryptography.Fernet
- Gmail OAuth authentication - Login with your Google account
- Traditional login - Username/password option
- Account linking - Automatically links OAuth to existing accounts
- Security headers and CSRF protection
- SQLite database (file-based, no external server)
- Password storage with labels and categories
- File storage - Securely store and encrypt any file type
- Export/import functionality
- Memory optimized - Uses only 15.5MB RAM
- Fast startup - Launches in under 2 seconds
- Efficient encryption - Chunked file processing
- Database optimization - Indexes and WAL mode
- Native desktop app - Appears in application menu
- Systemd service - Auto-start and background operation
- App mode browser - Opens as standalone window, not browser tab
- Command-line tools -
password-vault start/stop/status/logs/open
- Resource limits - 64MB RAM limit, 50% CPU quota
git clone <repository>
cd password_saver/password_saver
./setup.sh
-
Install dependencies
pip install -r requirements.txt
-
Run setup
./install.sh
-
Start the application
password-vault start password-vault open
For enhanced security, enable Gmail authentication:
-
Install OAuth dependencies
pip install google-auth google-auth-oauthlib google-auth-httplib2
-
Configure Google OAuth
- Follow the detailed guide:
GOOGLE_OAUTH_SETUP.md
- Set up Google Cloud project and OAuth credentials
- Add environment variables to
.env
- Follow the detailed guide:
-
Enable OAuth
cp app.py app_original.py # Backup cp app_oauth.py app.py # Use OAuth version password-vault restart
password-vault start # Start the service
password-vault stop # Stop the service
password-vault status # Check status
password-vault logs # View logs
password-vault open # Open in browser (app mode)
password-vault restart # Restart service
- Application Menu: Find "Password Vault" in your applications
- Desktop File: Click the desktop entry to launch
- Auto-start: Enable via systemd user service
- Login: Use Gmail OAuth or traditional username/password
- Passwords: Store, organize, and retrieve passwords securely
- Files: Upload and encrypt any file type (up to 5MB)
- Export: Download your data as encrypted CSV
This project is intended as a lightweight personal tool / learning demo, not a production-grade password manager. There is no multi-user separation, audit logging or sophisticated key management. Use at your own risk.