Files
upstream-ory-kratos/selfservice/flow/state_recovery_v2.mermaid
upstream-mirror c60cc7ca75
Some checks failed
CI / Run tests and lints (push) Failing after 29s
CI / Build CLI docs (push) Has been skipped
CI / Run Playwright end-to-end tests (mysql) (push) Failing after 3s
CI / Run Playwright end-to-end tests (postgres) (push) Failing after 2s
CI / Run Playwright end-to-end tests (sqlite) (push) Failing after 3s
CodeQL / Analyze (go) (push) Failing after 4s
CodeQL / Analyze (javascript) (push) Failing after 3s
Docker Image Scanners / scanners (push) Failing after 4s
Synchronize Issue Labels / Synchronize Issue Labels (push) Has been skipped
CI / Run end-to-end tests (postgres) (push) Failing after 19s
CI / Run end-to-end tests (sqlite) (push) Failing after 2s
CI / Run Playwright end-to-end tests (cockroach) (push) Failing after 2s
CI / Draft newsletter (push) Has been skipped
CI / Generate release (push) Has been skipped
CI / Pending approval Slack notification (push) Has been skipped
CI / Send newsletter (push) Has been skipped
snapshot of https://github.com/ory/kratos.git (master, 2026-09-15; blobs > 131072B omitted)
2026-09-15 21:19:12 +05:00

23 lines
1.3 KiB
Plaintext

stateDiagram-v2
[*] --> recovery_awaiting_address
recovery_awaiting_address --> recovery_awaiting_address_choice: provided any address which exists
recovery_awaiting_address --> recovery_awaiting_code: provided any address which does not exist - pretend we sent a code
recovery_awaiting_address --> recovery_awaiting_code: provided any address & auto-picked the only existing address
recovery_awaiting_address_choice --> recovery_confirming_address: chose a masked address
recovery_confirming_address --> recovery_awaiting_address_choice : choose different address
recovery_awaiting_address_choice --> recovery_awaiting_code: chose a masked address & it is the one provided initially (do not ask again for the full address)
recovery_confirming_address --> recovery_awaiting_code: provided the full address corresponding to the masked address
recovery_awaiting_code --> recovery_awaiting_code: clicked 'resend code'
recovery_awaiting_code --> passed_challenge: provided valid code
recovery_awaiting_code --> recovery_awaiting_address_choice : choose different address
passed_challenge --> [*]
note right of recovery_awaiting_code
If the address exists, a recovery code is sent to it.
Otherwise, an email mentioning that this is an unknown address may be sent depending on the configuration
end note