Skip to content
 
 

Repository files navigation

Biometric App Lock

Xposed module that locks apps you choose behind fingerprint or face unlock. It intercepts launches at the System Framework level, so a locked app's activities are never created until you authenticate.

Android 13+ libxposed API 101+ Downloads

About this module

Stock Android has no native per-app lock. This module adds one. A locked app opens normally once you authenticate, including when you tap it from the recents screen.

Enabling the module needs one reboot so it loads at boot. After that, if your framework supports hot reload, app updates apply with no reboot. If not, you still reboot after each update. Changing which apps are locked is always instant.

OEM face unlock support

The standard Android BiometricPrompt hides OEM face unlock from third-party apps when only face biometrics are enrolled (no fingerprint). This module works around that limitation where it can:

  • Samsung (One UI): No workaround. One UI face unlock stays out of reach of the standard prompt, so unlocking behaves exactly as it does on stock Android. The module only reads whether a face is enrolled, to report it on the hardware card.
  • Xiaomi (HyperOS / MIUI): Communicates directly with miui.face.FaceService via raw Binder IPC while the system prompt is displayed. The front-camera face scanner activates in the background, and on a successful match the system prompt is dismissed and the app unlocks.

No additional setup is needed — the module detects the device manufacturer and applies the correct strategy automatically.

Note

Verified on stock AOSP, Pixel, and Xiaomi (HyperOS / MIUI). Samsung (One UI) gets no face-unlock workaround. OxygenOS, ColorOS, and other lightly-modified HyperOS derivatives already ship their own app-lock layer — if your ROM has a built-in app lock you probably don't need this module, and the two can conflict.

Requirements

  • Android 13+ with an enrolled biometric
  • Xposed manager with libxposed API 101 or newer (102 enables hot reload)

Install

  1. Install APK from Releases
  2. Enable module in your Xposed manager with System Framework scope
  3. Reboot
  4. Select apps to lock in the Apps tab

Prevent uninstall

Toggle in Settings → Privacy & stealth. While on, the module blocks every attempt to uninstall itself, including adb uninstall and pm uninstall, since it's enforced in the system framework.

Important

To remove the module with the toggle on:

  1. Turn it off in the app, then uninstall. No reboot needed.
  2. If for some reason you can't open the app to disable the toggle, either disable the module in your Xposed manager and reboot or boot to safe mode where Xposed is off and uninstall.

Block screenshots

Toggle it globally in Settings or per app in its detail screen. Changes apply immediately, no reboot or hot reload. While on, an unlocked locked app's screenshots, screen recording, and recents preview are blocked. The per-app setting overrides the global one, so an app can stay blocked with the global toggle off. It cannot beat modules that force FLAG_SECURE off, like Disable Flag Secure by aviraxp.

After you turn the block off, that app's recents card can stay blank since the system cached it while the block was on. Swipe it off recents and reopen the app for a fresh preview.

Reporting issues

Settings → About → Export logs saves the module's log lines to a text file and opens a share sheet, so you can attach them to a GitHub issue, send them by email, or share via Telegram. Reproduce the issue first, then export.

Reading the LSPosed logs needs root. Only this module's own log lines are exported, so they're safe to attach to a public issue. Debug builds help me most.

License

GPL-3.0-only

Releases

Packages

Contributors

Languages