Package-level declarations

Types

Link copied to clipboard

Android framework boundary for official holder CREATE_CREDENTIAL request and response handling.

Verified Android Credential Manager create input after caller and protocol extraction.

Link copied to clipboard
data class AndroidDigitalCredentialCreateRequest(val protocol: String, val offerJson: String, val verifiedOrigin: String)

Android CREATE_CREDENTIAL OpenID4VCI request after Credential Manager extraction.

Link copied to clipboard
data class AndroidDigitalCredentialCreateResponse(val protocol: String = MobileWalletDigitalCredentialProtocols.OPENID4VCI_V1, val dataJson: String = "{}")

Android CREATE_CREDENTIAL acknowledgement returned to Credential Manager after OpenID4VCI completes.

Link copied to clipboard

Android framework boundary for official holder Activity request and response handling.

Link copied to clipboard

Verified Android Credential Manager input after caller and selected-entry extraction.

Link copied to clipboard

Android Credential Manager metadata registry adapter.

Link copied to clipboard
data class AndroidMobileWalletNfcConfiguration(val serviceClass: Class<out AndroidMdocHostApduService>)

App-owned Android HCE service used for mdoc NFC engagement and retrieval.

Link copied to clipboard
@Serializable
data class IosIdentityDocumentProjectionRecord(val documentIdentifier: String, val documentType: String)

One mdoc credential projected into Apple's IdentityDocumentServices registration model.

Link copied to clipboard

Outcome of reading the shared projection, with "absent" and "unreadable" kept apart.

Link copied to clipboard
@Serializable
data class IosIdentityDocumentProjectionState(val walletId: String, val registrations: List<IosIdentityDocumentProjectionRecord>)

Desired IdentityDocumentServices registration state of the one wallet that owns this App Group.

Link copied to clipboard

Runtime authorization state of Apple's IdentityDocumentServices provider registration.

Link copied to clipboard
class IosIdentityDocumentRegistry(appGroupIdentifier: String?, walletId: String) : MobileWalletCredentialRegistry

App-to-extension desired-state bridge for Apple's IdentityDocumentServices registration store.

Link copied to clipboard

Android and iOS facade for the walt.id wallet SDK.

Link copied to clipboard
data class MobileWalletAnnexCDocumentRequest(val docType: String, val namespaces: Map<String, List<String>>)

Requested mdoc document and namespace elements.

Link copied to clipboard

Parsed request shape Apple exposes before the user grants access to the raw Annex C request.

Link copied to clipboard
data class MobileWalletAnnexCPreview(val requestId: String, val verifiedOrigin: String, val parsedRequest: MobileWalletAnnexCParsedRequest, val credentialOptions: List<MobileWalletPresentationCredentialOption>, val readerAuthentication: MobileWalletReaderAuthentication, val readerTrust: ReaderTrustDecision?)

Consent preview for an ISO 18013-7 Annex C presentation.

Link copied to clipboard
data class MobileWalletAnnexCRequest(val parsedRequest: MobileWalletAnnexCParsedRequest, val verifiedOrigin: String, val selectedRegistryEntryIds: List<String> = emptyList(), val deviceRequestBase64Url: String? = null, val encryptionInfoBase64Url: String? = null)

Two-phase Annex C input. Android supplies raw fields immediately; Apple may defer them.

Link copied to clipboard
data class MobileWalletAnnexCSubmission(val requestId: String, val verifiedOrigin: String, val deviceRequestBase64Url: String, val encryptionInfoBase64Url: String, val selectedCredentialOptions: List<MobileWalletPresentationCredentialSelection>)

Raw post-consent Annex C data required to sign and encrypt a response.

Link copied to clipboard

Client identifier scheme established while authenticating an OpenID4VP request.

