Recovery

Goal:

Restore access to an identity when control keys are lost or compromised.

Inputs:

Steps:

  1. Validate recovery proof
  2. Update keys
  3. Rebuild keys_root` and recompute commitment (same as rotation).
  4. Emit StateTransition with diff = "recovery".
  5. Trees are recomputed; new identity_commitment is derived.
  6. Recovery event is logged in identity_history and internal audit trail.

Outputs: