Skip to main content
The native Authmatech mobile SDKs run silent verification directly on the device, over the customer’s mobile-data connection, for the highest match rates. The SDK confirms the number with the mobile network in the background, registers a session with Authmatech, and returns a short-lived identity result your backend uses to complete the verification. Your server-side API key never goes in the app.
The iOS, Android, and Flutter SDKs share the same integration model and method names, so the steps below apply to all three — the snippets differ only in language. Native packages are provisioned per integration: contact connect@authmatech.com or your solutions engineer for the package, your clientId, your sdkToken, and the verification URL for your account.

The model

Regardless of platform, the flow is the same four steps:
1

Initialize

Configure the SDK with your backendBaseURL, your public clientId, and a sdkToken. The sdkToken is a narrow-scoped, app-safe credential — it can only register sessions and can never call the server APIs. The server API key is never embedded in the app.
2

Run the silent check over mobile data

The SDK opens the verification URL issued for your account over the device’s mobile-data connection. The mobile network silently confirms the number, and the SDK receives an encrypted identity code (authmatechCode) plus the operator id (MNOID).
3

Register the session

The SDK calls POST /v1/api/sdk/session with the X-SDK-TOKEN and X-CLIENT-ID headers and gets back an sdkSessionId. This happens automatically inside the SDK.
4

Verify on your backend

Your app forwards authmatechCode, MNOID, and sdkSessionId to your backend, which calls POST /v1/api/verify with the X-API-KEY. Map authmatechCode → encryptedMobileNumber and MNOID → operatorId.
The result fields are sensitive. Forward authmatechCode to your backend over TLS only — never log it, cache it, or render it in the UI.

Install & integrate

Requirements: iOS 12.0+, Swift 5.3+.Swift Package Manager — add the package in Xcode (File → Add Package Dependencies) or in Package.swift:
CocoaPods:
Initialize once at app startup:
Run a verificationopenWithDataCellular forces the request over the mobile-data connection and returns the result on the main callback:

The result

A successful call returns three values your integration uses:

Why native over the browser

  • Higher match rates — a native app can prefer the cellular interface even when Wi-Fi is connected.
  • Richer device signals — platform, OS, model, and integrity flags feed directly into Shield and Detect.

Error handling & fallback

Silent verification needs an active mobile-data connection. On Wi-Fi, VPN, or some roaming networks it can’t complete, and the SDK returns an error instead of a result. Catch it and route the customer to a fallback — manual entry or retry on mobile data — never back to an SMS OTP.
If session registration fails, the SDK still returns the result so verification can continue — the linked device signals simply degrade gracefully.

Web SDK reference

The browser flow with authmatech-sdk-web.

API: register an SDK session

The endpoint the SDK registers against.