> ## Documentation Index
> Fetch the complete documentation index at: https://rain-sandbox-trial.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Verification Troubleshooting

> Common issues and solutions for the Sumsub identity verification flow, including camera errors, iframe permissions, and SDK integration problems.

When users get stuck in the Sumsub verification flow, use the following fixes to resolve the most common problems.

## Camera access denied in the Sumsub iframe

If your users see the following error during the selfie or liveness check step:

```text theme={null}
camera-error: Camera access was rejected, reason: "NotAllowedError: Permission denied".
```

This means the browser is blocking camera access inside the Sumsub verification iframe. The parent page must explicitly grant camera permissions to the iframe.

**Fix:** Add the `allow` attribute to the `<iframe>` element that hosts the Sumsub WebSDK:

```html theme={null}
<iframe
  src="..."
  allow="camera; microphone"
></iframe>
```

If you are initializing the Sumsub WebSDK via JavaScript rather than a raw iframe, ensure the SDK's generated iframe inherits these permissions. Most recent versions of the Sumsub WebSDK set this automatically, but older versions or custom iframe wrappers may not.

**Additional checks:**

* The page must be served over **HTTPS**. Browsers block camera access on insecure origins.
* Verify that your server's `Permissions-Policy` HTTP header is not blocking `camera` for the iframe origin.
* On mobile devices, confirm the app or browser has camera permissions granted at the OS level.

## Bypass verification in sandbox

In the sandbox environment, you can skip the full verification flow by making the user's or company's last name **contain** the application status you want. The match is case-insensitive, so `TestApproved`, `PersonApproved`, and `approved` all produce an approved application. Whitespace breaks the match, so `Needs Verification` does not work where `TestNeedsVerification` does.

```json theme={null}
{
  "firstName": "John",
  "lastName": "TestApproved",
  "email": "john@example.com",
  "birthDate": "1990-01-01",
  "nationalId": "123456789",
  "countryOfIssue": "US",
  "ipAddress": "127.0.0.1",
  "address": {
    "line1": "123 Main St",
    "city": "New York",
    "postalCode": "10001",
    "countryCode": "US"
  }
}
```

See [Test different application statuses](/docs/signing-up-a-customer) for more details and supported status values.

## An application shows "needs more information"

This usually means a mismatch between the profile and the ID (for example, an inconsistent date of birth) or a poor-quality upload. Submit the corrected information through the API, then track the application through its next state. See [Application states](/docs/application-states) and [Rejection reasons](/docs/rejection-reasons).

## An application stays pending

Make sure clear front and back images of the ID are uploaded, and allow up to 5 business days for processing. If the application is still pending after that, contact Rain support.

## What's next

<Columns cols={3}>
  <Card title="Application states" icon="list-check" href="/docs/application-states">
    What each application state means.
  </Card>

  <Card title="Rejection reasons" icon="circle-exclamation" href="/docs/rejection-reasons">
    Rejection labels and how to resolve them.
  </Card>

  <Card title="Verification requirements" icon="shield-check" href="/docs/verification-requirements">
    What Rain requires and screens for.
  </Card>
</Columns>
