> ## Documentation Index
> Fetch the complete documentation index at: https://docs.scute.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Verification

> Verify users via email or SMS

# Verification

Verify a user's identity by sending a code or magic link to their email or phone. Use it for login, approvals, identity checks, or any action that needs confirmation.

## Methods

* **OTP** — send a numeric code, user enters it
* **Magic link** — send a link, user clicks it

## Channels

Email and SMS.

## Flows

**[Intent Verification](/guides/intent-verification)** — server-to-server. Your backend sends a verification request with context (ticket ID, intent name, contact info). User receives an SMS or email. Result comes back via webhook with a signed JWT.

**[Verification SDK](/guides/verification-sdk)** — client-side. Any app using `@scute/js-core` can list, approve, and deny verifications. Works in browser, Electron, React Native.

**[Self-serve](/verification/self-serve)** — send a magic link to verify an email address. User clicks the link, done.

## Modes

Set in **Settings > Verification**.

* **Dismiss** — confirm identity, show success, redirect. Default.
* **Consent** — confirm identity, then ask approve or deny. Decision in webhook.

## Risk scoring

Every completed verification includes a risk score:

```json theme={null}
{
  "risk": {
    "score": 35,
    "level": "medium",
    "signals": ["new_ip", "phone_country_mismatch"],
    "recommendation": "review"
  }
}
```

Returned in webhook payloads, API responses, and the `scute_token` JWT.
