
Secure and flexible passcode management library enables integration of passcode-based and biometric authentication into applications. Offers cross-platform support with modular, shared codebase for secure access control.
Mifos-Passcode-CMP is a secure and flexible App Lock library built using Kotlin Multiplatform and Jetpack Compose Multiplatform (CMP). It enables developers to easily integrate passcode-based authentication along with biometric authentication (such as fingerprint or face recognition) into cross-platform applications using a shared codebase.
Designed with modularity and security in mind, this library is a foundational part of the Mifos mobile ecosystem and is suitable for any Kotlin Multiplatform project where secure access control is required.
| Platform | Passcode | Platform Authenticator |
|---|---|---|
| Android | ✅ Supported | ✅ Supported |
| iOS | ✅ Supported | ✅ Supported |
| macOS | ✅ Supported | |
| Windows 10+ | ✅ Supported | ✅ Supported |
| Linux | ✅ Supported | |
| Web | ✅ Supported |
The project is organized into several modules to ensure a clear separation of concerns and to facilitate multiplatform development:
build-logic: Contains Gradle convention plugins used to standardize build configurations across all modules (linting, static analysis, multiplatform setup).mifos-authenticator-passcode: A Compose Multiplatform library providing the logic and UI components for passcode authentication.mifos-authenticator-biometrics: A library providing platform-specific implementations for device authentication (Biometrics, Windows Hello, WebAuthn).cmp-sample-shared: Contains the shared business logic, navigation, and UI for the sample applications.cmp-sample-android: The Android entry point for the sample application.cmp-sample-ios: The iOS entry point for the sample application.cmp-sample-desktop: The Desktop (JVM) entry point for the sample application.cmp-sample-web: The Web (Wasm & JS) entry point for the sample application.commonMain/: Platform-agnostic interface and provider for device authentication.androidMain/: Implementation using Android BiometricPrompt.iosMain/: Implementation using iOS LocalAuthentication.desktopMain/: Implementation using JNA for Windows Hello (on Windows) and placeholders for other desktop platforms.jsMain/ / wasmJsMain/: Implementation using the Web Authentication API (WebAuthn).commonMain/: Contains the PasscodeManager, PasscodeStorageAdapter, and the PasscodeScreen UI built with Compose Multiplatform.commonMain/: Defines the shared UI, themes, and navigation logic. It integrates both the passcode and biometric modules to demonstrate a complete authentication flow.
Mifos-Passcode-CMP is a secure and flexible App Lock library built using Kotlin Multiplatform and Jetpack Compose Multiplatform (CMP). It enables developers to easily integrate passcode-based authentication along with biometric authentication (such as fingerprint or face recognition) into cross-platform applications using a shared codebase.
Designed with modularity and security in mind, this library is a foundational part of the Mifos mobile ecosystem and is suitable for any Kotlin Multiplatform project where secure access control is required.
| Platform | Passcode | Platform Authenticator |
|---|---|---|
| Android | ✅ Supported | ✅ Supported |
| iOS | ✅ Supported | ✅ Supported |
| macOS | ✅ Supported | |
| Windows 10+ | ✅ Supported | ✅ Supported |
| Linux | ✅ Supported | |
| Web | ✅ Supported |
The project is organized into several modules to ensure a clear separation of concerns and to facilitate multiplatform development:
build-logic: Contains Gradle convention plugins used to standardize build configurations across all modules (linting, static analysis, multiplatform setup).mifos-authenticator-passcode: A Compose Multiplatform library providing the logic and UI components for passcode authentication.mifos-authenticator-biometrics: A library providing platform-specific implementations for device authentication (Biometrics, Windows Hello, WebAuthn).cmp-sample-shared: Contains the shared business logic, navigation, and UI for the sample applications.cmp-sample-android: The Android entry point for the sample application.cmp-sample-ios: The iOS entry point for the sample application.cmp-sample-desktop: The Desktop (JVM) entry point for the sample application.cmp-sample-web: The Web (Wasm & JS) entry point for the sample application.commonMain/: Platform-agnostic interface and provider for device authentication.androidMain/: Implementation using Android BiometricPrompt.iosMain/: Implementation using iOS LocalAuthentication.desktopMain/: Implementation using JNA for Windows Hello (on Windows) and placeholders for other desktop platforms.jsMain/ / wasmJsMain/: Implementation using the Web Authentication API (WebAuthn).commonMain/: Contains the PasscodeManager, PasscodeStorageAdapter, and the PasscodeScreen UI built with Compose Multiplatform.commonMain/: Defines the shared UI, themes, and navigation logic. It integrates both the passcode and biometric modules to demonstrate a complete authentication flow.