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

# Verify your identity

> Verify your phone number, then an identity document, then create the passkey you approve with, in one trip to your browser.

export const waitlists = {
  earlyAccess: "",
  payments: "",
  openBanking: "",
  developers: "",
  verifiers: ""
};

<Note>
  **Private preview:** this is rolling out and may not be available on your account yet.{waitlists.earlyAccess ? <> <a href={waitlists.earlyAccess}>Request early access →</a></> : null}
</Note>

Verification proves that a real person stands behind your agent. It is the step that unlocks your [Sigil](/get-started/first/sigil).

The order is the same on every path: **your phone number first, then an identity document, then your signing key**. You make one trip to your browser, and you come back to the conversation or the terminal you started from.

## Before you start

* A Sumvin account, reached through [your agent](/get-started/connect) or [the CLI](/get-started/cli/sign-in).
* A phone that can receive a text message.
* An identity document, and a device with a camera and a browser.
* A browser that can save a passkey, such as Chrome or Safari with iCloud Keychain or Google Password Manager.

## Verify

<Tabs>
  <Tab title="In your agent (MCP, recommended)">
    <Steps>
      <Step title="Ask your agent to start">
        Ask your agent to help you get verified. It checks where you are with `onboarding_status`, then calls `kyc_start` to get your verification link.

        If you are already verified, your agent tells you so and there is nothing more to do.
      </Step>

      <Step title="Open the link">
        Your agent gives you the link exactly as it came back. Open it in your browser and sign in to your Sumvin account if the page asks.

        The link works once and belongs to you alone. If it stops working, ask your agent for a new one rather than reusing the old one.
      </Step>

      <Step title="Verify your phone number">
        If your phone number isn't verified yet, the page shows **Verify your phone**. Enter your number, then the code that arrives by text message. The page brings you straight back to the same verification afterwards.
      </Step>

      <Step title="Photograph your identity document">
        Follow the on-screen prompts to capture your document. When you finish, the page shows **Verification submitted** and **Keep this tab open. Next, create your signing key.**
      </Step>

      <Step title="Create your signing key">
        Keep the tab open. Once your identity is approved, the same page continues to **Create your signing key**. Choose **Create your signing key** and create a passkey when your browser asks. If the page then asks, choose **Confirm with your passkey** and use the passkey you just created.

        The page shows **Signing key created** and tells you to return to your conversation. Your passkey is saved to iCloud Keychain or Google Password Manager, so it also works on your other devices that share it. You approve every [Stamped Mandate](/get-started/first/stamped-mandate) with it.
      </Step>

      <Step title="Check back with your agent">
        Tell your agent you're done. It checks `onboarding_status` again and tells you what is left.
      </Step>
    </Steps>
  </Tab>

  <Tab title="In the terminal (CLI, for developers)">
    <Steps>
      <Step title="See where you are">
        ```bash theme={null}
        sumvin kyc status
        ```

        `pending` means you haven't started. `approved` means you are already verified and can skip ahead to [your Sigil](/get-started/first/sigil).
      </Step>

      <Step title="Verify your phone number">
        ```bash theme={null}
        sumvin kyc start
        ```

        The CLI asks for your phone number in international format, then for the six-digit code from the text message. You type the code yourself; it can't be scripted.

        ```text theme={null}
        Phone number (E.164, e.g. +14155551234) +447700900123
        We sent a verification code to +447700900123.
        6-digit code from the SMS 123456
        Phone number +447700900123 verified.
        ```
      </Step>

      <Step title="Open the browser link">
        The same command then prints your verification link and opens it:

        ```text theme={null}
        Finish verifying your identity here:
          https://…
        Next: `sumvin kyc status --wait`
        ```

        The link is printed before the browser opens, so on a machine with no browser you can open it on any other device. Treat it like a password: it works once and belongs to you.
      </Step>

      <Step title="Photograph your identity document">
        Sign in if the page asks, then follow the prompts to capture your document. When you finish, the page shows **Verification submitted** and **Keep this tab open. Next, create your signing key.**
      </Step>

      <Step title="Create your signing key">
        Keep the tab open. Once your identity is approved, the same page continues to **Create your signing key**. Choose **Create your signing key** and create a passkey when your browser asks. If the page then asks, choose **Confirm with your passkey** and use the passkey you just created.

        The page shows **Signing key created** and tells you to return to your terminal. Your passkey is saved to iCloud Keychain or Google Password Manager, so it also works on your other devices that share it. It is what you approve a [Stamped Mandate](/get-started/first/stamped-mandate) with in your browser, from your agent. In the terminal, you approve with a separate key kept on your machine; see [`sumvin keys`](/reference/cli/keys).
      </Step>

      <Step title="Wait for the answer">
        ```bash theme={null}
        sumvin kyc status --wait
        ```

        A line prints only when your status changes. Stopping the wait loses nothing: verification carries on, and running the command again picks it back up.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## What's checked

