WalletBackupProvider

Interface for modular wallet backup storage providers.

This abstraction allows for different backup backends:

  • LocalFileBackupProvider: App files directory (auto-synced by Google Backup / iCloud)

  • CloudKeychainProvider: Direct iCloud Keychain / Google Backup API (future)

  • ExportFileProvider: User-managed export file (future)

  • ServerCloudProvider: MPC managed share (future) (mpc-client-sdk library)

  • EmailRecoveryProvider: Email-based recovery (future)

All providers store ENCRYPTED data - they never see plaintext keyshares. The encryption/decryption is handled by BackupEncryption before calling these methods.

Inheritors

Functions

Link copied to clipboard
abstract suspend fun deleteBackup(): Result<Unit>

Delete the backup.

Link copied to clipboard
abstract suspend fun hasBackup(): Boolean

Check if a backup exists.

Link copied to clipboard
abstract suspend fun loadBackup(): Result<ByteArray>

Load encrypted backup data.

Link copied to clipboard
abstract suspend fun saveBackup(encryptedData: ByteArray): Result<Unit>

Save encrypted backup data.