Silent Network Authentication (SNA)

Overview

Silent Network Authentication (SNA) is a phone number verification method that authenticates users through their mobile network using real-time carrier signals.

Instead of relying on one-time passwords sent via SMS, SNA verifies that the device associated with the provided phone number is active and connected to the mobile network. This validation happens through secure interactions with mobile network operators, establishing a strong proof of possession tied to the SIM.

SNA is available as part of Incode’s phone verification capabilities and can be used within identity verification workflows to strengthen verification while maintaining minimal user friction.

Additional details about Incode's Phone Number Verification module are available here.

Benefits of SNA

SNA enhances phone number verification by improving user experience, reliability, and security.

  • Low friction user experience- Users only need to enter their phone number, after which verification happens seamlessly in the background without requiring OTP retrieval or manual input. This simplifies the flow, reduces user effort, and improves completion rates.
  • Reliable verification - By removing dependency on SMS delivery, SNA avoids common issues such as message delays, delivery failures, and repeated OTP requests. This leads to a more consistent and predictable verification experience.
  • Improved security - SNA shifts verification from message-based authentication to carrier-level validation, significantly reducing exposure to SMS-based threats such as phishing, OTP interception, and SIM swap-related attacks.

Other considerations

  • Requires mobile network connectivity - SNA relies on communication with the mobile carrier network and may not work if the device is only connected via Wi-Fi.
  • Fallback required for full coverage - In cases where SNA is not supported due to device, carrier, or connectivity constraints, fallback mechanisms such as SMS OTP are required to complete verification.

Incode SNA for stronger Identity Verification

SNA provides a strong, real-time signal that a user controls the phone number they are claiming, by validating the association between the device and SIM through the mobile network. Within Incode, this signal becomes a key input into broader identity verification and fraud detection workflows.

On its own, SNA answers foundational questions about phone ownership and device linkage. When combined with other Incode signals such as biometrics, document verification, and device intelligence, it helps create a more complete and reliable view of the user.

This allows you to make stronger identity decisions by answering questions such as:

  • Does the user control this phone number?
  • Is this number actively linked to the device being used?
  • Has this phone or device been reused across multiple accounts?
  • Is this identity linked to known or previously detected fraud?
  • Is this identity part of a suspicious network of users or devices?

These insights are powered by Incode’s ability to connect signals across sessions and workflows, enabling detection of repeat fraud, account sharing, and coordinated activity.

For deeper network-level insights and relationship-based risk analysis, SNA can be combined with Incode’s Trust Graph. Learn more about Incode Trust Graph here.

Implementation details

Sequence diagram

The sequence diagram below illustrates how SNA is executed within Incode, including coverage checks, carrier validation, and fallback to SMS OTP when required.


SNA Sequence Diagram

How to use SNA with iOS SDK

  • Use the SDK variant with ‘-sna’ extension, ie. ‘5.42.0-s-sna’.
  • Configure a flow on dashboard with SNA enabled in the Phone Number Input module. See here for more information on Flows and here for Phone Number Input module.
  • Start the onboarding flow:
    • Using startFlow or startOnboarding
      • Specify configurationId inside IncdOnboardingSessionConfiguration that is provided as sessionConfig to the startFlow / startOnboarding methods
    • Using Sections:
      • Specify configurationId inside IncdOnboardingSessionConfiguration that is provided as sessionConfig to the setupOnboardingSession method
      • Call startOnboardingSection with the Phone module provided to the IncdOnboardingFlowConfiguration

How to use SNA with AndroidSDK

  • Use SDK variant that has the feature, 5.46.0 or higher
  • Configure a flow on dashboard with SNA enabled in the Phone Number Input module. See here for more information on Flows and here for Phone Number Input module.
  • Start the onboarding flow:
    • Using startFlow or startOnboarding
      • Specify configurationId inside SessionConfig.Builder().setConfigurationId() that is provided as sessionConfig to the startFlow / startOnboarding methods
    • Using Sections:
      • Specify configurationId inside SessionConfig.Builder().setConfigurationId() that is provided as sessionConfig to the setupOnboardingSession method
      • Call startOnboardingSection with the Phone module provided to the FlowConfig

How to use SNA with Native Web (coming soon)