A secure, offline-first password manager built with Flutter.
Features • Screenshots • Quick Start • Documentation
- AES-256 Encryption - All passwords encrypted locally via Hive CE
- Biometric Authentication - Face ID, Touch ID, fingerprint
- Offline-Only - Your data never leaves your device
- Secure Key Management - Master keys stored in system keychain (SecureStorage)
- Material Design 3 - Beautiful, adaptive UI
- Multiple Themes - Light, Dark, and AMOLED modes
- Smooth Animations - Delightful micro-interactions
- Smart Password Generator - Customizable strength settings
- Encrypted Export/Import - Backup data in secure
.pvaultformat (AES-GCM) - JSON/CSV Support - Standard formats for data portability
- Quick Copy - One-tap copy to clipboard
- Search & Filter - Quickly find credentials
| Light Mode | Dark Mode | AMOLED Mode |
|---|---|---|
![]() |
![]() |
![]() |
# Clone & setup
git clone https://github.com/dhruvanbhalara/passvault.git
cd passvault
flutter pub get
make generate
make setup_hooks
# Run
make run_devSee Development Guide for detailed setup.
| Document | Description |
|---|---|
| Architecture | Project structure & design principles |
| Tech Stack | Dependencies & packages |
| Development | Setup, Makefile, Git hooks |
| Testing | Test structure & coverage |
| Security Details | AES-256-GCM implementation |
| Measure | Status |
|---|---|
| Zero Network Access | ✅ |
| Biometric Gating | ✅ |
| Secure Key Storage | ✅ |
| AES-256 Encrypted Storage | ✅ |
| Password-Protected Exports | ✅ |
The project uses GitHub Actions for continuous integration and quality assurance:
- Quality Gate: Validates code formatting, linting (
flutter analyze), and unit tests on every Pull Request. - Coverage Reporting: Automatically generates and appends code coverage summaries to Pull Request descriptions.
- Release Automation: Automates version validation and Android APK builds on tag releases.
- Dynamic Badges: Supports real-time code coverage badges via GitHub Gists to keep the repository history clean.
See Testing Guide and Development Guide for more details.
MIT License - see LICENSE for details.
- Fork the repository
- Create feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Dhruvan Bhalara - @dhruvanbhalara
Made with ❤️ and Flutter