Link copied to clipboard
data class MobileWalletConfig(val walletId: String = "default", val attestationConfig: WalletAttestationConfig? = null, val persistence: MobileWalletPersistence = MobileWalletPersistence(), val onEvent: suspend (MobileWalletEvent) -> Unit = {}, val preferredLocales: List<String> = emptyList(), val transactionDataProfiles: List<MobileWalletTransactionDataProfile> = emptyList(), val paymentCredentialIssuers: List<PaymentCredentialIssuer> = emptyList(), val credentialIssuerMetadataTrustResolver: CredentialIssuerMetadataTrustResolver? = null, val credentialRegistry: MobileWalletCredentialRegistry = UnavailableMobileWalletCredentialRegistry, val readerTrustEvaluator: ReaderTrustEvaluator = MdocReaderAuthenticationTrustEvaluator, val crossProcessAccess: MobileWalletCrossProcessAccess? = null, val onDigitalCredentialRegistryChanged: suspend () -> Unit = {}, val defaultKeyUseAuthorizationPolicy: KeyUseAuthorizationPolicy = KeyUseAuthorizationPolicy.BiometricCurrentSet, val keyUseAuthorizationPrompt: KeyUseAuthorizationPrompt = KeyUseAuthorizationPrompt(), val signingIdentity: SigningIdentityConfiguration = id.walt.wallet2.mobile.identity.SigningIdentityConfiguration())

Configuration for creating a MobileWallet.

Link copied to clipboard
data class MobileWalletCredential(val id: String, val format: String, val issuer: String?, val subject: String?, val label: String?, val addedAt: String?, val credentialDataJson: String, val metadataJson: String? = null)

Credential entry suitable for mobile UI lists and detail display.

Link copied to clipboard

Holder-key choice for one accepted configuration or dataset.

Link copied to clipboard

Credential offer input for MobileWalletIssuanceRequest.

Link copied to clipboard
data class MobileWalletCredentialRegistrationResult(val available: Boolean, val registeredEntryCount: Int, val reason: String? = null)

Outcome of synchronizing the platform registry with the current wallet credential metadata.

Link copied to clipboard

Platform adapter for metadata-only registration. Android framework types never cross this boundary.

Link copied to clipboard
data class MobileWalletCredentialRegistryField(val path: List<String>, val valueJson: String, val selectivelyDisclosable: Boolean)

One matcher-visible field. Values are individual decoded claims, never the raw credential payload.

Link copied to clipboard
data class MobileWalletCredentialRegistryRecord(val registryEntryId: String, val credentialId: String, val format: MobileWalletDigitalCredentialFormat, val type: String, val fields: List<MobileWalletCredentialRegistryField>, val displayName: String, val subtitle: String = "", val iconPng: ByteArray? = null, val cardArtImageUris: List<String> = emptyList(), val cardArtBackgroundColor: String? = null, val cardArtFallbackPng: ByteArray? = null)

Matcher-visible credential metadata supplied to a platform credential registry.

Link copied to clipboard
data class MobileWalletCredentialSelection(val credentialConfigurationId: String, val holders: MobileWalletCredentialHolders, val credentialIdentifier: String? = null)

Accepted configuration/dataset and its holder-key choice.

Link copied to clipboard
data class MobileWalletCrossProcessAccess(val appGroupIdentifier: String, val keychainAccessGroup: String)

Cross-process wallet access required by native document-provider extensions.

Link copied to clipboard
sealed interface MobileWalletDatabaseKey

Selects who owns the encrypted wallet database key.

data class MobileWalletDigitalCredentialCapabilities(val platform: String, val platformAvailable: Boolean, val minimumOsVersion: String, val registrationAvailable: Boolean, val capabilities: List<MobileWalletDigitalCredentialCapability>)

Truthful platform capability snapshot, including runtime and registration availability.

Link copied to clipboard
data class MobileWalletDigitalCredentialCapability(val protocol: String, val credentialFormats: List<MobileWalletDigitalCredentialFormat>, val requestProtection: List<MobileWalletDigitalCredentialRequestProtection>, val responseProtection: List<MobileWalletDigitalCredentialResponseProtection>, val supported: Boolean, val unsupportedReason: String? = null)

Runtime support for one protocol/format/protection combination.

Link copied to clipboard

Credential formats exposed through the platform Digital Credentials integration.

