biometric_storage 0.2.1

  • Readme
  • Changelog
  • Example
  • Installing
  • 69

biometric_storage #

Pub

Encrypted file store secured by biometric lock for Android, iOS and MacOS. Meant as a way to store small data in a hardware encrypted fashion. E.g. to store passwords, secret keys, etc. but not massive amounts of data.

On android uses androidx uses KeyStore and on iOS LocalAuthentication with KeyChain.

Check out AuthPass Password Manager for a app which makes heavy use of this plugin.

Getting Started #

Android #

  • Requirements:
    • Android: API Level >= 23
    • MainActivity must extend FlutterFragmentActivity

iOS #

https://developer.apple.com/documentation/localauthentication/logging_a_user_into_your_app_with_face_id_or_touch_id

  • include the NSFaceIDUsageDescription key in your app’s Info.plist file
  • Requires at least iOS 9

Mac OS #

  • include the NSFaceIDUsageDescription key in your app’s Info.plist file
  • enable keychain sharing and signing. (not sure why this is required. but without it You will probably see an error like:

    SecurityError, Error while writing data: -34018: A required entitlement isn't present.

  • Requires at least Mac OS 10.12

Resources #

0.2.1 #

  • Android: Fix for having multiple files with different configurations.
  • Correctly handle UserCanceled events.
  • Define correct default values on dart side (10 seconds validity timeout).

0.2.0 #

  • MacOS Support

0.1.0 #

  • iOS Support
  • Support for non-authenticated storage (ie. secure/encrypted storage, without extra biometric authenticatiton prompts)
  • delete()'ing files.

0.0.1 - Initial release #

  • Android Support.

example/README.md

biometric_storage_example #

Demonstrates how to use the biometric_storage plugin.

Getting Started #

This project is a starting point for a Flutter application.

A few resources to get you started if this is your first Flutter project:

For help getting started with Flutter, view our online documentation, which offers tutorials, samples, guidance on mobile development, and a full API reference.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  biometric_storage: ^0.2.1

2. Install it

You can install packages from the command line:

with Flutter:


$ flutter pub get

Alternatively, your editor might support flutter pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:biometric_storage/biometric_storage.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
37
Health:
Code health derived from static analysis. [more]
100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
100
Overall:
Weighted score of the above. [more]
69
Learn more about scoring.

We analyzed this package on Oct 16, 2019, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.5.1
  • pana: 0.12.21
  • Flutter: 1.9.1+hotfix.4

Platforms

Detected platforms: Flutter

References Flutter, and has no conflicting libraries.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=2.1.0 <3.0.0
flutter 0.0.0
logging >=0.10.0 <1.0.0 0.11.3+2
Transitive dependencies
collection 1.14.11 1.14.12
meta 1.1.7
sky_engine 0.0.99
typed_data 1.1.6
vector_math 2.0.8
Dev dependencies
flutter_test
pedantic >=1.7.0 <2.0.0