The UFAC reCAPTCHA step: Instagram's "Confirm it's you to log in" page with a
reCAPTCHA widget, before the account-review flow proper. The screen keeps the
step's serverParams (derived from the controller payload once), the UFAC
state accumulated so far, and the widget the person solves — its siteKey
and iframe url — so its action sends the same bytes the legacy screen sent
and the caller can render the widget.
Reached only as an interruption of a request (OpenChallenge(error)): the
challenge's classification fetched the UFAC controller before this screen
opened, so its enter sends nothing. It has no back and is no step of a
trail.
Its one action, submitRecaptcha(captcha), posts the solved token to the
step's bot_captcha.submit action unchanged and continues into the step the
answer is — the image captcha, another UFAC screen, or the challenge's end; a
payload the library does not model is ChallengeStepNotModelledError. The
action runs only while this screen is on top; the interrupted action is never
retried.
Ships with screenshots/recaptcha.webp, the screen as the old class showed
it on a test account.
Unverified against the app. The Android 451 app's behavior on this step
is not known: the answer is the challenge module's own UFAC sample. Seeing
the Android app on the UFAC reCAPTCHA would settle the page and the submit.
The UFAC reCAPTCHA step: Instagram's "Confirm it's you to log in" page with a reCAPTCHA widget, before the account-review flow proper. The screen keeps the step's
serverParams(derived from the controller payload once), the UFAC state accumulated so far, and the widget the person solves — itssiteKeyand iframeurl— so its action sends the same bytes the legacy screen sent and the caller can render the widget.Reached only as an interruption of a request (
OpenChallenge(error)): the challenge's classification fetched the UFAC controller before this screen opened, so itsentersends nothing. It has nobackand is no step of a trail.Its one action,
submitRecaptcha(captcha), posts the solved token to the step'sbot_captcha.submitaction unchanged and continues into the step the answer is — the image captcha, another UFAC screen, or the challenge's end; a payload the library does not model isChallengeStepNotModelledError. The action runs only while this screen is on top; the interrupted action is never retried.Ships with
screenshots/recaptcha.webp, the screen as the old class showed it on a test account.Unverified against the app. The Android 451 app's behavior on this step is not known: the answer is the challenge module's own UFAC sample. Seeing the Android app on the UFAC reCAPTCHA would settle the page and the submit.
Guide: Challenges