Flutter Local Authentication is a free, open-source plugin for developers who build Flutter apps and want users to confirm their identity with biometrics or a device passcode. It gives Flutter code one interface to the authentication tools each operating system already offers, so you do not have to write separate native code for every platform.
The project covers iOS, macOS, Linux and Android, and it is listed for Windows as well. Windows Hello support is still a work in progress, so Windows deserves the most careful testing. The last code update landed on April 25, 2025, so the project has been maintained recently.
What Is Flutter Local Authentication?
Local authentication means checking that the person holding a device is the device's owner, using biometrics such as a fingerprint or face scan, or the device passcode. The check happens on the device itself, before the app shows sensitive content or performs an action.
Flutter Local Authentication acts as a bridge between your Dart code and these native mechanisms. Your app calls a single set of methods, and the plugin passes the request to iOS, macOS, Linux or Android. The result comes back in a form your Flutter widgets can handle without platform-specific branches.
It is important to understand what this check does and does not do. A successful prompt tells your app that the user passed the device's own verification. It does not, by itself, encrypt anything. Developers who protect stored data still need a secure storage design alongside the prompt.
Who Is Flutter Local Authentication For?
The plugin is aimed at developers who build Flutter applications and need a consistent way to request biometric or passcode confirmation. A typical case is a notes or journaling app that locks its contents when it opens, with a prompt that appears on every launch or after a timeout.
It also fits finance-related and crypto companion apps. Before showing a balance, revealing a stored secret, or approving a sensitive action, the app can ask the user to confirm identity on the device. The plugin handles the request, while your app decides which actions require a check.
The plugin is less suited to people who want a finished program to install and use. It is a building block, so the value comes from writing code that calls it correctly and fits it into a larger application.
Key Concepts Behind Device Authentication
Two terms come up often when working with this kind of plugin. A biometric check uses a fingerprint or face match stored by the operating system. A device credential check falls back to the passcode or password, and many apps accept either one so a user is not locked out after a failed scan.
Another concept is reuse duration. After a successful check, the operating system may allow a short window in which the same approval is accepted again. Setting a longer window reduces prompts but gives a little more time for someone else to use an unlocked device, so the choice should match the sensitivity of the data.
Finally, separate access control from data protection. A prompt controls when your interface opens. Encryption keys and secrets should live in platform secure storage, so that protection does not depend on a single screen check.
Key features
Capability check
Native authentication prompts
Touch ID reuse duration control
Localized prompt messages
How to install Flutter Local Authentication on Windows
- 1
Get the source from the official repository
Open the project on GitHub at github.com/cake-tech/flutter_local_authentication. Download only from the official GitHub repository or its Releases page, not from mirrors or repackaged archives.
- 2
Verify the download
If the release publishes a SHA-256 checksum or a signature, compare it with your downloaded file before using it. Do not use any file that fails the check.
- 3
Add it to a Flutter project
Because this is a plugin rather than a standalone installer, it is normally added as a dependency to a Flutter project. Check the repository readme for the current dependency line and follow it exactly.
-
Create an instance and check availability
Initialize the plugin's class, which requires no input parameters. Then call the capability check before showing any authentication prompt, so your app can respond sensibly on devices without biometric support.
System requirements
- On Linux, builds require libfprint to be installed.
How to use Flutter Local Authentication
Using the plugin takes a few steps in your Flutter code. The sequence below follows the order most apps use: check first, then prompt, then handle the result.
- Create an instance of the plugin class. It needs no input parameters.
- Call the capability check to confirm that biometric authentication can run on the current device.
- If the check passes, call the authenticate method to trigger the platform's native prompt for the current user.
- Handle the result in your app. Continue only when the authentication succeeds, and show a clear fallback path when it fails.
- On macOS or iOS, decide whether to read or write the touchIDAuthenticationAllowableReuseDuration value, depending on how often your users should be asked again.
- Set localized prompt messages so the text matches your users' language.
Test each path on real devices, including the case where no biometric hardware exists.
Pros & cons
- Free and open source, with the source code published on GitHub
- Recently updated, with the last code change on April 25, 2025
- One interface for authentication prompts across iOS, macOS, Linux and Android
- Localized messages for iOS, macOS and Android
- Lets developers tune Touch ID reuse duration on Apple platforms
- Windows Hello support is still a work in progress
- Built for developers, with no ready-made interface for end users
- Linux builds depend on libfprint
- Results depend on each platform's native behavior, so testing is required on every target
Is Flutter Local Authentication safe?
Get the plugin only from its official GitHub repository or the project's Releases page. Compare any published SHA-256 checksum or signature with the file you downloaded, and do not use a file that does not match. Avoid copies from unofficial sites, since a modified package can carry malicious code into your app.
The plugin hands authentication to the operating system, so the strength of the check depends on the device's own security settings. A prompt is not a replacement for encryption. Keep keys and sensitive data in platform secure storage, and do not treat a passed check on Windows as a finished protection layer while Windows Hello support is still in progress.
- Official source only. Download from github.com/cake-tech/flutter_local_authentication. Ignore ads and lookalike domains.
- Check the SHA-256. Compare the installer hash with the value the developer publishes before running it.
- Never share your seed phrase. No developer, support agent or website — including CryptApps — will ever ask for it.
Alternatives
Among the similar programs in this catalog, PSBT Commander is a Rust tool for creating Bitcoin PSBTs, and Subzero is about keeping a Bitcoin reserve offline. Dumplings focuses on CoinJoin analysis. Flutter Local Authentication solves a different problem: confirming that the user is present at the device level inside a mobile or desktop app.
It does not create wallets, build transactions or store funds. If you need transaction handling, PSBT Commander is the closer match. If your goal is protecting a Flutter app's screens and actions with a device check, this plugin is the relevant building block.
Specifications
- Price
- Free
- Type
- Open source
- License
- —
- Latest version
- —
- Last update
- 25 Apr 2025
- Windows support
- Yes (Windows build or installer)
- Source code
- github.com/cake-tech/flutter_local_authentication
Frequently asked questions
Yes, the plugin is free, and its source code is published on GitHub. Developers can read the code, test it in their own projects and contribute fixes through the repository.
Windows is listed as a supported platform, but Windows Hello support is still a work in progress. Check the repository for the current status before building a Windows feature that depends on it.
It is safe to evaluate when you download it from the official GitHub repository and verify any published checksum or signature. Authentication is handled by the operating system, so device security settings still matter.
No. It is a plugin for Flutter developers. You add it to a Flutter project and call its methods from your code, so it has no installation window or user interface of its own.
The project lists iOS, macOS, Linux, Android and Windows. Support depends on the platform, and Windows Hello is still in progress, so test each target platform before release.
Creating an instance of the plugin requires no input parameters. Most of the work happens when you call the capability check and the authenticate method from your application code.
The last code update was on April 25, 2025. Recent activity is a positive sign, but review the repository's changes and issues before relying on the plugin in production.
Verdict
Flutter Local Authentication suits Flutter developers who need biometric and device passcode prompts on iOS, macOS, Linux and Android, and who are comfortable working from source code. It is free, open source and was updated recently. It is not a good fit for Windows users looking for a ready-made app, and Windows Hello support is still in progress. Test the Windows path carefully, and check the latest version on the official website before you start.