Link copied to clipboard
data class MobileWalletDigitalCredentialPreview(val requestId: String, val protocol: String, val verifiedOrigin: String, val request: MobileWalletDigitalCredentialRequestInfo, val credentialOptions: List<MobileWalletPresentationCredentialOption>, val credentialRequirements: List<MobileWalletPresentationCredentialRequirement>, val readerAuthentication: MobileWalletReaderAuthentication, val readerTrust: ReaderTrustDecision?)

Consent preview retained by the SDK until MobileWallet.submitDigitalCredentialPresentation.

Link copied to clipboard

Protocol identifiers understood by platform Digital Credentials APIs.

Link copied to clipboard
data class MobileWalletDigitalCredentialRequest(val protocol: String, val dataJson: String, val verifiedOrigin: String, val selectedRegistryEntryIds: List<String> = emptyList())

Platform-neutral request passed by Android Credential Manager or an Apple provider extension.

Link copied to clipboard
data class MobileWalletDigitalCredentialRequestInfo(val clientId: String?, val verifierMetadata: MobileWalletVerifierMetadata?, val nonce: String, val responseMode: String?, val transactionData: List<MobileWalletTransactionDataItem> = emptyList())

Verifier and transaction metadata extracted from an OpenID4VP request received through a Digital Credentials API.

Authentication applied to a Digital Credentials request.

Link copied to clipboard
data class MobileWalletDigitalCredentialResponse(val protocol: String, val dataJson: String)

OS-mediated response. dataJson is returned to the platform and is never direct-posted over HTTP.

Protection applied to the response returned to the requesting platform.

Link copied to clipboard

Observable mobile wallet session event.

Link copied to clipboard

High-level protocol flow that emitted a MobileWalletEvent.

Link copied to clipboard
Link copied to clipboard
actual class MobileWalletFactory

Android MobileWallet factory backed by Android KeyStore and an app-private SQLDelight database.

expect class MobileWalletFactory

Platform factory that wires MobileWallet to Android or iOS storage and key infrastructure.

actual class MobileWalletFactory

iOS MobileWallet factory backed by Keychain/Secure Enclave managed keys, the Crypto2 software-key fallback, and a native SQLDelight database.

Link copied to clipboard
data class MobileWalletHolderBinding(val keyId: String, val did: String? = null)

One credential instance, backed by an existing platform wallet key.

Link copied to clipboard
data class MobileWalletIssuanceRequest(val offer: MobileWalletCredentialOffer, val clientId: String = "eudiw-abca", val redirectUri: String = "openid://", val keyId: String? = null, val did: String? = null, val keyPolicy: SigningIdentityKeyPolicy = id.walt.wallet2.mobile.identity.SigningIdentityKeyPolicy.GeneralPurpose)

App-facing input for starting an OpenID4VCI issuance session.

Link copied to clipboard

Key algorithms supported by the mobile wallet bootstrap flow.

Link copied to clipboard
data class MobileWalletMetadataDisplay(val name: String?, val locale: String?, val logoUri: String?, val logoAltText: String?, @ObjCName(name = "descriptionText") val description: String? = null, val backgroundColor: String? = null, val backgroundImageUri: String? = null, val textColor: String? = null)

Localized display metadata normalized from issuer, credential, or verifier protocol metadata.

Link copied to clipboard
data class MobileWalletPersistence(val databaseKey: MobileWalletDatabaseKey = MobileWalletDatabaseKey.Managed, val credentialStore: WalletCredentialStore? = null, val didStore: WalletDidStore? = null)

Wallet-local persistence configuration.

Link copied to clipboard
data class MobileWalletPresentationCredentialOption(val queryId: String, val credentialId: String, val multiple: Boolean = false, val format: String, val issuer: String?, val subject: String?, val label: String?, val credentialDataJson: String, val disclosures: List<MobileWalletPresentationDisclosure> = emptyList(), val metadataJson: String? = null)

A wallet credential that satisfies one DCQL credential query in the presentation request.

A required presentation credential-query combination.

data class MobileWalletPresentationCredentialSelection(val queryId: String, val credentialId: String)

User-selected presentation credential option.

Link copied to clipboard
data class MobileWalletPresentationDisclosure(val path: String, val name: String?, val valueJson: String, val displayValue: String?, val selectivelyDisclosable: Boolean, val required: Boolean = !selectivelyDisclosable, val selectable: Boolean = selectivelyDisclosable && !required, val requested: Boolean = true)

