# United States

**Credential type:** Mobile Driver's License (mDL)
**Standard:** ISO 18013-5 (proximity) / ISO 18013-7 (online/remote)

US mDLs are state-issued driving licenses provisioned into a device wallet and cryptographically signed by the issuing state DMV. Incode supports three wallets. All three expose the same attribute set with selective disclosure.

In Dashboard, configure which fields to request per flow from the ID Capture module under **Digital IDs** > **United States**.

## Available methods

| Method         | SDK ID           |
| -------------- | ---------------- |
| Apple Wallet   | `apple_wallet`   |
| Google Wallet  | `google_wallet`  |
| Samsung Wallet | `samsung_wallet` |

## Available attributes

All attributes are selectable. Configure which attributes to request for each flow in the Dashboard.

| Attribute                            | `ocrData` field            |
| ------------------------------------ | -------------------------- |
| Given name                           | `name.givenName`           |
| Family name                          | `name.paternalLastName`    |
| Date of birth                        | `birthDate`                |
| Gender                               | `gender`                   |
| Height                               | `height`                   |
| Nationality                          | `nationality`              |
| Age 18+ confirmation (no DOB shared) | `ageOver18`                |
| Age 21+ confirmation (no DOB shared) | `ageOver21`                |
| License number                       | `documentNumber`           |
| Issue date                           | `issuedAt`                 |
| Expiry date                          | `expireAt`                 |
| Issuing country                      | `issuingCountry`           |
| Issuing authority                    | `issuingAuthority`         |
| Driving privileges                   | `drivingPrivileges`        |
| Full address                         | `address`                  |
| City                                 | `addressFields.city`       |
| State / Province                     | `addressFields.state`      |
| Postal code                          | `addressFields.postalCode` |
| Portrait photo                       | via `/omni/get/images`     |

Attributes are returned via `GET /omni/get/ocr-data/v2` under the `ocrData` object. Two fields identify the credential:

- `documentSubmissionMethod` is always `IMPORTED_CREDENTIAL` for digital ID sessions
- `credentialsProvider` identifies the specific wallet: `apple_wallet`, `google_wallet`, or `samsung_wallet`

## Selective disclosure and data minimization

Unlike physical document capture, mDL presentation is attribute-by-attribute. The wallet only releases the fields you explicitly request. Anything not requested never leaves the device.

The Dashboard pre-selects all available attributes when you first enable a wallet method. Configure each flow to request only what you actually need.

### Recommended attribute sets by use case

| Use case              | Request                                                                     |
| --------------------- | --------------------------------------------------------------------------- |
| Age gate              | `ageOver18` or `ageOver21` only, no DOB shared                              |
| Identity verification | `name.givenName`, `name.paternalLastName`, `birthDate`, portrait            |
| KYC / account opening | Add `documentNumber`, `issuedAt`, `expireAt`, `issuingAuthority`            |
| Address verification  | Add `addressFields.city`, `addressFields.state`, `addressFields.postalCode` |
| Driving eligibility   | Add `drivingPrivileges`                                                     |

`height`, `nationality`, `gender`, and `drivingPrivileges` should only be requested when directly relevant. Several US states with mDL programs restrict what relying parties may request. Request the minimum your use case requires.

## Provider registration

Apple Wallet web support requires the relying-party domain to be approved for wallet presentation. Coordinate with your Incode representative before going live with Apple Wallet.

Incode is an approved Google Verifier registrar and handles Google Wallet registration on your behalf. You provide basic verifier details (company name, logo, terms of service), and your Incode representative takes care of the rest. The user must still be on Android Chrome with a compatible digital ID in Google Wallet.

Contact your Incode Support representative to get started.
