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

# Verify signer identity

> Require a signer to verify their identity with a smart card, SMS, or Box login, and add a password to a Box Sign request.

export const MultiRelatedLinks = ({sections = []}) => {
  if (!sections || sections.length === 0) {
    return null;
  }
  return <div className="space-y-8">
      {sections.map((section, index) => <RelatedLinks key={index} title={section.title} items={section.items} />)}
    </div>;
};

export const RelatedLinks = ({title, items = []}) => {
  const getBadgeClass = badge => {
    if (!badge) return "badge-default";
    const badgeType = badge.toLowerCase().replace(/\s+/g, "-");
    return `badge-${badge === "ガイド" ? "guide" : badgeType}`;
  };
  if (!items || items.length === 0) {
    return null;
  }
  return <div className="my-8">
      {}
      <h3 className="text-sm font-bold uppercase tracking-wider mb-4">{title}</h3>

      {}
      <div className="flex flex-col gap-3">
        {items.map((item, index) => <a key={index} href={item.href} className="py-2 px-3 rounded related_link hover:bg-[#f2f2f2] dark:hover:bg-[#111827] flex items-center gap-3 group no-underline hover:no-underline border-b-0">
            {}
            <span className={`px-2 py-1 rounded-full text-xs font-semibold uppercase tracking-wide flex-shrink-0 ${getBadgeClass(item.badge)}`}>
              {item.badge}
            </span>

            {}
            <span className="text-base">{item.label}</span>
          </a>)}
      </div>
    </div>;
};

You can require a signer to verify their identity with a CAC/PIV smart card,
SMS, or Box login. You can also add a `password`. Set these on the signer when
you [create the request](/guides/box-sign/create-sign-request), or on a
template.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-flow-2fa.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=ac7ab4f1a870d20db20f0d1b6934c1dc" alt="Signer verification options on a signature request" width="1920" height="1080" data-path="images/guides/box-sign/sign-flow-2fa.png" />
</Frame>

## Verification methods

Use `verification_method` on the signer when you create the request. This is the
recommended approach for new integrations.

| Type      | Description                                                                                                                                                      |
| --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `cac_piv` | CAC/PIV smart card. Your enterprise must allow this method or the API returns `403 Forbidden`. Multiple signers who use this method must have a signing `order`. |
| `phone`   | SMS verification. Include `phone_number` with a country code prefixed by `+` or `00`, for example `+15551232190`.                                                |
| `login`   | The signer must log in to a Box account. If they do not have an account, they can create a free one.                                                             |

When you get a request or template, `verification_method` is `null` if that
signer has no verification. If you set both `verification_method` and a legacy
property such as `login_required` or `verification_phone_number`,
`verification_method` takes precedence.

```sh theme={null}
curl -i -X POST "https://api.box.com/2.0/sign_requests" \
     -H "authorization: Bearer <ACCESS_TOKEN>" \
     -H "content-type: application/json" \
     -d '{
       "parent_folder": {
         "type": "folder",
         "id": "0987654321"
       },
       "source_files": [
         {
           "type": "file",
           "id": "123456789"
         }
       ],
       "signers": [
         {
           "email": "signer@example.com",
           "role": "signer",
           "password": "example-password",
           "verification_method": {
             "type": "phone",
             "phone_number": "+15551232190"
           }
         }
       ]
     }'
```

## Password protection

You can add a `password` alongside any verification method. Password
verification happens before the signer can open the request.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-simple-password.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=12e2e8e2b3cdee581a79db5874d1b27f" alt="Password prompt before the signer opens the request" width="556" height="392" data-path="images/guides/box-sign/sign-simple-password.png" />
</Frame>

## SMS verification (legacy)

`verification_phone_number` is still supported. Prefer `verification_method`
when you create the request.

By default, SMS verification happens at the signing step, so the signer can view
the request first. Set `is_phone_verification_required_to_view` to `true` to
require SMS before view.

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-phone-verification.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=1aa53d53dc37c39bab8ac3fe1535bdbd" alt="SMS verification prompt" width="1014" height="558" data-path="images/guides/box-sign/sign-phone-verification.png" />
</Frame>

<Frame>
  <img src="https://mintcdn.com/box/isjmNzuG7xfW57th/images/guides/box-sign/sign-phone-verification-enter-code.png?fit=max&auto=format&n=isjmNzuG7xfW57th&q=85&s=b174540fc33c33ca792426e3a9146270" alt="Entering the SMS code" width="1004" height="718" data-path="images/guides/box-sign/sign-phone-verification-enter-code.png" />
</Frame>

For more background on signer authentication, see the [additional signer
authentication][2fa] support article.

[2fa]: https://support.box.com/hc/en-us/articles/4406861109907-Additional-Signer-Authentication

<RelatedLinks
  title="RELATED APIS"
  items={[
{ label: translate("Create Box Sign request"), href: "/reference/post-sign-requests", badge: "POST" }
]}
/>

<RelatedLinks
  title="RELATED GUIDES"
  items={[
{ label: translate("Create Box Sign request"), href: "/guides/box-sign/create-sign-request", badge: "GUIDE" },
{ label: translate("Multiple signers and signing order"), href: "/guides/box-sign/multiple-signers", badge: "GUIDE" },
{ label: translate("21 CFR Part 11 requests"), href: "/guides/box-sign/cfr-part-11", badge: "GUIDE" }
]}
/>
