light-mode-image
Learn

mDocs Verifier Mobile SDK

The mDocs Verifier SDK are based on the ISO/IEC 18013-5:2021 and ISO/IEC 18013-7:2025 standards, which establish an interoperable digital representation of mobile-based credentials such as mobile drivers licenses (mDL). However, these SDKs can extend the same technology and architecture to more than just mDLs, but rather any conforming mobile document (mDoc) - a term defined in ISO/IEC 18013-5.

The mDocs Verifier SDKs are available for React Native, iOS, and Android. They help developers add mDocs verification capabilities to their apps, allowing secure and privacy preserving verification of presented mDocs in various interoperable workflows.

To get started with any of our mDocs Verifier SDKs, please contact us.

SDK Capabilities

The mDocs Verifier SDKs offer tools to assist developers integrating the following capabilities into their applications:

  • Interface with an mDoc holder to request presentations of issued mDocs via:
    • Proximity verification: Verify an mDoc presented in-person as per ISO/IEC 18013-5:2021.
    • Remote mobile app verification: Remotely verify an mDoc presented from a different app installed on the same mobile device (as per ISO/IEC 18013-7:2025 and OID4VP).
  • Manage a list of trusted issuer certificates which presented mDocs can be validated against.
  • Manage status lists which can be used to check mDocs' revocation status.
  • Interface with an mDoc holder to request presentations of issued mDocs via:
    • Proximity verification: Verify an mDoc presented in-person as per ISO/IEC 18013-5:2021.
    • Remote mobile app verification: Remotely verify an mDoc presented from a different app installed on the same mobile device (as per ISO/IEC 18013-7:2025 and OID4VP).
  • Manage a list of trusted issuer certificates which presented mDocs can be validated against.
  • Manage status lists which can be used to check mDocs' revocation status.
  • Interface with an mDoc holder to request presentations of issued mDocs via:
  • Manage a list of trusted issuer certificates which presented mDocs can be validated against.
  • Manage status lists which can be used to check mDocs' revocation status.

Supported features

Supported ISO/IEC 18013-5 Features

Below is a summary of ISO/IEC 18013-5 features supported by the mDocs Verifier SDKs:

FeatureSupported optionsDefault
Device engagementQR codeQR code
Device retrieval data transportBLE with either mDocPeripheralServer or mDocCentralClient modeDetermined by holder application
Ephemeral session key curveAny NIST P-* keysDetermined by holder application
Device authentication modeDigital Signature or ECDH-agreed MACDetermined by holder application
FeatureSupported optionsDefault
Device engagementQR code and NFCQR code
Device retrieval data transportBLE with either mDocPeripheralServer or mDocCentralClient modeDetermined by holder application
Ephemeral session key curveAny NIST P-* keysDetermined by holder application
Device authentication modeDigital Signature or ECDH-agreed MACDetermined by holder application
FeatureSupported optionsDefault
Device engagementQR codeQR code
Device retrieval data transportBLE with either mDocPeripheralServer or mDocCentralClient modeDetermined by holder application
Ephemeral session key curveAny NIST P-* keysDetermined by holder application
Device authentication modeDigital Signature or ECDH-agreed MACDetermined by holder application

System requirements

The SDK is developed in the Swift programming language and is meant for integration into iOS applications developed in Swift and/or Objective-C. Specifically, it currently only supports applications developed in iOS 15 and above.

While the SDK functionalities are only available for devices from iOS 15 and onwards, the minimum deployment target is currently set to iOS 13. This enables clients to support users up to iOS 13, as long as the SDK is not initialized.

This SDK is developed in the Kotlin programming language and is meant for integration into Android applications. It currently supports Android 7 (API level 24) and above.

This SDK is meant for integration into React Native applications using React Native 0.73 and above. Supported operating systems are:

  • iOS 15 or higher.
  • Android 7 or higher.

While the SDK functionalities are only available for devices from iOS 15 and onwards, the minimum deployment target is currently set to iOS 13. This enables clients to support users up to iOS 13, as long as the SDK is not initialized.

Dependencies

This section lists all dependencies for using mDocs Verifier SDKs.

Third party dependencies

Apple Frameworks

  • Security Framework.
  • CryptoKit Framework.
  • LocalAuthentication Framework.
  • CoreBluetooth Framework.
  • Combine Framework.
  • OSLog Framework.
  • UIKit Framework.
  • AppKit Framework (on macOS).

Toolchain dependencies

  • Swift 5.10.
  • iOS support:
    • The SDK functionality is only available for devices from iOS 15 onwards.
    • The minimum deployment target is set to iOS 13 so that clients can continue support end users up to iOS 13 without initializing the SDK.
  • Xcode: The SDK was built with the latest stable Xcode available in GitHub Actions (setup-xcode action with latest-stable label), and the current version is Xcode 16.3.0 (16E140).
  • macOS 15.

Standard libraries

  • androidx.core:core-ktx:1.13.1
  • androidx.appcompat:appcompat:1.7.0
  • androidx.activity:activity-ktx:1.9.0
  • androidx.fragment:fragment:1.5.4
  • androidx.annotation:annotation:1.8.0
  • androidx.biometric:biometric-ktx:1.2.0-alpha05
  • androidx.browser:browser:1.8.0
  • org.jetbrains.kotlin:kotlin-reflect:1.9.22
  • org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3
  • org.jetbrains.kotlinx:kotlinx-datetime:0.4.0
  • org.jetbrains.kotlinx:kotlinx-serialization-json:1.6.3

Third-party libraries

  • com.upokecenter:cbor:4.2.0
  • com.jakewharton.timber:timber:5.0.1
  • None.

Versions

Below are the available versions of the mDocs Verifier Mobile SDKs, including the current active version, supported versions, and those that have reached end-of-life (EOL).

Major versionStatusLatest releaseEnd of Life dateDocumentation
v5Pre-release5.0.0-rc.1-SDK Docs
v4Active4.1.0-SDK Docs
v3End of Life3.0.07-10-2025-
v2End of Life2.0.026-08-2025-
v1End of Life1.0.105-05-2025-
Major versionStatusLatest releaseEnd of Life dateDocumentation
v5Active5.0.0-SDK Docs
v4Maintenance4.1.130-12-2025SDK Docs
v3End of Life3.0.07-10-2025-
v2End of Life2.0.026-08-2025-
v1End of Life1.0.105-05-2025-
Major versionStatusLatest releaseEnd of Life dateDocumentation
v8Active8.0.0-SDK Docs
v7Maintenance7.1.012-12-2025SDK Docs
v6End of Life6.0.026-08-2025-
v5End of Life5.0.005-05-2025-
v4End of Life4.1.113-04-2025-
v3End of Life3.0.015-02-2025-
v2End of Life2.0.017-12-2024-
v1End of Life1.0.105-07-2024-

Release candidates (RC) are pre-release versions that may contain new features or changes that are not yet fully tested. They are intended for testing purposes, are not subject to our SLA and should not be used in production environments.

How would you rate this page?