Delete
Delete removes the encrypted keyshare file from the device. That's it — no server call, no on-chain action.
How the example does it
- Android
- iOS / macOS
vault/.../session/VaultSessionManager.kt
suspend fun deleteKey(keyId: String) {
store.delete(keyId)
}
Vault/Session/VaultSessionManager.swift
func deleteKey(keyId: String) {
store.delete(keyId: keyId)
}
What delete does NOT do
- Tell the servers. The two cloud parties still hold their shares until their own GC runs.
- Touch the blockchain. The address, balance, and transaction history are unaffected.
- Prevent recovery. If you create a new wallet of the same
KeyType, it gets a differentkeyIdand a different address — and once this device's share is gone it can no longer sign for the old address. But the two cloud parties still hold their shares, so the original wallet can be rebuilt on a new or wiped device via key recovery.
If the goal is "this device should not be able to sign for this address anymore," deleteKey is sufficient. If the goal is "no party anywhere holds material for this address," that requires coordinating with whoever runs the servers.