---
title: Verify Policies
description: Explains PingOne Verify policies for configuring identity verification requirements, parameters, and checks in an environment
component: pingone-api-ea
page_id: pingone-api-ea:verify:early-access/document-authentication-using-nfc-chip-verification/verify-policy
canonical_url: https://developer.pingidentity.com/pingone-api-ea/verify/early-access/document-authentication-using-nfc-chip-verification/verify-policy.html
llms_txt: https://developer.pingidentity.com/pingone-api-ea/llms.txt
docs_for_agents: https://developer.pingidentity.com/build-with-ai/docs-for-agents.md
revdate: 2026-09-16
section_ids:
  verify-policy-checks: Verify policy checks
  verify-verify-policy-data-model: Verify policy data model
  verify-governmentid-configuration-object: governmentID configuration object
---

# Verify Policies

With verify policies, you can:

* Configure what is required to verify a user.

* Configure parameters for verification, such as the number of one-time password (OTP) attempts and OTP expiration.

You can create as many verify policies as needed to satisfy every verification scenario.

## Verify policy checks

A verify policy defines which identity verification checks are performed for a verification transaction and configures the parameters of each check.

Checks can be either required or optional. All checks are performed for every document type received regardless of whether any check fails. If a type is optional, then the transaction can be processed with or without the documents for that type. If the documents are provided for that type and the optional type verification fails, it will not cause the entire transaction to fail.

## Verify policy data model

| Property                        | Type    | Required | Mutable   | Description                                                                                                                                                                              |
| ------------------------------- | ------- | -------- | --------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `createdAt`                     | String  | N/A      | Read-only | Date and time the verify policy was created                                                                                                                                              |
| `dataBasedIdentityVerification` | Object  | Optional | Mutable   | [dataBasedIdentityVerification configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-databasedidentityverification-configuration-object) |
| `default`                       | Boolean | Optional | Mutable   | Required as `true` to set this verify policy as the default policy for the environment, otherwise optional and defaults to `false`                                                       |
| `description`                   | String  | Optional | Mutable   | Description displayed in PingOne Admin UI, 1-1024 characters                                                                                                                             |
| `deviceOwnership`               | Object  | Optional | Mutable   | [deviceOwnership configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-deviceownership-configuration-object)                             |
| `email`                         | Object  | Optional | Mutable   | [email and phone configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-email-and-phone-configuration-object)                             |
| `environment.id`                | String  | Required | Immutable | Ping environment identifier (UUID) for user                                                                                                                                              |
| `facialComparison`              | Object  | Optional | Mutable   | [facialComparison configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-facialcomparison-configuration-object)                           |
| `geolocation`                   | Object  | Optional | Mutable   | [geolocation configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-geolocation-configuration-object)                                     |
| `governmentId`                  | Object  | Optional | Mutable   | [governmentID configuration object](#verify-governmentid-configuration-object)                                                                                                           |
| `id`                            | String  | N/A      | Read-only | Policy identifier (UUID)                                                                                                                                                                 |
| `identityRecordMatching`        | Object  | Optional | Mutable   | [identityRecordMatching configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-identityrecordmatching-configuration-object)               |
| `liveness`                      | Object  | Optional | Mutable   | [liveness configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-liveness-configuration-object)                                           |
| `name`                          | String  | Required | Mutable   | Name displayed in PingOne Admin UI                                                                                                                                                       |
| `phone`                         | Object  | Optional | Mutable   | [email and phone configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-email-and-phone-configuration-object)                             |
| `transaction`                   | Object  | Optional | Mutable   | [transaction configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-transaction-configuration-object)                                     |
| `updatedAt`                     | String  | N/A      | Read-only | Date and time the verify policy was updated. Can be null.                                                                                                                                |
| `verifiableCredential`          | Object  | Optional | Mutable   | [verifiableCredential configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-verifiableCredential-configuration-object)                   |
| `voice` (deprecated)            | Object  | Optional | Mutable   | [voice configuration object](https://developer.pingidentity.com/pingone-api/verify/verify-policy.html#verify-voice-configuration-object)                                                 |

### governmentID configuration object

The `GOVERNMENT_ID` configuration object includes `BIOGRAPHIC_MATCHING` in the policy (if biographic data is provided when the client [creates a verify transaction](https://developer.pingidentity.com/pingone-api/verify/verify-transactions/create-verify-transaction.html)), but results are returned separately in [Verification MetaData](https://developer.pingidentity.com/pingone-api/verify/verification-metadata.html).

| Property                 | Type    | Required | Mutable | Description                                                                                                                                                                  |
| ------------------------ | ------- | -------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `aadhaar.enabled`        | Boolean | Optional | Mutable | Whether Aadhaar verification is enabled or not                                                                                                                               |
| `documentImages.enabled` | Boolean | Optional | Mutable | Whether document images verification is enabled or not. Defaults to `true`. Refer to comments following this table for more information.                                     |
| `failExpiredId`          | Boolean | Optional | Mutable | Whether the Government ID verification fails when the document is expired                                                                                                    |
| `inspectionType`         | String  | Optional | Mutable | Determine whether document authentication is automated, manual, or possibly both. Can be `AUTOMATIC`, `MANUAL`, or `STEP_UP`. Refer to notes following this table.           |
| `nfc.enabled` \[EA]      | Boolean | Optional | Mutable | Whether NFC verification is enabled or not                                                                                                                                   |
| `provider.auto`          | String  | Optional | Mutable | Provider to use for the automatic verification service. Can be `MITEK` (the default) or `VERIFF`.                                                                            |
| `provider.manual`        | String  | Optional | Mutable | Provider to use for the manual verification service. Can be `MITEK`.                                                                                                         |
| `retry.attempts`         | Integer | Optional | Mutable | Number of retries permitted when submitting images. Must be 0 (no retries permitted) to 3.                                                                                   |
| `verify`                 | String  | Required | Mutable | Controls if Government ID verification is `REQUIRED` or `DISABLED`                                                                                                           |
| `verifyAamva`            | Boolean | Optional | Mutable | Whether [AAMVA DLDV](https://developer.pingidentity.com/pingone-api/verify/introduction.html#us-based-driver-licenses) verification is enabled for supported driver licenses |

When `documentImages.enabled` is set to `false`, document capture is disabled and the user is not prompted to submit images of any document. This is especially useful when you want to verify identification using just Aadhaar information, where document authentication is unnecessary. Defaults to `true` to preserve backwards compatibility with existing verify policies.

Options for `inspectionType` are:

* `AUTOMATIC` invokes automated identification inspection only

* `MANUAL` invokes manual identification inspection only (additional license required)

* `STEP_UP` invokes automated identification inspection and, if that fails, invokes manual identification inspection (additional license required)

If `verify` is set to `DISABLED`, `inspectionType` is optional and ignored if used.

If `inspectionType` is not used, it defaults to the highest option available to the license capabilities in your environment. Similarly, availability of the options depend on the license capabilities of your environment. For example, if your environment is only licensed for automated identification inspection, then `MANUAL` and `STEP_UP` will not be available.

When `nfc.enabled` is set to `true`, the service attempts to perform NFC-based document authentication using the embedded chip data. If `nfc.enabled` is set to `false` (or absent), NFC verification is skipped, and only the other enabled verification methods are used. Enabling NFC verification may require additional permissions or capabilities on the user's device, such as NFC hardware and appropriate operating system support. Ensure that your mobile app gracefully handles cases where NFC is unavailable or disabled on the device.
