Reset, step 2: stores the new record, kdf and keyset, archives the old ones and signs this device in.
What an approved reset will do. 409 recovery_not_ready (details.notBefore), 410 recovery_cancelled / session_expired.
Whether a recovery archive from a reset exists (SPEC.md §18)
Restore, step 3: the vault keys re-sealed to the current keyset, and the proof. 400 invalid_proof.
Restore, step 1: OPAQUE login against the archived record. Needs a token issued in the last 5 minutes.
Restore, step 2: 401 for a wrong old password, else the archived kdf, keyset and grants. Not retried on 401 (a failed verify counts towards the lockout), so call it with a fresh access token.
Changes when a secret expires (null: never); the token stays the same (SPEC §9).
StaticfromBuilds a client from discovery.
A one-time code that signs the browser in to the auth website (SPEC.md §16)