Our identity-verification partner, [Sumsub](https://sumsub.com/), checks that your document is genuine and that it belongs to you. You photograph your ID document, then take a selfie so Sumsub can match your face to it. Sumvin checks that your phone number is yours.

Your name and date of birth are read from your document during the check. There's nothing to type in beforehand.

Your document goes from your browser to the verification page, never through your agent. What we keep, and what your agent and others can see, is on [Privacy](/concepts/privacy).

## What you'll see

| Status                  | What it means                             | What to do                                                                         |
| ----------------------- | ----------------------------------------- | ---------------------------------------------------------------------------------- |
| Pending                 | You haven't started.                      | Start verification.                                                                |
| In progress             | Your document is being checked.           | Check again shortly.                                                               |
| Approved                | You're verified.                          | Go to [your Sigil](/get-started/first/sigil).                                      |
| More information needed | The check needs another attempt.          | Run it again: **Verify again** on the page, or `sumvin kyc start` in the terminal. |
| Not approved            | Verification was declined. This is final. | Contact support if you think the decision is wrong.                                |

In the terminal these read `pending`, `in_progress`, `approved`, `retry` and `rejected`.

## What can go wrong

<AccordionGroup>
  <Accordion title="The link expired or was already used">
    The page shows **Link expired** or **Link already used**. Ask your agent for a new link, or run `sumvin kyc start` again. If you have more than one link open, use the newest.
  </Accordion>

  <Accordion title="The page says you're signed in to a different account">
    The page shows **Different account**. Choose **Sign out and switch account**, then sign in with the account that started verification.
  </Accordion>

  <Accordion title="The text message never arrived">
    Run `sumvin kyc start` again to have the code sent again, or ask your agent for a fresh link. Check the number's country code. Phone requests and wrong codes are both limited, so leave a gap between attempts.
  </Accordion>

  <Accordion title="Too many attempts, or verification is unavailable">
    The page shows **Too many attempts** or **Verification unavailable**. Nothing is lost. Try again later; retrying straight away is refused the same way.
  </Accordion>

  <Accordion title="Verification could not start">
    Make sure your phone number is confirmed, then start again. If it still won't start, email [hello@sumvin.com](mailto:hello@sumvin.com).
  </Accordion>

  <Accordion title="You closed the tab before creating your signing key">
    Your verification carries on without it, but you can't approve anything until you create one. The first time you open a review page, it offers **Set up your signing key**. Follow it, create your passkey, then ask your agent to request the mandate again.
  </Accordion>

  <Accordion title="The page says 'This browser can't hold your signing key'">
    Your browser or passkey provider can't be used for your signing key. Continue in Chrome or Safari with an iCloud Keychain or Google Password Manager passkey: scan the code on the page, or choose **Open link**, and sign in to Sumvin there. Or choose **Try again**.
  </Accordion>

  <Accordion title="The passkey prompt was cancelled">
    The page shows **Passkey prompt canceled**. Nothing is lost. Try again when you're ready.
  </Accordion>

  <Accordion title="Verification was not approved">
    A declined verification can't be retried with the same documents, and your agent can't start a new one for you. Contact support if you believe the decision is wrong. "More information needed" is different: resubmitting is exactly what to do.
  </Accordion>
</AccordionGroup>

<Tip>**Try asking your agent:** "Help me get verified with Sumvin."</Tip>