Claim or selective-disclosure value that may be shared for a matched credential.

data class MobileWalletPresentationDisclosureSelection(val queryId: String, val credentialId: String, val path: String)

User-selected selectively disclosable claim for a selected presentation credential option.

Link copied to clipboard

OAuth 2.0 and OpenID4VP 1.0 authorization error codes supported by the wallet.

Link copied to clipboard

Preview of an OpenID4VP presentation request before the wallet submits a VP token.

Link copied to clipboard

Opaque presentation preview handle. It is valid only for the wallet that created it.

Link copied to clipboard

Result of resolving and validating an OpenID4VP request for presentation preview.

Link copied to clipboard
data class MobileWalletPresentationRequestContext(val clientId: String, val verifierMetadata: MobileWalletVerifierMetadata?, val requestAuthentication: MobileWalletRequestAuthentication, val responseUri: String?, val state: String?, val nonce: String?, val responseEncryption: MobileWalletResponseEncryption)

Partial request context retained when an OpenID4VP request is invalid.

Link copied to clipboard
data class MobileWalletPresentationRequestInfo(val clientId: String, val verifierMetadata: MobileWalletVerifierMetadata?, val requestAuthentication: MobileWalletRequestAuthentication, val responseUri: String?, val state: String?, val nonce: String, val responseEncryption: MobileWalletResponseEncryption, val transactionData: List<MobileWalletTransactionDataItem> = emptyList(), val responseMode: String? = null)

Verifier and transaction metadata extracted from a presentation request.

Link copied to clipboard

Result of answering an OpenID4VP presentation request.

Link copied to clipboard

Reader authentication state of a presentation request.

Link copied to clipboard

Authentication established for an OpenID4VP Authorization Request or Request Object.

Link copied to clipboard

Response-encryption state selected for an OpenID4VP presentation request.

Link copied to clipboard

Selected platform registry entry no longer maps to a current wallet credential.

Link copied to clipboard
data class MobileWalletTransactionDataItem(val type: String, val displayName: String, val credentialQueryIds: List<String>, val supportedFields: List<String>, val rawJson: String, val detailsJson: String)

Decoded transaction_data item attached to a presentation request.

Link copied to clipboard
data class MobileWalletTransactionDataProfile(val type: String, val displayName: String = type, val fields: List<String> = emptyList())

Transaction data profile accepted by the mobile wallet.

Link copied to clipboard
data class MobileWalletVerifierMetadata(val display: MobileWalletMetadataDisplay?, val clientUri: String?, val policyUri: String?, val termsOfServiceUri: String?)

Typed OpenID4VP verifier metadata needed by mobile presentation-review interfaces.

Link copied to clipboard
sealed interface ProximityAction

User or host action accepted by a proximity session.

Link copied to clipboard
sealed interface ProximityActionResult

Deterministic result of dispatching an action.

Link copied to clipboard

Action kinds used for state-derived UI affordances without constructing an action payload.

Link copied to clipboard
data class ProximityApplicationAuthorization(val profileId: String, val displayTitle: String, val details: List<ProximityApplicationAuthorizationDetail>, val compatibleCredentialIds: Set<String>, val deviceSignedElements: List<ProximityDeviceSignedElement> = emptyList(), val resultBindingDigestBase64Url: String)

Validated output of one recognized, versioned wallet application profile.

Link copied to clipboard
data class ProximityApplicationAuthorizationDetail(val id: String, val label: String, val value: String)

One locally validated, display-safe application authorization value.

Link copied to clipboard
data class ProximityApplicationCredential(val credentialId: String, val docType: String, val label: String?)

One candidate made available to an application-profile adapter.

Link copied to clipboard
data class ProximityApplicationDocumentRequest(val requestIndex: Int, val docType: String, val requestedElements: List<ProximityRequestedElement>)

Dependency-free parsed request facts supplied to application-profile adapters.

Link copied to clipboard

Versioned wallet-owned interpreter for application-specific request data.

