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

# Domain Verification

> Verify domain ownership using a token-based flow with CORS validation

Domain verification confirms that you own or control a domain before Userplane enables branded recording links and per-domain preferences for it.

## How verification works

Userplane uses a **token-based verification** process:

1. Userplane generates a unique verification token (JWT) for your domain.
2. You add a script tag with the token to your website.
3. Userplane makes a CORS-validated request to your domain to check for the token.
4. If the token is found and valid, the domain status changes to **verified**.

## Verification steps

<Steps>
  <Step title="Open Domain settings">
    Go to [Workspace Settings > Domains](https://dash.userplane.io/_/settings?tab=general) and select the domain you want to verify. It will show a **Pending** status.

    <Frame caption="Domain pending verification">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-configure-pending.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=7661e5497f8db24c27f5b5d0181d31ef" width="1920" height="959" data-path="media/workspace/domain/verify-domain/domain-configure-pending.png" />
    </Frame>
  </Step>

  <Step title="Click Verify">
    Click **Verify** to start the verification process. Userplane generates a unique verification token (JWT) for your domain.

    <Frame caption="Verification code">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-verification-code.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=d6f73f8996a92dbd21afc99a7fb6e999" width="1920" height="958" data-path="media/workspace/domain/verify-domain/domain-verification-code.png" />
    </Frame>

    <Frame caption="Verification code">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/domain-verification-code.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=a328f645154c12854c821699bb212c40" width="1342" height="906" data-path="media/workspace/domain/domain-verification-code.png" />
    </Frame>
  </Step>

  <Step title="Send instructions to a developer (optional)">
    If someone else manages your website, click **Send to Developer** to email them the verification instructions directly.

    <Frame caption="Send verification instructions">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-send-instructions.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=82431d25e974325433cbd46f8aeda333" width="1920" height="959" data-path="media/workspace/domain/verify-domain/domain-send-instructions.png" />
    </Frame>
  </Step>

  <Step title="Add the script to your site">
    Copy the provided script tag and add it to your website's HTML. Your domain must allow CORS requests from Userplane for the check to succeed. See the [Domain Verification Guide](/developer/domain-verification) for technical details.
  </Step>

  <Step title="Trigger the check">
    Once the script is deployed, click **Verify** in Userplane to trigger the check.

    <Frame caption="Verification in progress">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-verification-in-progress.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=853e6f6b805c5d7e15c4e138eb44c94d" width="1920" height="959" data-path="media/workspace/domain/verify-domain/domain-verification-in-progress.png" />
    </Frame>

    <Note>
      The verification token expires after **5 minutes**. If it expires before verification
      completes, generate a new one and try again.
    </Note>
  </Step>

  <Step title="Verification complete">
    Once the token is found and valid, the domain status changes to **Verified**.

    <Frame caption="Verification successful">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-verification-confirmation.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=962c2db6961d4eab5c548c569b0d2fff" width="1920" height="957" data-path="media/workspace/domain/verify-domain/domain-verification-confirmation.png" />
    </Frame>

    <Frame caption="Post-verification confirmation">
      <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/post-verification-confirmation.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=86a171643c2f41df0bd4785ff33b7255" width="1920" height="934" data-path="media/workspace/domain/verify-domain/post-verification-confirmation.png" />
    </Frame>
  </Step>
</Steps>

## After verification

Once a domain is verified:

* The domain status changes to **Verified**.
* You can create branded recording links using this domain.
* [Domain recording preferences](/recording-links/domain-preferences) become active.
* You can remove the verification script tag from your website.

<Frame caption="Verified domain configuration">
  <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/domain-configure-verified.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=7a44f5e3a27f6a5d872fe9084a2fba19" width="1920" height="959" data-path="media/workspace/domain/verify-domain/domain-configure-verified.png" />
</Frame>

<Frame caption="Domain configuration after verification">
  <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/post-verification-domain-configuration.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=946cdfa913850843489f1fdfcbb19864" width="1920" height="959" data-path="media/workspace/domain/verify-domain/post-verification-domain-configuration.png" />
</Frame>

<Frame caption="Domain recording preferences">
  <img src="https://mintcdn.com/userplane/IKCB4f_KBaL0xsjW/media/workspace/domain/verify-domain/post-verification-domain-preference.png?fit=max&auto=format&n=IKCB4f_KBaL0xsjW&q=85&s=945f4453766fc3b341883a9cd24202d7" width="1920" height="957" data-path="media/workspace/domain/verify-domain/post-verification-domain-preference.png" />
</Frame>

## Related articles

* [Domains](/workspace/domains) — why domains matter.
* [Domain Verification Guide](/developer/domain-verification) — detailed technical guide for developers.
