Digital ID (mDL)

Verify a consumer's identity with a Mobile Driver's License (mDL) presented from a digital wallet — no document image capture or OCR.

What is a Digital ID (mDL)?

A Digital ID, or Mobile Driver's License (mDL), lets a consumer verify their identity by presenting a digital credential from a supported digital wallet (such as Google Wallet or Samsung Wallet) instead of capturing images of a physical document. Socure acts as the reader: it retrieves the credential from the wallet, cryptographically validates the issuer's certificate, and returns the verification results. Because the wallet provides the data directly, the flow requires no image capture or optical character recognition (OCR).

Digital ID runs alongside standard Document Verification. You add it to an existing Document Verification flow, and consumers who don't have a digital ID on their device continue with standard document capture.

Note: Socure onboards your account to each supported wallet and enables mDL acceptance at the account level. No additional engineering integration is required to accept a digital ID. To accept an mDL, enable Digital ID acceptance on your Document Verification Capture App flow. See Enable Digital ID acceptance.


How it works

sequenceDiagram
    participant C as Consumer
    participant BE as Your backend
    participant R as RiskOS
    participant W as Digital wallet
    BE->>R: Create an evaluation (workflow with a Document Request step)
    R-->>BE: redirect_uri (or SDK launch token)
    C->>R: Select 'Verify with Digital Wallet' in the Capture App
    C->>W: Authenticate and share the digital ID
    W-->>R: Signed digital credential
    R->>R: Validate the issuer's certificate
    R-->>BE: evaluation_completed webhook (decision + reason codes)
  1. Your backend creates an evaluation with the Evaluation API, using a workflow that contains a Document Request step. RiskOS™ pauses the evaluation and returns a launch asset — a top-level redirect_uri for Hosted Flows, or a token you pass to the DocV SDK.
  2. The consumer opens the Capture App. On the document selection screen, the consumer selects Verify with Digital Wallet.
  3. The consumer's wallet prompts them to authenticate and share the requested attributes from their digital ID.
  4. Socure retrieves the credential, validates the issuer's certificate, and resumes the paused evaluation.
  5. Your backend receives the final decision through the evaluation_completed webhook (or by polling with a GET request). See Receive DocV Results.

Enable Digital ID acceptance

Socure onboards your account to each supported wallet before Digital ID becomes available. Once your account is onboarded, enable Digital ID acceptance on your Document Verification Capture App flow in the RiskOS™ Dashboard. When enabled, a Verify with Digital Wallet option appears on the document selection screen for every session that uses the flow.

For the flow configuration options, see Set up a Capture App flow.


Consumer experience

  1. On the document selection screen, the consumer selects Verify with Digital Wallet alongside the standard document options.
  2. The consumer's wallet prompts them to authenticate and share the requested attributes from their digital ID.
  3. Socure retrieves the credential, validates the issuer's certificate, and completes the verification.

Note: Unlocking the credential in the wallet is a device-level step (such as Face ID, fingerprint, or PIN) and is separate from Socure's selfie check. When your flow is configured to capture a selfie, retrieving the digital ID replaces the document photo — not the selfie.


Verification results

An mDL transaction returns the same documentVerification enrichment structure as a physical document transaction, with documentType, documentData, and decision objects. The reasonCodes array indicates the outcome of the mDL retrieval and authentication — whether the digital ID was retrieved and authenticated successfully, or whether authentication failed. A failed authentication returns a reject under the default DocV decision logic; if the consumer doesn't complete wallet retrieval, they're prompted to select an ID type again.

To view the reason codes returned for a transaction and configure how they map to decisions, see Reason Codes & Score Interpretation and DocV Decision Logic Configuration.


Related



Did this page help you?