The core idea
When a device is on a mobile data connection, its traffic passes through its mobile network operator (MNO). The operator can confirm the number associated with that connection. Authmatech uses this — a process commonly called header enrichment — to obtain a cryptographic, operator-signed proof that the device controls a specific number. Your customer never sees a code. There is nothing to wait for and nothing to type. Confirmation typically completes in under 400 ms.Because the proof comes from the mobile network, silent verification requires an active mobile data connection. On Wi‑Fi, VPN, or some roaming connections, the network identity may not be available — plan a fallback. Stuck+ is designed for exactly these cases.
The end-to-end flow
The SDK runs header enrichment
On the device (mobile app or mobile browser), the Authmatech SDK triggers an enrichment request over the cellular connection. The operator returns an encrypted identity token (the proof of possession) and an operator identifier.
The SDK registers a session
The SDK calls
POST /v1/api/sdk/session using the narrow-scoped X-SDK-TOKEN header. Authmatech stores hashed device context linked to the session and returns an sdkSessionId. The raw identity token is never exposed in client logs — only a masked form is shown.Your backend verifies
Your client forwards the encrypted token, operator id, and
sdkSessionId to your backend. Your backend calls POST /v1/api/verify with the secret X-API-KEY, passing the claimed mobileNumber alongside the proof.Web vs. direct verification
Authmatech exposes two verification paths for two situations:- Direct (
POST /v1/api/verify) — used when the SDK already holds the encrypted proof (encryptedMobileNumber) and operator id. This is the standard mobile-app and Web SDK flow. - Web transaction (
POST /v1/api/verify/{transactionId}) — used for browser flows that resolve the identity through a network transaction. Your backend supplies thetransactionId, and Authmatech retrieves the confirmed number for that transaction. See Web verification.
Why it’s hard to spoof
- The proof is operator-signed and bound to the live network connection — it can’t be replayed from a different device or fabricated client-side.
- The raw identity token is never trusted from the browser for the final decision; your backend performs verification with the server-side API key.
- The
sdkSessionIdties the verification to a specific device context, which Shield and Detect use to spot inconsistencies (new device, changed operator, impossible travel).
What you receive
A verification returns a compact verdict:?maskMobile=true to also receive a masked copy of the confirmed number for display or audit:
Next steps
Verify guide
The full server-side flow, parameters, and edge cases.
Web verification
Run it end to end in the browser with the Web SDK.