Link copied to clipboard
data class ProximityApplicationProfileInput(val deviceRequestBase64Url: String, val credentials: List<ProximityApplicationCredential>, val requestedDocuments: List<ProximityApplicationDocumentRequest>, val readerAuthentication: List<ProximityReaderAuthentication>)

Exact request and compatible candidates supplied to a versioned application profile.

Link copied to clipboard

Ordered registry requiring at most one profile to recognize a request.

Link copied to clipboard

Result of asking one application profile to recognize and validate the exact request.

Link copied to clipboard
sealed interface ProximityApproval

How the holder approves data release. Transport selection remains independent.

Link copied to clipboard

Timing of the holder's deliberate approval for a locally completed response.

Link copied to clipboard

Bearer selection policy kept separate from the app-visible session state.

Link copied to clipboard
data class ProximityBleConfiguration(val roles: ProximityBleRoles = ProximityBleRoles.Dual, val bearerPolicy: ProximityBleBearerPolicy = ProximityBleBearerPolicy.PreferL2cap)

Complete BLE bearer configuration; it cannot exist unless BLE retrieval is selected.

Link copied to clipboard

BLE roles a holder may prepare for one in-person presentation.

Link copied to clipboard
data class ProximityCapabilities(val profile: ProximityProfile, val session: ProximitySessionConfiguration, val qrEngagement: ProximityTransportCapability, val nfcEngagement: ProximityTransportCapability, val bluetoothLowEnergy: ProximityTransportCapability, val nfcRetrieval: ProximityTransportCapability, val nfcV2Retrieval: ProximityTransportCapability, val wifiAwareRetrieval: ProximityTransportCapability)

Side-effect-free prerequisite snapshot. No radio resource or session material has been created.

Link copied to clipboard

Result returned by an application-owned certificate-revocation source.

Link copied to clipboard
data class ProximityConfiguration(val profile: ProximityProfile = ProximityProfile.Iso180135Edition2Dis2026, val session: ProximitySessionConfiguration = ProximitySessionConfiguration.Qr(), val readerPolicy: ProximityReaderPolicy = ProximityReaderPolicy.AllowAnonymousOrUntrusted, val deviceAuthenticationPolicy: ProximityDeviceAuthenticationPolicy = ProximityDeviceAuthenticationPolicy.SignatureOnly, val readerTrustEvaluator: ProximityReaderTrustEvaluator = UnconfiguredProximityReaderTrustEvaluator, val credentialStatusEvaluator: ProximityCredentialStatusEvaluator = UnconfiguredProximityCredentialStatusEvaluator, val applicationProfiles: ProximityApplicationProfileRegistry = ProximityApplicationProfileRegistry.Empty, val maximumMessageBytes: Int, val approval: ProximityApproval = ProximityApproval.AskEachTime)

Immutable configuration for one single-use proximity session.

Link copied to clipboard

Shared standards-profile, path, revocation, RICAL, and product-trust evaluator.

Link copied to clipboard
data class ProximityConnectedRoute(val engagement: ProximityEngagementMethod, val transport: ProximityTransport)

Actual connected route, independent of the methods configured or advertised.

Link copied to clipboard
data class ProximityCredentialOption(val credentialId: String, val label: String?, val issuer: String?, val validUntil: Instant, val deviceAuthentication: ProximityDeviceAuthenticationMethod, val requestedElements: List<ProximityRequestedElement>)

Eligible wallet credential projected without raw credential or key material.

Link copied to clipboard

Current status of a credential at the explicit application status boundary.

Link copied to clipboard

Explicit, optionally network-backed status boundary. The SDK itself performs no hidden lookup.

Link copied to clipboard
data class ProximityCredentialStatusInput(val credentialId: String, val docType: String, val issuer: String?, val validFrom: Instant, val validUntil: Instant)

Metadata-only status input; raw credential values are not handed to network providers.

Link copied to clipboard
fun interface ProximityCrlFetcher

Application-owned transport for explicit CRL distribution-point requests.

Link copied to clipboard
sealed interface ProximityCrlFetchResult

A complete DER CRL retrieved by the application's network/cache policy.

Link copied to clipboard

