SdkConfig

data class SdkConfig(val issuer: IssuerConfig, val trust: TrustConfig, val secureArea: SecureAreaKind = SecureAreaKind.HARDWARE, val iosAppGroupId: String? = null, val readerIdentity: ReaderIdentityConfig? = null, val proximity: ProximityConfig = ProximityConfig(), val credentialTypes: List<CredentialType> = emptyList(), val shareGuard: ShareGuard? = null)

Integrator-supplied configuration. Trust anchors and issuer details are injected here, never hardcoded in the SDK.

Constructors

Link copied to clipboard
constructor(issuer: IssuerConfig, trust: TrustConfig, secureArea: SecureAreaKind = SecureAreaKind.HARDWARE, iosAppGroupId: String? = null, readerIdentity: ReaderIdentityConfig? = null, proximity: ProximityConfig = ProximityConfig(), credentialTypes: List<CredentialType> = emptyList(), shareGuard: ShareGuard? = null)

Properties

Link copied to clipboard

The app's own mdoc credential types (beyond the built-in ISO 18013-5 mDL), so they get proper labels, values, icons and badges in the wallet, consent and verifier screens.

Link copied to clipboard
val iosAppGroupId: String? = null

iOS only: the App Group id (e.g. group.com.example.wallet) whose shared container holds the credential storage DB. Set this when the wallet ships an iOS Digital Credentials provider extension (.appex): the app and the extension are separate processes that must read the SAME store, so it lives at an App-Group path both can reach. Null (default) → per-process non-backed-up storage (single-process app, Android, tests). Ignored on non-iOS platforms.

Link copied to clipboard
Link copied to clipboard

In-person (ISO 18013-5) presentment settings.

Link copied to clipboard

Verifier role only: the reader-authentication signing identity (ISO 18013-5). When set, the verifier SIGNS its proximity DeviceRequest with it, so a holder that trusts the chain names the reader (e.g. "Verify") instead of warning about an anonymous reader. Null → unsigned request.

Link copied to clipboard

Where credential-bound keys live. Hardware-backed by default (Keystore / Secure Enclave).

Link copied to clipboard
val shareGuard: ShareGuard? = null

Wallet role: a check to run after the holder approves sharing and before the answer leaves the phone, for the credential types the guard names (see ShareGuard). The sdk-face module's FaceShareGuard is the ready-made one: selfie liveness + face match against the credential's photo. Null (default) → share on consent alone.

Link copied to clipboard