> For the complete documentation index, see [llms.txt](https://docs.idlayr.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.idlayr.com/products/number-verification/secure-sna/prerequisites.md).

# Prerequisites

{% hint style="info" %}
**Device API** · NV 1.0 · GA
{% endhint %}

What you need in place before writing the first line of integration code.

## On the IDlayr side

* **An approved IDlayr project** with the `secure_sna` scope on its OAuth2 credentials. Projects are created by your IDlayr administrator via the Enterprise Portal — see [Projects](/get-started/concepts/projects.md). Each project is approved per use case; allow time for the approval flow before going live.
* **The project's `client_id` and `client_secret`.** See [Credentials](/get-started/concepts/credentials.md). The `client_secret` is shown once at project creation; rotate if compromised, never embed in mobile apps.
* **Production or sandbox mode** decided. Sandbox lets you test the full flow without carrier traffic. See [Project modes](/get-started/concepts/project-modes.md).

## On your backend

* A way to mint OAuth2 access tokens against `POST /oauth2/token`. See [Authentication](/get-started/authentication.md).
* A way to POST  `/v1/number-verification/secure-sna-checks` over HTTPS.
* A safe place to store the `client_secret` (e.g. a secrets manager). Don't commit it to source control or environment files.

## On the device

For native mobile apps, install the IDlayr SDK:

* **iOS** — `IDlayrKit`, iOS 13+, Swift 5.9. Distributed via private Cloudsmith Swift Package Registry or CocoaPods. See the iOS SDK installation page.
* **Android** — `idlayr-sdk-android`, `minSdk 24`, `targetSdk 36`, Java 11. Distributed via private Cloudsmith Maven. See the Android SDK installation page.

The SDK requires a **Cloudsmith entitlement token** to fetch the binary at build time. The token is shared during onboarding by your IDlayr account team. Store it as a build-time secret (e.g. `CLOUDSMITH_TOKEN` in CI). It's not the same as the OAuth2 access token used at runtime — see [Install an SDK](/get-started/sdks.md).

For mobile-browser deployments without an SDK, no install is required — the device only needs a mobile browser and a cellular data connection.

## Network and device requirements

* **The device must be on cellular data** at the moment of verification. Wi-Fi breaks the trust path under NV 1.0. The SDK enforces this; for browser flows, disable Wi-Fi or use a cellular-only device.
* **The MNO must support Secure SNA for the target number.** Coverage varies by carrier, market, and line type. Use [Eligibility](/products/eligibility.md) as a pre-check if you want to know in advance.

## Optional but recommended

* A **callback endpoint** on your backend to receive terminal-status notifications. Otherwise you'll need to poll or wait for the device-side flow to complete. See the Callbacks page.
* A **fallback path** for numbers where SNA isn't supported. [Reverse SMS](/products/number-verification/reverse-sms.md) is the canonical fallback within the same product family.
* A **SIM Swap check** in parallel with SNA for fraud-sensitive use cases. See [SIM Swap](/products/risk/sim-swap.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.idlayr.com/products/number-verification/secure-sna/prerequisites.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
