necessary 0.1.0
necessary: ^0.1.0 copied to clipboard
Device trust for Flutter apps: a device-bound key the plugin never exports, signed measurements of the phone and the app, request proofs. Your backend decides.
0.1.0 #
- First release: an installation key the plugin never exports (Android Keystore, StrongBox where the
phone has it; the Secure Enclave on iOS; a software key where the secure hardware declines, and
key_securityreports where, as the phone says), registration and proof of possession, a signed proof on every request, signed scans answering the measurement contract (report format 1, Android collector 8, iOS collector 5), a scan made for one request, and, when turned on, step-up approval with a second key and the app PIN. - Sample backends in Python, TypeScript and C#, and the integration guide they are written from.
- A call that
reset()orclose()ends while it runs throwsInterruptedCallExceptionand keeps nothing; step-up waits forreenrolStepUp(STEPUP_REENROL_PENDING) whenever your backend does not hold the phone's step-up key. - Needs Flutter 3.44 and Dart 3.12 or later: the Android build uses the Kotlin Gradle plugin's
kotlin.compilerOptions, which Flutter supports from 3.44 (AGP 9, built-in Kotlin off). The example app needs Flutter 3.47.