biometric_storage
Secure Storage: Encrypted data store optionally secured by biometric lock with support for iOS, Android, MacOS. Partial support for Linux, Windows and web (localStorage).
5.0.1
31K downloads/mo
#1832 most downloaded on pub.dev
authpass/biometric_storage
What this package is like to depend on
Last release 13 days ago
11 Aug 2026
Release timing varies
gaps range from 2 weeks to 12 months
Nearly every release is documented
notes for 38 of 42 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
70 releases · first in 2019
1 release in the last 12 months
see the full history below
Release timeline
70 releases · Sep 2019 to Aug 2026Releases
latest 60 of 70-
5.2.0-dev.111 Aug 2026 pre-releaseRelease notes
Open source →- iOS/macOS:
StorageFileInitOptions.darwinKeychainAccessGroupto store items in a shared keychain access group (kSecAttrAccessGroup), so an app extension can read them. Note that the access group is part of an item's identity — existing items are not migrated automatically.
- iOS/macOS:
-
5.1.1-dev.211 Aug 2025 pre-releaseRelease notes
Open source →- Improve
canAuthenticateto includeInitOptionsto decide for which authenticaiton type to check.
- Improve
-
5.1.1-dev.116 Jan 2025 pre-releaseNothing published for this version
-
5.1.0-rc.501 Sep 2024 pre-release -
5.1.0-rc.428 Jun 2024 pre-releaseRelease notes
Open source →- enable building on jdk 17 and up https://github.com/authpass/biometric_storage/issues/117 thanks @connyduck
-
5.1.0-rc.321 May 2024 pre-releaseRelease notes
Open source →- Split Split authenticationValidityDurationSeconds between android and iOS
darwinTouchIDAuthenticationForceReuseContextDuration: Basically the equivalent toandroidAuthenticationValidityDurationdarwinTouchIDAuthenticationAllowableReuseDuration
- android: return correct code if no biometric is enrolled #115 @ThomasLamprecht
- web: migrate from dart:html to package:web (for wasm support).
- Split Split authenticationValidityDurationSeconds between android and iOS
-
5.1.0-rc.221 May 2024 pre-releaseNothing published for this version
-
5.1.0-rc.121 May 2024 pre-releaseNothing published for this version
-
5.0.103 Feb 2024Release notes
Open source →- Add option for iOS/MacOS to allow non-biometric authentication (
darwinBiometricOnly) #101- Improve [canAuthenticate] to differentiate between no available biometry and no available
user code.
- Improve [canAuthenticate] to differentiate between no available biometry and no available
- Bump dart sdk requirement to
3.2.
Release notes
Open source →- Add option for iOS/MacOS to allow non-biometric authentication (
darwinBiometricOnly) #101- Improve [canAuthenticate] to differentiate between no available biometry and no available user code.
- Bump dart sdk requirement to
3.2.
- Add option for iOS/MacOS to allow non-biometric authentication (
-
5.0.1-dev.120 Sep 2023 pre-releaseNothing published for this version
-
5.0.011 Jun 2023Release notes
Open source →- Allow overriding of
promptInfoduringread/writethanks @luckyrat - Android: (POTENTIALLY BREAKING): Completely removed deprecated old file backend
based on
androidx.security. This was deprecated since version 3.0.0 and users should have been migrated on every read or write. (this is only internally, does not change anything of the API). - Update dependencies.
- Allow overriding of
-
5.0.0+119 Aug 2023 -
5.0.0+220 Aug 2023 -
5.0.0+320 Aug 2023Release notes
Open source →- Android: Upgrade AGP, fix building with AGP 8
- Android: Depend on slf4j-api.
-
5.0.0+404 Sep 2023 -
4.1.316 Jun 2022Release notes
Open source →- iOS/MacOS: Reuse LAContext to make
touchIDAuthenticationAllowableReuseDurationwork. thanks @radvansky-tomas
- iOS/MacOS: Reuse LAContext to make
-
4.1.208 Jun 2022Release notes
Open source →- Android: Move File I/O and encryption to background thread. (Previously used UI Thread)
#64
Release notes
Open source →- Android: Move File I/O and encryption to background thread. (Previously used UI Thread) https://github.com/authpass/biometric_storage/pull/64
- Android: Move File I/O and encryption to background thread. (Previously used UI Thread)
-
4.1.106 Apr 2022 -
4.1.005 Apr 2022 -
4.1.0-dev.104 Apr 2022 pre-releaseNothing published for this version
-
4.0.121 Jan 2022 -
4.0.017 Jan 2022Release notes
Open source →- Fixed compile errors with Flutter >= 2.8.0 (Compatible with Flutter 2.5). #47 fix #42
-
4.0.0-dev.110 Dec 2021 pre-releaseNothing published for this version
-
3.0.111 Sep 2021Release notes
Open source →- Android: Validate options on
intWhenauthenticationValidityDurationSeconds == -1, thenandroidBiometricOnlymust betrue - Android: if
authenticationValidityDurationSecondsis> 0only show authentication prompt when necessary. (It will simply try to use the key, and show the auth prompt only when aUserNotAuthenticatedExceptionis thrown). - Android: When biometric key is invalidated (e.g. because biometric security is changed on the device), we simply delete the old key and data! (KeyPermanentlyInvalidatedException)
- Android: Validate options on
-
3.0.1-dev.130 Aug 2021 pre-releaseNothing published for this version
-
3.0.020 Aug 2021Release notes
Open source →- Stable Release 🥳
- **Please check below for breaking changes in the
-rcreleases.
-
3.0.0-rc.1219 Aug 2021 pre-releaseRelease notes
Open source →- Android: Fix a few bugs with
authenticationValidityDurationSeconds== -1 - iOS/MacOS: Don't set timeout for
authenticationValidityDurationSeconds== -1 - iOS/MacOS: Don't raise an error on
deleteif item was not found. - Android: Fix user cancel code.
(Previously an
unknownexception was thrown instead ofuserCanceled) - Android: Ignore
androidBiometricOnlyprior to Android R (30). - Introduce
AuthExceptionCode.canceled
- Android: Fix a few bugs with
-
3.0.0-rc.1118 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.1016 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.916 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.815 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.712 Aug 2021 pre-releaseRelease notes
Open source →-
Breaking Change:
authenticationValidityDurationSecondsis now-1by default, which was not supported before hand. If you need backward compatibility, make sure to override this value to the previous value of10. -
Breaking Change: No more support for Android v1 Plugin registration.
-
Breaking Change: No longer using androidx.security, but instead handle encryption directly. Temporarily there is a fallback to read old content. This requires either reencrypting everything, or old data will no longer be readable.
- This should fix a lot of errors.
- This now finally also allows using
authenticationValidityDurationSeconds= -1. BIOMETRIC_WEAKis no longer used, onlyBIOMETRIC_STRONG.
-
Don't ask for authentication for delete.
-
-
3.0.0-rc.610 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.508 Aug 2021 pre-releaseRelease notes
Open source →- Breaking Change: due to the introduction of iOS prompt info there is now a wrapper object
PromptInfowhich containsAndroidPromptInfoandIosPromptInfo. - Android: Add support for local (non-biometric) storage (#28, thanks @killalad)
- Android: Update all gradle dependencies, removed gradle-wrapper from plugin folder.
- iOS: Add support for customizing prompt strings.
- MacOS: Add support for customizing prompt strings.
- Breaking Change: due to the introduction of iOS prompt info there is now a wrapper object
-
3.0.0-rc.408 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.308 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.205 Aug 2021 pre-releaseNothing published for this version
-
3.0.0-rc.128 Jul 2021 pre-releaseNothing published for this version
-
3.0.0-dev.120 Aug 2021 pre-releaseNothing published for this version
-
2.0.304 Jul 2021Release notes
Open source →- Android
- compatibility with kotlin 1.5.20
- Remove jcenter() references.
- androidx.core:core:1.3.2 to 1.6.0
- moshi from 1.11.0 to 1.12.0 (this is the kotlin 1.5.20 compatibility problem)
- Android
-
2.0.211 Mar 2021Release notes
Open source →- Android upgrade dependencies:
- androidx.security:security-crypto from 1.1.0-alpha02 to 1.1.0-alpha03
- androidx.biometric:biometric from 1.1.0-beta01 to 1.2.0-alpha03
- Update README to clarify minSdkVersion and kotlin version
- Android upgrade dependencies:
-
2.0.107 Mar 2021Release notes
Open source →- Handle android
BIOMETRIC_STATUS_UNKNOWNresponse on older devices (Android 9/API 28(?))
- Handle android
-
2.0.003 Mar 2021 -
2.0.0-nullsafety.102 Mar 2021 pre-release -
1.1.015 Oct 2020Release notes
Open source →- Upgrade to latest Android dependencies (gradle plugin, androidx.*, gradle plugin)
- androidx.security:security-crypto 1.0.0-rc02 to 1.1.0-alpha02
- androidx.biometric:biometric 1.0.1 to 1.1.0-beta01
- Upgrade to latest Android dependencies (gradle plugin, androidx.*, gradle plugin)
-
1.1.0+119 Oct 2020 -
1.0.105 Aug 2020Nothing published for this version
-
1.0.1+105 Aug 2020Release notes
Open source →- Support for web support: Warning: Unencrypted - stores into local storage on web!
- Updated README to add details about windows.
-
1.0.1+215 Aug 2020Nothing published for this version
-
1.0.1+320 Aug 2020Nothing published for this version
-
1.0.1+420 Aug 2020 -
1.0.1+506 Sep 2020 -
1.0.031 Jul 2020Release notes
Open source →- Windows: Initial support for windows. only unauthenticated storage in Credential Manager.
-
0.4.010 Jul 2020Release notes
Open source →- Linux: Initial support for Linux - only unauthenticated storage in Keyring.
-
0.3.405 May 2020Release notes
Open source →- Android: allow customization of the PromptInfo (labels, buttons, etc). @patrickhammond
-
0.3.4+111 May 2020Release notes
Open source →- Android: on error send stack trace to flutter. also fixed a couple of warnings.
-
0.3.4+211 May 2020Release notes
Open source →- Android: updated dependencies to androidx.security, biometric, gradle tools.
-
0.3.4+312 May 2020Nothing published for this version
-
0.3.4+412 May 2020Release notes
Open source →- Android: fix PromptInfo deserialization with minification.
- Android: add proguard setting to fix protobuf exceptions.
-
0.3.4+505 Jun 2020Release notes
Open source →- Android: Upgrade to androidx.security 1.0.0-rc02 which should fix protobuf incompatibilities #6 https://developer.android.com/jetpack/androidx/releases/security#security-crypto-1.0.0-rc02