Certificates whose CRL status the hosting application requires.

Link copied to clipboard

Holder authentication frozen for a reviewed document response.

Link copied to clipboard

Explicit allowlist and preference applied before an immutable review is constructed.

Link copied to clipboard
data class ProximityDeviceSignedElement(val credentialId: String, val namespace: String, val elementIdentifier: String, val valueCborBase64Url: String)

Generic device-signed value proposed by a recognized application profile.

Link copied to clipboard
data class ProximityDocumentReview(val requestIndex: Int, val docType: String, val credentialOptions: List<ProximityCredentialOption>, val requiredElements: Set<ProximityElementReference> = emptySet())

One satisfiable document request in an immutable review snapshot.

Link copied to clipboard
data class ProximityDocumentSubmission(val requestIndex: Int, val credentialId: String, val disclosedElements: Set<ProximityElementReference>)

Credential and disclosure choice for exactly one reviewed document request.

Link copied to clipboard
data class ProximityElementReference(val namespace: String, val elementIdentifier: String)

Dependency-free namespace and element identifier.

Link copied to clipboard
sealed interface ProximityEngagement

Prepared engagement presented by the host UI.

Link copied to clipboard

Engagement that actually won the reader connection.

Link copied to clipboard
data class ProximityError(val category: ProximityErrorCategory, val code: String, val message: String, val recovery: ProximityRecovery)

Stable, non-sensitive failure exposed by the Wallet SDK.

Link copied to clipboard

Layer-stable error category; raw dependency and platform exceptions are never exposed.

Link copied to clipboard
data class ProximityHolderAuthorization(val reviewId: ProximityReviewId, val exchange: Int, val requests: List<ProximityHolderAuthorizationRequest>)

Exact holder-key authorization context for a frozen approved submission.

Link copied to clipboard
data class ProximityHolderAuthorizationRequest(val requestIndex: Int, val credentialId: String, val deviceAuthentication: ProximityDeviceAuthenticationMethod)

One protected-key operation required by a frozen approved document response.

Link copied to clipboard

Privacy-safe outcome of a system surface performed by the host application.

Link copied to clipboard

Conventional NFC Forum handover selection; provisional NFCv2 has its own session variant.

Link copied to clipboard
data class ProximityNfcRetrievalConfiguration(val maximumCommandDataLength: Int, val maximumResponseDataLength: Int)

Complete conventional NFC retrieval length contract.

Link copied to clipboard

Result of an explicit holder decision made before connection.

Link copied to clipboard

Opaque one-use approval. Hosts may display or cancel it, but cannot construct or expand its scope.

Link copied to clipboard

Versioned mdoc interoperability boundary selected for one proximity session.

Link copied to clipboard
data class ProximityPurposeHint(val type: String, val code: Int, val readerAsserted: Boolean = true)

Reader-asserted purpose hint associated with the selected use case.

Link copied to clipboard
data class ProximityReaderAuthentication(val scope: ProximityReaderAuthenticationScope, val authenticationIndex: Int = 0, val outcome: ProximityReaderAuthenticationOutcome)

Display-safe reader authentication and trust fact for holder consent.

Link copied to clipboard

Authentication result whose trust payload exists only after successful verification.

Link copied to clipboard

Scope covered by one reader-authentication statement.

Link copied to clipboard

Scope-aware summary for the reviewed documents; raw statement evidence remains available.

Link copied to clipboard

Cryptographic validity of reader authentication, kept separate from trust.

Link copied to clipboard

Result of validating the reader certificate path against explicitly configured trust material.

Link copied to clipboard
data class ProximityReaderEvidence(val scope: ProximityReaderAuthenticationScope, val authenticationIndex: Int = 0, val certificateChainDerBase64Url: List<String>)

Exact verified reader evidence supplied to an application-owned trust policy.

Link copied to clipboard

Policy applied after reader authentication and trust facts have been evaluated.

Link copied to clipboard

Explicit application boundary for OCSP, CRL, or another reader-certificate status source.

Link copied to clipboard

Revocation behavior selected for reader trust.

Link copied to clipboard

Reader-certificate revocation fact, kept independent from path validity and product trust.

