Package selection guidance compiled from public package information, community data, and project usage.
Flutter Screen Lock is a cross-platform package that enables screen locking on Android, iOS, and other supported platforms. It supports both passcode and biometric authentication (like Face ID or fingerprint) to secure the app interface. Ideal for apps requiring enhanced security, such as banking or private data access, it integrates seamlessly with Flutter’s ecosystem. The package leverages native platform features for reliable authentication, ensuring a consistent user experience across devices.
Use cases
Secure app access
Protect sensitive data
Biometric login
Passcode protection
App lock feature
Privacy-focused applications
Key features
Cross-platform support
Biometric authentication
Passcode fallback
Native integration
Easy setup
Customizable UI
Suitable for
Apps needing high security
Financial or health apps
Private data storage
User privacy tools
Developers building app locks
Considerations
Requires platform-specific permissions
Limited customization on some platforms
Web support may have restrictions
Depends on device biometric availability
Not suitable for non-interactive screens
May require additional configuration for web
Original README
Original README snapshot from the linked source repository. Visit the repository for the latest content.
Flutter Screen Lock
This Flutter plugin provides an feature for screen lock.
Enter your passcode to unlock the screen.
You can also use biometric authentication as an option.
Landscape view
Features
By the length of the character count
You can change Cancel and Delete widget
Optimizes the UI for device size and orientation
You can disable cancellation
You can use biometrics (local_auth plugin)
Biometrics can be displayed on first launch
Unlocked callback
You can specify a mismatch event.
Limit the maximum number of retries
Keyboard input support for devices with physical keyboards
Number keys (0-9) and numpad input
Backspace key for deletion
Enter key for confirmation
Escape key for cancellation
Usage
You can easily lock the screen with the following code.
To unlock, enter correctString.
Simple
If you give the same input as correctString, it will automatically close the screen.
You can have users create a new passcode with confirmation
import'package:flutter_screen_lock/flutter_screen_lock.dart';
screenLockCreate(
context: context,
onConfirmed: (value) => print(value), // store new passcode somewhere here
);
Control the creation state
import'package:flutter_screen_lock/flutter_screen_lock.dart';
final inputController = InputController();
screenLockCreate(
context: context,
inputController: inputController,
);
// Somewhere else...
inputController.unsetConfirmed(); // reset first and confirm input
Change all callback names from didSomething to onSomething
Change screenLock with confirm: true to screenLockCreate
Change ScreenLock with confirm: true to ScreenLock.create
Replace StyledInputConfig with KeyPadButtonConfig
Replace spacingRatio with fixed value spacing in Secrets
6.x to 7 migration
Requires dart >= 2.17 and Flutter 3.0
Replace InputButtonConfig with KeyPadConfig.
Change delayChild to delayBuilder. delayBuilder is no longer displayed in a new screen. Instead, it is now located above the Secrets.
Accept BuildContext in secretsBuilder.
5.x to 6 migration
ScreenLock does not use Navigator.pop internally anymore.
The developer should now pop by themselves when desired. screenLock call will pop automatically if onUnlocked is null.