
Local-first encrypted password vault for Android with Master Password access, Recovery Key support, Autofill integration, and portable encrypted ABLBX backups. Developed by Ebrahim Shafiei (EbraSha).
🌐 Read in your language: 🇬🇧 English | 🇨🇳 中文 | 🇷🇺 Русский | 🇪🇸 Español | 🇯🇵 日本語 | 🇮🇷 فارسی | 🇸🇦 العربية | 🇹🇷 Türkçe | 🇩🇪 Deutsch | 🇮🇳 हिन्दी
Secure. Store. Autofill. — A privacy-first Android password manager by Abdal Security Group.
Abdal LockBox keeps your credentials encrypted on your device, fills logins through the official Android Autofill framework, and backs up your vault with the portable .ablbx encrypted format — without sending vault secrets to a cloud backend.
Most people store passwords in browsers, notes apps, or cloud services they do not fully control. That creates a real risk: one breach, sync leak, or device extraction can expose an entire credential map.
Abdal LockBox was built to solve a practical problem:
.ablbx formatThe goal is a lightweight, security-oriented password manager that respects privacy and follows modern Android engineering practices (Jetpack Compose, Room, DataStore, authenticated encryption).
FLAG_SECURE) across screens, dialogs, and sheetsandroid:allowBackup="false" — Android cloud backup disabled for app data.ablbx file (passphrase-protected)1.3.6.1.4.1.66033.1.2.2.1Abdal LockBox follows a local-first, offline-first security model:
| Principle | How it is applied |
|---|---|
| 🔐 No plaintext secrets on disk | Credentials and settings are encrypted before persistence |
| 🧠 Layered keys | Master Password / Recovery Key derive KEKs; DEK encrypts vault data |
| ✅ Authenticated encryption | AES-256-GCM with AAD bound to vault context |
| 🧩 Separated lookup index | HMAC-SHA-256 domain/package hashes for autofill matching |
| 🚫 No cloud vault sync | Vault workflow does not depend on a remote password server |
| 🪟 Screen protection | Optional secure windows block screenshots and recordings |
| 💣 Duress wipe | Self-Destruct erases vault data without revealing the wipe |
Abdal LockBox uses a layered key model. Passwords and metadata are never stored in plaintext on disk.
flowchart TB
MP[Master Password] -->|KDF| KEK[KEK — Key Encryption Key]
RK[Recovery Key] -->|KDF| RKEK[Recovery KEK]
KEK -->|AES-256-GCM wrap| DEK[DEK — Data Encryption Key]
KEK -->|AES-256-GCM wrap| IK[Index Key]
RKEK -->|AES-256-GCM wrap| DEK
RKEK -->|AES-256-GCM wrap| IK
DEK -->|AES-256-GCM| Items[Vault Items & Settings]
IK -->|HMAC-SHA-256| Lookup[Domain / Package Lookup Hashes]
| Material | Role |
|---|---|
| Master Password | Derives KEK via KDF; unlocks the vault |
| Recovery Key | Derives Recovery KEK; resets Master Password |
| KEK | Wraps DEK and Index Key |
| DEK | Encrypts credential blobs and settings |
| Index Key | Computes HMAC lookup hashes for autofill matching |
Primary KDF: Argon2id (memory 32,768 KiB · iterations 3 · parallelism 2 · 32-byte output)
Fallback KDF: PBKDF2-HMAC-SHA256 (600,000 iterations)
AEAD: AES-256-GCM (32-byte key · 12-byte nonce · 128-bit tag) via Google Tink / JCE
For the full security architecture, see the Whitepaper.
| Task | Where |
|---|---|
| ➕ Add a password | Home or Vault → + |
| 📚 Browse credentials | Vault tab |
| 🔎 Search / filter | Vault search bar and chips |
| 👁️ View / copy details | Eye icon on a credential card |
| 📲 Enable Autofill | Autofill tab + set Abdal LockBox as the system autofill service |
| 📤 Export backup | Settings → Export Vault |
| 📥 Import backup | Settings → Import Vault |
| 💣 Self-Destruct setup | Settings → Self-Destruct |
| 📖 Help topics | Home → Learn More |
.ablbx files in a secure location.Build toolchain
9.3.19.1.12.2.102.3.511Android SDK / API levels
36 (Android 16)3626 (Android 8.0)com.abdal.lockbox · versionName: 1.65 (versionCode 165)Platform APIs used
android.service.autofill.AutofillService — system autofill fill/save for apps and browsers (AbdalAutofillService).WindowManager.LayoutParams.FLAG_SECURE — screenshot / screen-recording protection for activities, dialogs, and bottom sheets.<queries>) — discover installed launcher apps for the app-package picker (Android 11+).android:allowBackup="false" — disables Android Auto Backup for app data.lockbox_vault.db).Core libraries
2024.09.00, Material 3, Navigation Compose 2.8.9, Activity Compose 1.10.1, Lifecycle 2.8.7.1.15.0 (AES-GCM) · Argon2kt 1.6.0 (Argon2id KDF).1.10.2.2.7.0 (KSP) · DataStore Preferences 1.1.7.1.15.2, OkHttp 4.10.0, Retrofit converter-moshi 2.12.0.4.13.2, Robolectric 4.16.1, Roborazzi 1.59.0, Espresso 3.7.0.Build commands
./gradlew assembleDebug
./gradlew assembleRelease
./gradlew clean assembleRelease -PenableMinify=true
./gradlew test
ABLBX is the encrypted vault backup format used by Abdal LockBox for secure export and import of vault data.
.ablbxapplication/vnd.abdalsecuritygroup.lockboxabdal-lockbox-backup-{yyyyMMdd-HHmmss}.ablbxFor the full technical details, see the ABLBX File Format Specification.
If you encounter any issues or have configuration problems, please reach out via email at [email protected]. You can also report issues on GitLab or GitHub.
If you find this project helpful and would like to support further development, please consider making a donation:
Handcrafted with Passion by Ebrahim Shafiei (EbraSha)
This project is licensed under the AGPLv3 License. See LICENSE.
For details, see the Additional Terms section in the LICENSE file.
For commercial licensing, trademark licensing, or permissions beyond the scope of AGPLv3, please contact:
If you discover a fork, distribution, or commercial use that violates these terms (such as removed attribution, reused branding, or unauthorized trademark use), please report it via the contact above.