Link copied to clipboard
data class ProximityReaderTrustAnchor(val certificateDerBase64Url: String, val displayName: String? = null)

Explicit application-provisioned Reader CA certificate and optional display label.

Link copied to clipboard
data class ProximityReaderTrustAnchorPreview(val displayName: String, val subject: String, val issuer: String, val sha256Fingerprint: String, val validFrom: Instant, val validUntil: Instant, val profile: String = "X.509 CA certificate")

Display-safe preview of an imported Reader CA.

Link copied to clipboard
data class ProximityReaderTrustConfiguration(val trustAnchors: List<ProximityReaderTrustAnchor> = emptyList(), val ricalProviders: List<ProximityRicalConfiguration> = emptyList(), val revocationPolicy: ProximityReaderRevocationPolicy = ProximityReaderRevocationPolicy.NotChecked, val requiredIacaIssuerCertificateDerBase64Url: String? = null)

Immutable shared reader-trust policy.

Link copied to clipboard
data class ProximityReaderTrustDecision(val state: ProximityReaderTrustState, val certificatePath: ProximityReaderCertificatePathState = ProximityReaderCertificatePathState.NotEvaluated, val revocation: ProximityReaderRevocationState = ProximityReaderRevocationState.NotChecked, val rical: ProximityRicalState = ProximityRicalState.NotEvaluated, val displayName: String? = null, val reason: String? = null)

Trust decision supplied by the hosting wallet application.

Link copied to clipboard

Explicit trust boundary for verified reader certificate evidence.

Link copied to clipboard

Kind of public reader-trust material represented by an import preview.

Link copied to clipboard
data class ProximityReaderTrustImportPreview(val kind: ProximityReaderTrustImportKind, val sourceName: String, val readerAuthorities: List<ProximityReaderTrustAnchorPreview>, val ricalProviders: List<ProximityRicalPreview>, val resultingSettings: ProximityReaderTrustSettings)

Import review which must be explicitly confirmed before its settings are persisted.

Link copied to clipboard
data class ProximityReaderTrustSettings(val readerPolicy: ProximityReaderPolicy = ProximityReaderPolicy.AllowAnonymousOrUntrusted, val trustAnchors: List<ProximityStoredReaderTrustAnchor> = emptyList(), val ricalProviders: List<ProximityStoredRicalProvider> = emptyList())

Complete holder-owned Reader Authentication settings snapshot.

Link copied to clipboard

Strict codec and importer for holder-owned Reader Authentication settings.

Link copied to clipboard

Trust outcome after valid reader authentication.

Link copied to clipboard

Recovery action supported by the phase that reported a failure.

Link copied to clipboard

Normalized host remediation suggested by a side-effect-free prerequisite check.

Link copied to clipboard
data class ProximityRequestedElement(val namespace: String, val elementIdentifier: String, val intentToRetain: Boolean, val satisfiesRequestedElements: List<ProximityElementReference> = emptyList())

One requested or alternative data element shown during consent.

Link copied to clipboard
data class ProximityRetrievalOptions(val bluetoothLowEnergy: ProximityBleConfiguration? = ProximityBleConfiguration(), val nfc: ProximityNfcRetrievalConfiguration? = null, val wifiAware: Boolean = false)

Nonempty conventional retrieval plan used by QR or NFC handover.

Link copied to clipboard
data class ProximityReview(val reviewId: ProximityReviewId, val exchange: Int, val documents: List<ProximityDocumentReview>, val readerAuthentication: List<ProximityReaderAuthentication>, val useCases: List<ProximityUseCase>, val applicationAuthorizations: List<ProximityApplicationAuthorization>)

Immutable holder-consent snapshot bound to one exchange and exact request.

Link copied to clipboard
data class ProximityReviewId(val value: String)

Opaque identity issued by the wallet for one consent review.

Link copied to clipboard

Why a request needs a fresh review.

