# When to use it

## When to use it
The SDK is **only relevant for direct API integrations using the Prefill + Onboarding identity flow**. When you build your own UI against the User API and call the Prefill and Onboarding endpoints, you must include `diSessionToken` on **every** Prefill and Onboarding request to enable Silent Network Authentication. See [Identity Verification (Prefill + Onboarding)](/client-spec/identity-verification-(prefill-+-onboarding)) for the matching endpoints.
If `diSessionToken` is missing or invalid, the user is automatically routed through **OTP fallback** instead of SNA — your integration still works, it just shows the OTP step.
> **Not needed for the widget.** If you embed the CRS widget, the widget handles all device-risk signals internally. You don't need to integrate the SDK yourself.

You'll receive your **SDK Key** during onboarding. The SDK ships for Web, iOS, Android, and React Native — pick the platforms you need.

Version: v3

## Description:

  - `When to use it` ()
    The SDK is only relevant for direct API integrations using the Prefill + Onboarding identity flow. When you build your own UI against the User API and call the Prefill and Onboarding endpoints, you must include diSessionToken on every Prefill and Onboarding request to enable Silent Network Authentication. See Identity Verification (Prefill + Onboarding) for the matching endpoints. If diSessionToken is missing or invalid, the user is automatically routed through OTP fallback instead of SNA — your integration still works, it just shows the OTP step. Not needed for the widget. If you embed the CRS widget, the widget handles all device-risk signals internally. You don't need to integrate the SDK yourself. You'll receive your SDK Key during onboarding. The SDK ships for Web, iOS, Android, and React Native — pick the platforms you need.

