Complete the registration ends here | The realm's accounts.allowSignUp is on, and the Interaction API serves it, the client is enabled and its hosted_flows name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: nothing is named yet: the identifier step, alone
- Ask for the address: the person types an address
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round gives the address: it is checked, normalised and kept, and never changes
- Count a registration start on the limiters: the start is counted
- Read who holds the address, for the mail: the holder is read
- Issue an 8-digit code and ask the capped sender to mail it: a new address: the code is queued
- Ask for the code: the person types the code from the mail
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round answers the code with the right one
- Compare the right answer with the held code, in constant time: the code is right
- Read the address's holder again, before the right code is taken: the code is taken: consumed, email_code joins the verified steps with no amr, audited as passed
- Read whether an account holds the address now: no account holds it: the new password is asked for
- Ask for a new password: the person types a new password
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the mailbox is proved: the address is read again before the password
- Read whether an account holds the address now: no account holds it, and the round brings a new password
- Check the new password against the realm's password policy: the policy accepts it
- Check the new password against the realm's breach list: the new password is not on the list, or the realm checks none
- Create the account in one database transaction: the account is created: new_password joins the verified steps with no amr, audited as passed
|
Help the person sign in to the account that holds the address ends here | The realm's accounts.allowSignUp is on, and the Interaction API serves it, the client is enabled and its hosted_flows name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: nothing is named yet: the identifier step, alone
- Ask for the address: the person types an address
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round gives the address: it is checked, normalised and kept, and never changes
- Count a registration start on the limiters: the start is counted
- Read who holds the address, for the mail: the holder is read
- Issue an 8-digit code and ask the capped sender to mail it: a new address: the code is queued
- Ask for the code: the person types the code from the mail
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round answers the code with the right one
- Compare the right answer with the held code, in constant time: the code is right
- Read the address's holder again, before the right code is taken: the code is taken: consumed, email_code joins the verified steps with no amr, audited as passed
- Read whether an account holds the address now: an account holds the address: the sign-in goes on with its first factor
|
Refuse a registration the realm or the client does not allow ends here | The realm does not allow sign-up, or the deployment runs no Interaction API, the client is gone or disabled, or its operator-set hosted_flows do not name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: the realm or the client does not allow sign-up: refused, audited as registration_closed
|
Continue elsewhere ends here | The realm does not allow sign-up, or the deployment runs no Interaction API, the client is gone or disabled, or its operator-set hosted_flows do not name register, the transport cannot serve identifier, email_code or new_password, or the engine lacks the ports, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: a step or a port is missing: the engine answers a redirect, and the transaction ends
|
Refuse a registration start over its cap ends here | The realm's accounts.allowSignUp is on, and the Interaction API serves it, the client is enabled and its hosted_flows name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: nothing is named yet: the identifier step, alone
- Ask for the address: the person types an address
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round gives the address: it is checked, normalised and kept, and never changes
- Count a registration start on the limiters: the start cap is full: refused, audited as rate_limited, nothing mailed
|
Refuse the round for the send caps ends here | The realm's accounts.allowSignUp is on, and the Interaction API serves it, the client is enabled and its hosted_flows name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: nothing is named yet: the identifier step, alone
- Ask for the address: the person types an address
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round gives the address: it is checked, normalised and kept, and never changes
- Count a registration start on the limiters: the start is counted
- Read who holds the address, for the mail: the holder is read
- Issue an 8-digit code and ask the capped sender to mail it: a tier that answers 429 is full: nothing is mailed or kept, send_capped is audited
|
End the transaction for an address taken meanwhile ends here | The realm's accounts.allowSignUp is on, and the Interaction API serves it, the client is enabled and its hosted_flows name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: nothing is named yet: the identifier step, alone
- Ask for the address: the person types an address
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round gives the address: it is checked, normalised and kept, and never changes
- Count a registration start on the limiters: the start is counted
- Read who holds the address, for the mail: the holder is read
- Issue an 8-digit code and ask the capped sender to mail it: a new address: the code is queued
- Ask for the code: the person types the code from the mail
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the round answers the code with the right one
- Compare the right answer with the held code, in constant time: the code is right
- Read the address's holder again, before the right code is taken: the code is taken: consumed, email_code joins the verified steps with no amr, audited as passed
- Read whether an account holds the address now: no account holds it: the new password is asked for
- Ask for a new password: the person types a new password
- Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: both allow it
- Ask whether the registration owes the bot challenge (rule 5): no challenge is owed
- Go on from where the transaction is: the mailbox is proved: the address is read again before the password
- Read whether an account holds the address now: no account holds it, and the round brings a new password
- Check the new password against the realm's password policy: the policy accepts it
- Check the new password against the realm's breach list: the new password is not on the list, or the realm checks none
- Create the account in one database transaction: another account took the address meanwhile: nothing is written, audited as registration_conflict
|
Refuse the round while a store is down ends here | The realm does not allow sign-up, or the deployment runs no Interaction API, the client is gone or disabled, or its operator-set hosted_flows do not name register, the transport serves identifier, email_code and new_password, the registration starts of this client and this IP are under their cap, the send caps let the code through, or drop its mail quietly at the address-and-IP tier, neither the realm's botChallenge.requiredAtSignUp nor the client's registration_challenge is on, the transport does not serve the captcha step, the provider can issue a challenge and check its answer, no account of the realm holds the address, the policy accepts it, and the realm's breach list does not hold it or the realm checks none, nobody took the address since the round read it | - Ask whether the registration can be served at all: every step is served
- Read whether the realm and the client both allow sign-up: it fails, because the realm or the client cannot be read
|