biometric_vault
Secure storage with optional biometric protection for Android, iOS, and macOS. Linux, Windows, and web fall back to unauthenticated storage.
What this package is like to depend on
Last release 1 months ago
18 Jul 2026
Too new to tell
only 2 release windows
Nearly every release is documented
notes for 3 of 3 stable releases
Nothing withdrawn
no release was ever pulled
1 months old
6 releases · first in 2026
6 releases in the last 12 months
see the full history below
Release timeline
6 releases · Jul 2026 to Jul 2026Releases
latest 6-
1.1.118 Jul 2026Release notes
Open source →What's Changed
- Release 1.1.1 by @omar-hanafy in #5
Full Changelog: biometric_vault-v1.1.0...biometric_vault-v1.1.1
Release notes
Open source →No runtime changes.
- AI coding-assistant support: the repository now ships an installable agent
plugin for Claude Code and OpenAI Codex with four package-specific skills:
integrate-biometric-vault(integration with per-platform setup),troubleshoot-biometric-vault(symptom-to-fix diagnosis),test-with-biometric-vault(faking the vault in consumer tests), andmigrate-from-biometric-storage(safe API and data migration). See the "AI coding-assistant support" section of the README for installation. - Repository-level agent guidance (
AGENTS.md) and a plugin validation script (tool/validate_agent_plugin.dart) wired into CI. The plugin tree is distributed from the Git repository and excluded from the pub.dev archive.
-
1.1.007 Jul 2026Release notes
Open source →What's Changed
- Release 1.0.0-dev.2 by @omar-hanafy in #1
- Release 1.1.0-dev.1 by @omar-hanafy in #3
- Release 1.1.0 by @omar-hanafy in #4
Full Changelog: biometric_vault-v1.0.0...biometric_vault-v1.1.0
Release notes
Open source →StorageFileInitOptions.silentWrites: writes never show an authentication prompt while reads stay gated. Android uses envelope encryption (payload under a fresh AES-256-GCM key, wrapped by a Keystore RSA public key whose private half is authentication-gated); iOS and macOS replace the keychain item on write, which never evaluates its access control.BiometricVault.biometryType(): reports the device biometry modality (Face ID, Touch ID, Optic ID, fingerprint, face, iris) so UI copy can name the actual authenticator.BiometricVault.authenticate(): standalone user authentication without any storage, for app-lock style privacy gates. Supports biometric-only mode or device-credential fallback.
-
1.1.0-dev.107 Jul 2026 pre-releaseRelease notes
Open source →What's Changed
- Release 1.1.0-dev.1 by @omar-hanafy in #3
Full Changelog: biometric_vault-v1.0.0-dev.2...biometric_vault-v1.1.0-dev.1
-
1.0.007 Jul 2026Release notes
Open source →What's Changed
- Release 1.0.0 by @omar-hanafy in #2
Full Changelog: https://github.com/omar-hanafy/biometric_vault/commits/biometric_vault-v1.0.0
Release notes
Open source →Initial stable release of
biometric_vault: encrypted storage for small secrets (tokens, passwords, key material) with optional biometric protection.Features
- Named encrypted stores with a four-call lifecycle:
canAuthenticate(),getStorage(), thenread()/write()/delete(). - Android 7.0+ (API 24): AES-GCM key in the Android Keystore (StrongBox when
available, TEE fallback), gated by
BiometricPromptwith Class 3 biometrics and optional device-credential fallback. All keystore and file work runs off the main thread, and writes are atomic. - iOS 13+ / macOS 10.15+: Keychain items protected by
SecAccessControl(Face ID / Touch ID / Apple Watch, optional passcode fallback), shipped as a Swift Package Manager package with a CocoaPods fallback. Keychain operations run off the main thread. - Linux (libsecret), Windows (Credential Manager), and web (
localStorage, not secure) backends so cross-platform code keeps working without authentication support. - Typed, sealed error model: every failure is a subtype of the sealed
BiometricVaultException(AuthExceptionwith 14 dedicatedAuthExceptionCodevalues,StorageInvalidatedExceptionwith aStorageInvalidatedReason, orBiometricVaultPluginException), so a singleswitchhandles all outcomes exhaustively and rawPlatformExceptions never escape. - Precise capability reporting:
canAuthenticate()distinguishes biometry lockout (errorLockedOut) and pending security updates (errorSecurityUpdateRequired) from generic hardware unavailability. StorageFileInitOptionswith explicit per-platform durations (androidAuthenticationValidityDuration,darwinTouchIDAuthenticationAllowableReuseDuration,darwinTouchIDAuthenticationForceReuseContextDuration) and per-platformbiometricOnlyflags. Invalid store names or option combinations throwArgumentErroratgetStorageinstead of failing natively at first use.- Localizable prompt strings via
PromptInfo(AndroidPromptInfoandDarwinPromptInfo).
-
1.0.0-dev.207 Jul 2026 pre-releaseRelease notes
Open source →What's Changed
- Release 1.0.0-dev.2 by @omar-hanafy in #1
New Contributors
- @omar-hanafy made their first contribution in #1
Full Changelog: https://github.com/omar-hanafy/biometric_vault/commits/biometric_vault-v1.0.0-dev.2
-
1.0.0-dev.107 Jul 2026 pre-releaseNothing published for this version