Package-level declarations
Settings: which issuers you accept (TrustedIssuers), which verifiers a wallet names (TrustedVerifiers), where credentials come from (IssuerConfig), who you are to wallets (ReaderIdentityConfig), and a check before sharing (ShareGuard).
Types
Access-token policy for OpenID4VCI issuance.
Points the wallet at the integrator's OpenID4VCI issuance endpoint.
A display name for an issuer root certificate (PEM), e.g. "Example Licensing Authority".
In-person presentment (QR engagement + BLE).
The verifier's own reader-auth signing identity. privateKeyBase64 is the request-signing EC private key (CBOR-encoded, base64); certChainPem is its certificate chain, leaf-first, whose root a holder trusts via TrustConfig.readerRical / TrustConfig.readerRootsPem.
Integrator-supplied configuration. Trust anchors and issuer details are injected here, never hardcoded in the SDK.
A check the wallet runs after the holder approves sharing and before anything leaves the phone, for the credential types it names. The optional sdk-face module supplies the one customers use: a selfie liveness check plus a face match against the credential's own photo ("prove it's you").
Outcome of a ShareGuard check.
Trust anchors for both roles. As a verifier, issuerRootsPem validates the credential's issuer chain; as a holder, readerRootsPem authenticates the reader before releasing data. Both are runtime-provisioned and rotatable.
The issuers a verifier app accepts: credentials signed by anyone else are rejected.
The verifiers a wallet app names on its consent sheet ("Verify is asking for…"). Requests from anyone else are shown as an unknown verifier; the holder can still decide.