--- title: "Authenticator architecture for iOS" slug: "dpo-authenticator-sdk-for-ios-architecture" updated: 2026-10-27T20:13:21Z published: 2026-10-27T20:13:21Z canonical: "docs.onespan.com/dpo-authenticator-sdk-for-ios-architecture" --- > ## Documentation Index > Fetch the complete documentation index at: https://docs.onespan.com/llms.txt > Use this file to discover all available pages before exploring further. # Authenticator architecture for iOS ## Overview An Authenticator Specific Module (ASM) is a platform-specific component developed by authenticator vendors which can be plugged into FIDO UAF Clients. An ASM implements the UAF ASM API, which is how a FIDO UAF Client communicates with it. If the ASM is for a hardware-based authenticator, the ASM is typically implemented on top of a hardware driver, which then talks to the authenticator device. If the ASM is for a software-based authenticator, the ASM is typically implemented on top of an authenticator-specific SDK. The ASM is responsible for: - Receiving the authenticator data provided by the RP, e.g., origin and challenge, and returning the response. - Hiding authenticator communication specifics from the FIDO UAF Client, e.g., authenticator algorithms, low level drivers, USB, SPI, Bluetooth, and NFC. - Implement authenticator specific UI for registration and authentication operations. - Providing authenticator management capabilities, e.g., changing enrollment settings and changing authenticator state. The following diagram represents the ASM Architecture: ### ASM Core The ASM Core is registered allowing it to be discovered by the DigipassONE App SDK depending on whether the ASM is local or remote. ### Authenticator Core The authenticator core handles the orchestration with the authentication process. The authenticator core is designed to be flexible to accommodate different modes of user verification. This is a common implementation for all authenticators. ### IAuthenticatorDescriptor IAuthenticatorDescriptor defines an interface to expose authenticator-specific attributes. Each authenticator implements an authenticator-specific descriptor object defining its attributes. The application should add all implementations of IAuthenticatorDescriptor to ASM. The attributes returned by the IAuthenticatorDescriptor object determine the construction of an authenticator object. ### IMatcher The matcher is responsible for verifying the user, for example, by asking for a PIN or a fingerprint swipe. Each authenticator will implement an IMatcher interface. Formerly known as Digipass S3 App SDK. Includes SDKs for Android, iOS and web.