Skip to main content
Question

recaptcha Backend Validation Fails with Browser_Error

  • September 23, 2026
  • 0 replies
  • 8 views

Atul_p
Forum|alt.badge.img+1

Hello All ,

Issue - reCAPTCHA Enterprise Policy-Based Challenge consistently returns BROWSER_ERROR for some users

We are using reCAPTCHA Enterprise Policy-Based Challenge on an ASP.NET Web Forms application.

Site key integration type: Policy-Based Challenge
Action: confirm
Threshold: 0.3

For some production users, grecaptcha.enterprise.execute() returns a token successfully, but when we create the server-side assessment at backend code , Google returns:

TokenProperties.Valid = false
InvalidReason = BROWSER_ERROR

Other fields are:

Score = 0
Challenge = UNSPECIFIED

One affected user received the same result repeatedly over several hours rather than just once.

Questions:

  1. What exactly causes BROWSER_ERROR for Policy-Based Challenge? We did see that its not only for Policy-Based but also for a Score based also we do get some times.
  2. If execute() returns a token but the subsequent assessment returns BROWSER_ERROR, what browser/network communication is failing?
  3. Is there a recommended list of Google endpoints that must be reachable?
  4. Is www.recaptcha.net an appropriate alternative for this scenario? We using https://www.google.com/recaptcha/enterprise.js?render= in aspx page in javascript and then below 

    grecaptcha.enterprise.ready(function () {

                    grecaptcha.enterprise.execute('Key', { action: 'confirm' })
            .then(function (token) {
                document.getElementById('<%= hdnRecaptchaToken.ClientID %>').value = token;
               
                document.getElementById('formConfirm').submit();

                        }).catch(function (err) {
                            document.getElementById('lblErrorMessage').innerText = '<%=hdnRecaptchaErrorMessage.Value%>';
                        });

    }); Then in backend we use ServiceJson to connect and below code to create assesment where we get the issue only for few users , most of the other users it works correctly 

    var request = new CreateAssessmentRequest
    {
        Parent = new ProjectName(projectId).ToString(),
        Assessment = assessment
    };

    var response = await client.CreateAssessmentAsync(request);

  5. Is there any server-side field that can tell us whether a challenge was actually displayed before the BROWSER_ERROR? Here in the response we get the challenge as Not Specified
  6. What is Google's recommended recovery flow when repeated fresh-token retries still produce BROWSER_ERROR?
  7. Are there known issues with Chrome on Linux or browser/network security products that can produce this result?   Appreciate any quick help on this. Thanks