LockGuardium Lite is a desktop password manager built with Python that prioritizes security and privacy. Unlike cloud-based password managers, LockGuardium Lite stores all your credentials locally on your device, encrypted with industry-standard cryptographic algorithms.
- AES-128 Encryption - Your passwords are encrypted using Fernet (AES-128-CBC with HMAC-SHA256)
- Strong Key Derivation - Master password protection with PBKDF2-HMAC-SHA256 (200,000 iterations)
- Offline-First - No cloud sync, no accounts, complete data ownership
- Modern GUI - Clean, dark-themed interface built with CustomTkinter
- Password Generator - Create strong passwords with customizable options
- Strength Checker - Real-time password strength analysis
- Cross-Platform - Works on Windows, macOS, and Linux
The application features a sleek, security-focused design with a black and green color scheme:
- Login Window - Animated typewriter greeting with master password entry
- Dashboard - Overview of stored passwords with quick stats
- Vault - Searchable password table with add/edit/delete functionality
- Generator - Password generation with strength checking
LockGuardium Lite implements a multi-layer security approach:
┌─────────────────────────────────────────────────────────────┐
│ SECURITY FLOW │
├─────────────────────────────────────────────────────────────┤
│ │
│ Master Password ──► PBKDF2-HMAC-SHA256 ──► Derived Key │
│ │ │ │ │
│ │ 200,000 iterations │ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ [User Input] [16-byte Salt] [Fernet Cipher] │
│ (CSPRNG) AES-128-CBC │
│ │ │ │
│ ▼ ▼ │
│ [salt.bin] [Encrypted Vault] │
│ │
└─────────────────────────────────────────────────────────────┘
| Component | Implementation | Standard |
|---|---|---|
| Salt | 16 bytes from os.urandom() |
CSPRNG |
| Key Derivation | PBKDF2-HMAC-SHA256 | NIST SP 800-132 |
| Iterations | 200,000 | OWASP 2023 Recommended |
| Encryption | Fernet (AES-128-CBC + HMAC) | Authenticated Encryption |
| Integrity | HMAC-SHA256 | Tamper-evident |
LockGuardium Lite is currently in active development. Below is the current implementation status:
| Component | Status | Description |
|---|---|---|
| Core Cryptography | ✅ Complete | Encryption, decryption, key derivation |
| Password Generator | ✅ Complete | Configurable length and character types |
| Login Window | ✅ Complete | Typewriter animation, master password entry |
| Main Window | ✅ Complete | Sidebar navigation, page management |
| Dashboard | ✅ Complete | Stats cards, recent activity |
| Vault Page | ✅ Complete | Password table, search, CRUD operations |
| Generator Page | ✅ Complete | Generator + strength checker side-by-side |
| Settings Page | ✅ Complete | Auto-lock, clipboard, theme settings |
| Dialogs | ✅ Complete | Add/Edit/Delete modal dialogs |
| Component | Status | Description |
|---|---|---|
| Backend Integration | 🔄 In Progress | Connect GUI to crypto/storage services |
| SQLite Storage | 🔄 In Progress | Persistent encrypted database |
| Auth Service | 🔄 In Progress | Master password verification |
| Vault Service | 🔄 In Progress | CRUD operations with encryption |
| Feature | Priority | Description |
|---|---|---|
| Export/Import | High | Encrypted vault backup and restore |
| Browser Extension | Medium | Auto-fill passwords in browsers |
| Password History | Medium | Track password changes over time |
| Categories/Tags | Low | Organize passwords by category |
| Two-Factor Auth | Low | Additional master password security |
Frontend (GUI): ████████████████████ 100%
Backend (Core): ████████░░░░░░░░░░░░ 40%
Integration: ████░░░░░░░░░░░░░░░░ 20%
Testing: ██░░░░░░░░░░░░░░░░░░ 10%
─────────────────────────────────────────────
Total: ████████░░░░░░░░░░░░ 42%
- Python 3.10 or higher
- pip or uv package manager
# Clone the repository
git clone https://github.com/CodingWithMK/lockguardium-lite.git
cd lockguardium-lite
# Install uv if not already installed
curl -LsSf https://astral.sh/uv/install.sh | sh
# Install dependencies
uv sync
# Run the application
uv run python main.py# Clone the repository
git clone https://github.com/CodingWithMK/lockguardium-lite.git
cd lockguardium-lite
# Create a virtual environment
python -m venv .venv
# Activate the virtual environment
# On macOS/Linux:
source .venv/bin/activate
# On Windows:
.venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Or install from pyproject.toml:
pip install cryptography>=46.0.3 customtkinter>=5.2.2
# Run the application
python main.py| Package | Version | Purpose |
|---|---|---|
cryptography |
>=46.0.3 | Encryption and key derivation |
customtkinter |
>=5.2.2 | Modern GUI framework |
python main.py- Launch the application
- You'll see the animated login screen with "Create your vault" message
- Enter a master password (minimum 8 characters)
- Confirm your master password
- Click "Create Vault" to initialize your password vault
- Launch the application
- You'll see "Welcome back!" greeting
- Enter your master password
- Click "Unlock Vault" to access your passwords
- View total password count
- See recently added passwords
- See recently modified passwords
- Quick action buttons for common tasks
- Browse all saved passwords in a table view
- Search/filter passwords by service, email, or username
- Click the 👁 button to reveal individual passwords
- Click the 📋 button to copy passwords to clipboard
- Use Add/Edit/Delete buttons to manage entries
- Set password length (12-64 characters)
- Toggle character types:
- Uppercase letters (A-Z)
- Lowercase letters (a-z)
- Digits (0-9)
- Special characters (!@#$%^&*)
- Generate, copy, or save directly to vault
- Enter any password to check its strength
- Real-time strength indicator (Weak/Medium/Good/Strong)
- Color-coded progress bar
- Tips for improving password strength
- Auto-lock timer: 1, 2, 5, 10, or 15 minutes
- Clipboard clear: 10, 30, 60, or 120 seconds
- Default password length: Set generator default
- Theme: Dark, Light, or System
- Export/Import: Backup and restore vault (coming soon)
| Shortcut | Action |
|---|---|
Enter |
Submit password / Confirm action |
Escape |
Cancel dialog / Close |
lockguardium-lite/
├── main.py # Application entry point
├── pyproject.toml # Project configuration
├── LICENSE # MIT License
├── README.md # This file
├── PRODUCT_REQUIREMENTS.md # Detailed PRD
├── CODEBASE_ANALYSIS.md # Technical documentation
│
├── src/lockguardium-lite/
│ ├── app.py # Main application controller
│ │
│ ├── core/ # Core functionality
│ │ ├── crypto.py # Encryption/decryption
│ │ ├── generator.py # Password generation
│ │ ├── storage.py # Data persistence
│ │ ├── models.py # Data models
│ │ └── utils.py # Utility functions
│ │
│ ├── services/ # Business logic
│ │ ├── auth_service.py # Authentication
│ │ └── vault_service.py # Vault operations
│ │
│ └── ui/ # User interface
│ ├── theme.py # Colors, fonts, styles
│ ├── login_window.py # Login screen
│ ├── main_window.py # Main vault window
│ └── components/
│ ├── sidebar.py # Navigation sidebar
│ ├── dashboard.py # Dashboard page
│ ├── vault_page.py # Password list
│ ├── generator_page.py # Generator + checker
│ ├── settings_page.py # Settings
│ └── dialogs.py # Modal dialogs
│
└── tests/ # Test files
├── test.py # CLI prototype
├── test_crypto.py # Crypto tests
└── test_generator.py # Generator tests
For detailed technical documentation, see:
- CODEBASE_ANALYSIS.md - Comprehensive analysis from architect, developer, and product manager perspectives
- PRODUCT_REQUIREMENTS.md - Detailed user stories and acceptance criteria
Contributions are welcome! Please feel free to submit a Pull Request.
# Clone and setup
git clone https://github.com/CodingWithMK/lockguardium-lite.git
cd lockguardium-lite
uv sync
# Run the app
uv run python main.py
# Run individual components for testing
uv run python src/lockguardium-lite/ui/login_window.py
uv run python src/lockguardium-lite/ui/main_window.py- Follow PEP 8 guidelines
- Use type hints where appropriate
- Document functions with docstrings
This project is licensed under the MIT License - see the LICENSE file for details.
MIT License
Copyright (c) 2025 Muhammed Musab Kaya
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, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
- CustomTkinter - Modern and customizable Python UI library
- cryptography - Cryptographic recipes and primitives for Python
- Python - The programming language that powers this application
LockGuardium Lite - Your passwords, your device, your control.
Made with security in mind