Package-level declarations

Types

Link copied to clipboard
@Serializable
data class IdentityBackupReference(val providerId: String, val recordId: String)

A safe identifier for a backup; it carries no signing secret or authorization.

Link copied to clipboard
data class IdentityCustodyReceipt(val keyReference: String, val publicJwk: String)

Destination evidence, verified against the original public key before recording custody.

Link copied to clipboard
@Serializable
data class IdentityCustodyReference(val custodianId: String, val keyReference: String)

A public reference to an additional private-key custodian; not a recovery record.

Link copied to clipboard

An explicitly trusted destination that receives a copy of the private signing key. This is key custody, not portable identity recovery or remote signing.

Link copied to clipboard

A trusted integration's structured failure; never includes record bytes or provider credentials.

Link copied to clipboard

Actionable provider failures. Unknown integration errors remain retryable without exposing their messages.

Link copied to clipboard

Secret bytes crossing the trusted provider boundary. Never log or include them in UI/analytics.

Link copied to clipboard

Trusted recovery integration. Implementations must protect secret records in transit and at rest, scope access to the intended user/application, and make repeated writes of the same ID idempotent. A local write must not be reported as verified cloud delivery.

Link copied to clipboard
data class IdentityRecoveryProviderStatus(val id: String, val displayName: String, val availability: RecoveryAvailability)

Current status of one configured provider, including providers that cannot offer a backup.

Link copied to clipboard

Does not erase an operational software signing key; it controls the additional recovery record only.

Link copied to clipboard
@Serializable
sealed interface RecoveryAvailability

Current provider prerequisites. Availability is rechecked when executing an option.

Link copied to clipboard

Minimum evidence required before backup-dependent activation or local-record disposal.

Link copied to clipboard

Protection of the recovery record, independent of signing-key hardware protection.

Link copied to clipboard
@Serializable
enum RecoveryReceipt : Enum<RecoveryReceipt>

Evidence returned by a backup operation; OS submission is not proof of remote durability.

Link copied to clipboard
@Serializable
enum RecoveryScope : Enum<RecoveryScope>

Delivery scope supported by a registered integration.

Link copied to clipboard
@Serializable
data class SigningIdentity(val id: String, val keyId: String, val did: String, val publicJwk: String, val storage: SigningIdentityKeyStorage, val authorization: KeyUseAuthorizationPolicy, val keyFacts: PlatformKeyFacts, val recovery: SigningIdentityRecoveryState = SigningIdentityRecoveryState.Disabled, val custody: List<IdentityCustodyReference> = emptyList())

Public identity details. Never contains a seed, private key or database encryption key.

Link copied to clipboard

Attestation is a creation-time request, so challenges are never baked into wallet defaults.

Link copied to clipboard

Makes inheritance explicit without a nullable authorization policy.

Link copied to clipboard

SDK-issued backup choice using retained recovery material or an exportable signing key.

Link copied to clipboard
data class SigningIdentityConfiguration(val recoveryProviders: List<IdentityRecoveryProvider> = emptyList(), val keyCustodians: List<IdentityKeyCustodian> = emptyList(), val authorization: SigningIdentityAuthorization = SigningIdentityAuthorization.WalletDefault, val policy: SigningIdentityKeyPolicy = SigningIdentityKeyPolicy.GeneralPurpose, val platform: PlatformKeyConfiguration = PlatformKeyConfiguration.Default, val alternativeAuthorizations: List<KeyUseAuthorizationPolicy> = emptyList(), val recoveryConfirmation: RecoveryConfirmation = RecoveryConfirmation.LocalAcceptance, val localRecoveryMaterial: LocalRecoveryMaterialRetention = LocalRecoveryMaterialRetention.Retain)

Identity configuration. Native recovery integrations are opt-in dependencies and registrations.

Link copied to clipboard

Complete SDK-issued creation option. It cannot be constructed, copied or deserialized by callers.

Link copied to clipboard

Complete creation choices, or explicit reasons why the current requirements cannot be met.

Link copied to clipboard

SDK-issued choice whose export policy and local key are rechecked before transfer.

Link copied to clipboard

Key-custody outcome. The local signing key is retained and recovery status is unaffected.

Link copied to clipboard

Stable failure categories; callers do not need native error-message parsing.

Link copied to clipboard

Requested lifecycle. Only compatible complete options can be passed to creation.

Link copied to clipboard

Constraints retained with the identity and applied to creation, backup and restoration.

Link copied to clipboard

Execution backend selected by a validated option. NativeStorage does not promise hardware.

Link copied to clipboard

Owns one wallet's active signing identity. Creation and recovery use complete SDK-issued options. Native/backup prerequisites are revalidated at execution. The encrypted database journals interrupted operations; a failed backup submission does not activate the new identity. Successful activation and initialization refresh the wallet's platform credential registration.

Link copied to clipboard

Creation and restore share one lifecycle result. Pending operations are resumable.

Link copied to clipboard

A record discovered through a configured provider; executable recovery options require validation.

Link copied to clipboard

One recovery discovery attempt, including routes that failed without hiding healthy candidates.

Link copied to clipboard
data class SigningIdentityRecoveryProviderFailure(val providerId: String, val providerName: String, val reason: SigningIdentityFailure, val message: String)

Redacted provider failure; no private record or native diagnostic is exposed.

Link copied to clipboard
@Serializable
sealed interface SigningIdentityRecoveryState

Backup status says what is known, separately from native signing-key protection.

Link copied to clipboard

SDK-issued restoration option tied to a validated record and current destination policy.

Link copied to clipboard
sealed interface SigningIdentityState

Identity availability is distinct from whether credential data exists in the wallet.