IGPAPI
    Preparing search index...

    Variable ChallengeRecaptchaScreenConst

    ChallengeRecaptchaScreen: ScreenDefinition<
        "ChallengeRecaptcha",
        "screen",
        {
            flow: {
                authenticity_product?: number;
                challenge_root_id?: string;
                enrollment_id?: number;
                external_flow_id?: number;
                hashed_ui_state?: string;
                ig_container_module?: string;
                is_blocking?: number;
                ixt_initial_screen_id?: string;
                location?: string;
                trigger_event_type?: string;
                trigger_session_id?: string;
                v2_polling?: number;
            };
            serverParams: {
                challenge_root_id?: string;
                INTERNAL__latency_qpl_instance_id?: string;
                INTERNAL__latency_qpl_marker_id: number;
                persisted_data?: string;
            };
            siteKey: string;
            url: string;
        },
        {
            flow: {
                authenticity_product?: number;
                challenge_root_id?: string;
                enrollment_id?: number;
                external_flow_id?: number;
                hashed_ui_state?: string;
                ig_container_module?: string;
                is_blocking?: number;
                ixt_initial_screen_id?: string;
                location?: string;
                trigger_event_type?: string;
                trigger_session_id?: string;
                v2_polling?: number;
            };
            serverParams: {
                challenge_root_id?: string;
                INTERNAL__latency_qpl_instance_id?: string;
                INTERNAL__latency_qpl_marker_id: number;
                persisted_data?: string;
            };
            siteKey: string;
            url: string;
        },
        {
            flow: {
                authenticity_product?: number;
                challenge_root_id?: string;
                enrollment_id?: number;
                external_flow_id?: number;
                hashed_ui_state?: string;
                ig_container_module?: string;
                is_blocking?: number;
                ixt_initial_screen_id?: string;
                location?: string;
                trigger_event_type?: string;
                trigger_session_id?: string;
                v2_polling?: number;
            };
            serverParams: {
                challenge_root_id?: string;
                INTERNAL__latency_qpl_instance_id?: string;
                INTERNAL__latency_qpl_marker_id: number;
                persisted_data?: string;
            };
            siteKey: string;
            url: string;
        },
        never,
        MobileNavigation,
        ChallengeRecaptchaActions,
        Record<never, never>,
        never,
        never,
    > = ...

    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 screens.challenge.recaptcha.jpg, the screen as the old class was observed on a test account.

    Unverified by recording. No recording of the Android 451 app on this step exists: the answer is the challenge module's own UFAC sample. A recording of the Android app on the UFAC reCAPTCHA would settle the page and the submit.