Two types of Cloudflare blockers
QA.tech traffic identifies as QATechBot. Use the sections below based on which blocker you hit.
WAF and firewall rules
When Cloudflare blocks at the edge, the browser often never receives your app—or gets a Cloudflare error page instead. Configure this in the dashboard under Security → WAF (custom rules, managed rules) and related firewall / bot settings.On the Free plan, you cannot allow a single verified bot—you can only
allow all verified bots at once, or match traffic another way. See Free
plan limitations below.
Approaches at the edge
Free plan limitations
Cloudflare exposes different bot signals by plan:
So on Free you either allow every Cloudflare-verified bot, match QATechBot by User-Agent, or combine User-Agent with
cf.client.bot when QA.tech traffic is verified.
See Verifying QATechBot traffic for IP allowlists, reverse DNS, and Web Bot Auth.
Option 1: Allow all verified bots (recommended on Free)
Create a WAF custom rule that skips remaining rules for any Cloudflare-verified bot (including QATechBot when verified):1
Open WAF custom rules
In the Cloudflare dashboard, go to Security → WAF → Custom rules.
2
Create the rule
Expression:Action: Skip → All remaining custom rulesPlace at: First (top of the list).
3
Save and deploy
Save the rule. Changes usually propagate within a few minutes.
Option 2: Allow QATechBot by User-Agent only
If you only want to allow traffic that identifies as QATechBot (and accept Free-plan limits on per-bot verification):1
Create a WAF custom rule
Expression:Action: Skip → All remaining custom rulesPlace at: First
Option 3: User-Agent and verified bot (best security on Free)
Require both the QATechBot User-Agent and Cloudflare verified-bot status:1
Create a WAF custom rule
Expression:Action: Skip → All remaining custom rulesPlace at: First
Enterprise: target specific bots
On Enterprise, you can use Bot Management fields instead of allowing all verified bots:cf.bot_management.verified_botcf.verified_bot_category
Cloudflare Turnstile in your application
Turnstile is a CAPTCHA-style widget you embed in HTML (login, signup, checkout, etc.). It is not configured with WAF custom rules. QA.tech cannot “skip” production Turnstile from the Cloudflare dashboard alone—you need an application-level strategy.What testers usually see
- The rest of the page renders normally.
- A compact “Verify that you are human” (or invisible) challenge sits on the form QA.tech is trying to submit.
- Tests fail on submit or timeout waiting for the widget.
What to do instead
Pick one or combine approaches below. All of these are application changes—not Cloudflare dashboard settings.Bypass Turnstile with a shared header
On staging or other non-production URLs shared with QA.tech, skip rendering and validating Turnstile when a request carries a secret header only your team and QA.tech know.- Store a secret in your environment (e.g.
CAPTCHA_BYPASS_SECRET)—never commit it or expose it in client-side code. - In your app, do not render the widget and skip server-side siteverify when the header matches:
- In QA.tech, send the same header on every request—for example via Custom Headers on a device preset:
Allow QA.tech traffic server-side
If you prefer not to use a shared header, bypass Turnstile only when you can confidently identify QA.tech—for example:- Request comes from a QA.tech allowlisted IP
User-AgentcontainsQATechBot(see QA.tech Bot) and you validate IP or use other checks—not User-Agent alone on production
x-bypass-captcha.
Use Turnstile test keys (non-production)
Cloudflare provides dummy sitekeys and secret keys for automated testing—no real challenge, predictable pass/fail.1
Pick test credentials
For example, sitekey
1x00000000000000000000AA with secret
1x0000000000000000000000000000000AA always validates successfully.2
Wire keys per environment
In staging, preview, or QA.tech target environments, render the test
sitekey in your frontend and validate with the matching test secret on
your server. Keep production keys only in production.
Production secret keys reject dummy tokens from test sitekeys. You must
use the paired test secret key in the environment where test sitekeys are
rendered.
Related
QA.tech Bot
User-Agent format, IP verification, and Web Bot Auth
IP Access
Allowlist QA.tech egress IPs (helps edge blocking, optional app bypass)