QueVault is a secure, offline-first password manager built with Flutter. It provides military-grade encryption, biometric authentication, and comprehensive vault management while keeping all your sensitive data stored locally on your device.
- Military-grade encryption using AES-256 with PBKDF2 key derivation
- Offline-first architecture - no cloud dependency, all data stored locally
- Biometric authentication support (fingerprint, face ID, iris)
- Secure SQLite database with encrypted storage
- Master password protection with configurable security policies
- Multiple vaults with customizable names, descriptions, and colors
- Hidden vaults for sensitive credentials
- Individual vault encryption with separate unlock keys
- Vault-specific security settings (master key, biometric, custom unlock)
- Secure password storage with individual encryption
- Built-in password generator with customizable parameters
- Custom fields for additional credential information
- Website integration with URL storage
- Notes and metadata for each credential
- Clipboard integration for easy copying
- Android (API 31+)
- iOS (11.0+)
- Windows (10+)
- macOS (10.14+)
- Linux (Ubuntu 18.04+)
- Web (modern browsers)
- JSON export/import for data portability
- Complete vault backup with all credentials
- Cross-device migration support
- Selective import with conflict resolution
QueVault follows Clean Architecture principles with clear separation of concerns:
βββββββββββββββββββββββββββββββββββββββββββ
β Presentation Layer β
β (Views, ViewModels, Widgets) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Domain Layer β
β (Models, Business Logic) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Data Layer β
β (Repositories, Services, Database) β
βββββββββββββββββββββββββββββββββββββββββββ€
β Core Layer β
β (Utilities, Constants, Configs) β
βββββββββββββββββββββββββββββββββββββββββββ
- Riverpod for reactive state management
- Hooks Riverpod for enhanced performance
- Provider pattern for dependency injection
- Flutter SDK (^3.9.0)
- Dart SDK (included with Flutter)
- IDE (VS Code, Android Studio, or IntelliJ IDEA)
-
Clone the repository
git clone https://github.com/yourusername/quevault_app.git cd quevault_app -
Install dependencies
flutter pub get
-
Run the application
flutter run
- Minimum SDK: 31 (Android 12)
- Biometric authentication requires device with fingerprint/face unlock
- Minimum iOS: 11.0
- Biometric authentication requires Touch ID/Face ID enabled device
- No additional setup required
- File picker integration for import/export
lib/
βββ core/ # Core utilities and configurations
β βββ configs/ # App configurations
β βββ constants/ # App constants
βββ models/ # Data models
β βββ auth_models.dart # Authentication models
β βββ credential.dart # Credential data model
β βββ vault.dart # Vault data model
βββ repositories/ # Data access layer
β βββ auth_repository.dart
βββ services/ # Business logic services
β βββ biometric_service.dart # Biometric authentication
β βββ credential_service.dart # Credential management
β βββ encryption_service.dart # Encryption/decryption
β βββ export_service.dart # Import/export functionality
β βββ secure_storage_service.dart # Secure storage
β βββ vault_service.dart # Vault management
βββ viewmodels/ # State management
β βββ auth_viewmodel.dart # Authentication state
β βββ credentials_viewmodel.dart # Credential state
β βββ hidden_vault_viewmodel.dart # Hidden vault state
β βββ theme_viewmodel.dart # Theme state
βββ views/ # UI screens
β βββ auth/ # Authentication screens
β βββ home/ # Home screen
β βββ vault/ # Vault management screens
β βββ settings/ # Settings screens
β βββ password_generator/ # Password generator
βββ widgets/ # Reusable UI components
βββ main.dart # Application entry point
| Package | Version | Purpose |
|---|---|---|
hooks_riverpod |
^2.6.1 | State management |
sqflite |
^2.4.2 | Local SQLite database |
flutter_secure_storage |
^9.2.2 | Secure key-value storage |
local_auth |
^2.3.0 | Biometric authentication |
crypto |
^3.0.6 | Cryptographic functions |
pointycastle |
^3.7.3 | Advanced cryptography |
random_password_generator |
^0.2.1 | Password generation |
shadcn_ui |
^0.29.0 | Modern UI components |
file_picker |
^10.3.2 | File import/export |
flutter build apk --release
flutter build appbundle --release # For Play Storeflutter build ios --release
flutter build ipa --release # For App Storeflutter build windows --release
flutter build macos --release
flutter build linux --releaseflutter build web --release- Algorithm: AES-256 encryption
- Key Derivation: PBKDF2 with 100,000 iterations
- Salt: 256-bit random salt per encryption
- IV: 128-bit random initialization vector
- Storage: Encrypted SQLite database
- Master Password Setup - Initial secure password creation
- Biometric Setup - Optional fingerprint/face ID enrollment
- Vault Access - Multi-factor authentication per vault
- Session Management - Secure session handling
- Local Storage Only - No cloud synchronization
- Encrypted Database - All sensitive data encrypted at rest
- Secure Memory - Sensitive data cleared from memory
- No Logging - Zero sensitive data in logs
flutter testflutter analyzeflutter analyze --fatal-infos- Launch QueVault - App will show onboarding
- Set Master Password - Create your primary authentication
- Enable Biometrics (Optional) - Add fingerprint/face ID
- Create Vaults - Organize your credentials
- Create Vault - Add a new vault for organization
- Add Credentials - Store usernames, passwords, and metadata
- Generate Passwords - Use built-in secure generator
- Copy to Clipboard - Quick access to stored credentials
- Export Data - Create JSON backup of all vaults
- Import Data - Restore from previous backup
- Cross-Device - Migrate data between devices
- Follow Flutter/Dart style guidelines
- Write comprehensive tests for new features
- Document complex business logic
- Use meaningful variable and function names
- Implement proper error handling
- Never log sensitive information
- Use secure coding practices
- Implement proper input validation
- Follow encryption best practices
- Regular security audits
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
This project is licensed under a custom license that allows personal use only. Commercial use and redistribution are restricted. See the LICENSE file for full details.
- Report bugs via GitHub Issues
- Request features via GitHub Discussions
- Report security vulnerabilities privately to kaidolex@praganoid.com
- Do not disclose security issues publicly until resolved
QueVault - Your passwords, your control, your security. π