Link copied to clipboard
data class ProximityRicalConfiguration(val providerId: String, val acceptedTypes: Set<String>, val providerTrustAnchors: List<ProximityRicalProviderTrustAnchor>, val acceptedSignerCertificatePolicyOids: Set<String>, val signerRevocationPolicy: ProximityRicalSignerRevocationPolicy = ProximityRicalSignerRevocationPolicy.NotChecked, val establishReaderTrust: Boolean = false, val provider: ProximityRicalProvider, val constraintEvaluator: ProximityRicalConstraintEvaluator? = null)

Immutable policy for one explicitly configured RICAL provider.

Link copied to clipboard

Application-owned evaluator for ecosystem-specific RICAL trust-constraint semantics.

Link copied to clipboard
data class ProximityRicalPreview(val providerId: String, val providerName: String, val type: String, val issuedAt: Instant, val nextUpdate: Instant?, val validUntil: Instant?, val establishesReaderTrust: Boolean)

Display-safe preview of a validated static RICAL provider.

Link copied to clipboard

Supplies the latest application-selected RICAL without an implicit SDK network request.

Link copied to clipboard

Exact active RICAL supplied by an application-owned provider boundary.

Link copied to clipboard
data class ProximityRicalProviderTrustAnchor(val certificateDerBase64Url: String)

Explicit application-provisioned root for one RICAL provider.

Link copied to clipboard
data class ProximityRicalSignerEvidence(val providerId: String, val certificateChainDerBase64Url: List<String>)

Exact RICAL signer evidence passed to an application-owned revocation source.

Link copied to clipboard

Explicit application boundary for RICAL-signer OCSP, CRL, or another status source.

Link copied to clipboard

Revocation behavior selected for one RICAL provider's signer certificate.

Link copied to clipboard

Optional RICAL evidence fact. A match never establishes product trust by itself.

Link copied to clipboard
data class ProximityRicalTrustConstraint(val valuesCborBase64Url: Map<String, String>)

One RICAL trust constraint, with each value CBOR-encoded as unpadded Base64URL.

Link copied to clipboard

Runtime evidence is independent of whether the host selected a method.

Link copied to clipboard

Single-use, wallet-owned proximity presentation session.

Link copied to clipboard

Owns engagement and compatible retrieval together for one single-use session.

Link copied to clipboard

A wallet-verified request that can be approved before a new connection. This is not permission to share.

Link copied to clipboard

Display-only receipt. Its data is not an authorization token and cannot be replayed.

Link copied to clipboard
sealed interface ProximityState

Public Wallet SDK session state; each variant carries only data valid for that phase.

Link copied to clipboard
data class ProximityStoredReaderTrustAnchor(val certificateDerBase64Url: String, val displayName: String)

Persisted Reader CA trust material selected by the holder.

Link copied to clipboard
data class ProximityStoredRicalProvider(val providerId: String, val acceptedTypes: Set<String>, val providerTrustAnchorsDerBase64Url: List<String>, val acceptedSignerCertificatePolicyOids: Set<String>, val establishReaderTrust: Boolean, val signedRicalBase64Url: String)

Persisted, already validated static qualification RICAL provider.

Link copied to clipboard
data class ProximitySubmission(val documents: List<ProximityDocumentSubmission>, val continueAfterResponse: Boolean = false)

Complete holder choice for the current review; it is rebound and revalidated before response generation.

Link copied to clipboard

Bearer actually carrying the connected session.

Link copied to clipboard
data class ProximityTransportCapability(val implemented: Boolean, val profilePermitted: Boolean, val runtime: ProximityRuntimeObservation, val selected: Boolean)

One transport's independent support dimensions.

Link copied to clipboard
data class ProximityUseCase(val index: Int, val mandatory: Boolean, val documentRequestIndices: List<Int>, val purposeHints: List<ProximityPurposeHint>)

Selected edition-2 use case projected for review.

Registry used when the current platform or application has no registration integration.

Default status policy relies on the locally verified MSO validity interval only.

Default policy: validity is reported, but no reader certificate becomes trusted implicitly.

Link copied to clipboard
data class WalletAttestationConfig(val baseUrl: String, val attesterPath: String, val bearerToken: String = "", val hostHeader: String = "")

OAuth 2.0 client-attestation configuration used during mobile issuance.

Properties

Link copied to clipboard

Legal host actions derived exclusively from the current session state.