← Glossary / PerimeterX / HUMAN Challenge

What is PerimeterX / HUMAN Challenge?

PerimeterX / HUMAN Challenge is the active mitigation phase of HUMAN Security's anti-bot platform, triggered when passive telemetry fails to confirm a human user. It forces the client to execute a complex JavaScript payload that collects deep browser fingerprints, hardware concurrency metrics, and behavioral biometrics like mouse velocity. For scraping pipelines, hitting this challenge means your initial request signature failed, and your session is effectively burned unless you can perfectly simulate a real browser environment.

HUMAN SecuritySensor DataBehavioral BiometricsChallenge BypassJavaScript Execution
// 02 — definitions

Press and
hold.

The mechanics of HUMAN's active challenge, why it triggers, and what it actually measures while your scraper is waiting for a 200 OK.

Ask a DataFlirt engineer →

TL;DR

PerimeterX (now HUMAN) uses a two-tier detection model. The first tier evaluates passive network signals and the _px cookie. If the risk score exceeds the threshold, the edge returns a 403 with an HTML challenge page. This page executes a heavily obfuscated JavaScript payload that harvests hardware entropy, canvas hashes, and interaction data to generate a valid sensor payload.

01Definition & structure
The PerimeterX / HUMAN Challenge is an active interstitial page served when a client's request is deemed suspicious. Instead of returning the requested HTML, the server returns a 403 status code with a lightweight HTML document containing obfuscated JavaScript (typically px.js). This script must execute, collect client telemetry, and POST a valid sensor payload back to HUMAN's edge servers to receive a clearance cookie.
02How the sensor payload works
The sensor payload is a heavily encrypted JSON object containing dozens of environmental signals. It checks for headless browser artifacts (like cdc_adoQpoasnfa76pfcZLmcfl_), evaluates canvas rendering quirks, measures audio context DSP rounding, and logs installed fonts. If the environment looks synthetic, the payload is flagged, and the challenge fails silently.
03Behavioral biometrics
Unlike traditional CAPTCHAs that ask you to identify traffic lights, HUMAN relies heavily on behavioral biometrics. The "Press and Hold" challenge measures the exact trajectory, velocity, and acceleration of the mouse cursor as it moves to the button, as well as the micro-jitters that occur while the button is held down. Synthetic bezier curves generated by automation tools are easily detected.
04How DataFlirt handles it
We engineer our pipelines to never see the challenge. By routing traffic through high-trust residential ASNs, matching our TLS JA3 fingerprints to the advertised User-Agent, and managing _px cookies meticulously across distributed worker nodes, we ensure our requests are classified as human at the edge. Challenge avoidance is infinitely more scalable than challenge solving.
05The "Press and Hold" illusion
The visual element of the "Press and Hold" button is largely theater. The actual decision of whether you are a bot or a human was likely made milliseconds after the page loaded, based on the initial sensor payload. The button simply forces an interaction event to gather the final piece of behavioral telemetry needed to confirm the classification.
// 03 — the risk model

How HUMAN scores
your session.

HUMAN calculates a risk score based on network reputation, fingerprint consistency, and behavioral data. DataFlirt's telemetry models these exact weights to keep our fleet below the challenge threshold.

Risk Score = S = (w1 × IP_rep) + (w2 × FP_anomaly) + (w3 × Behavior)
A score above the target's configured threshold triggers the active challenge. Reverse-engineered detection model
Challenge Probability = P(C) = 1 / (1 + e-(S - threshold))
Probability scales non-linearly as the risk score approaches the threshold. Standard logistic classification
DataFlirt PX-Clearance Rate = R = sessions_without_challenge / total_sessions
Maintained at >99.2% across our retail scraping fleet as of v2026.5. Internal SLO
// 04 — challenge flow

Intercepting a
PX challenge.

A trace of a headless Playwright instance hitting a HUMAN-protected e-commerce target, triggering the challenge, and failing the sensor validation.

PlaywrightSensor Payload403 Forbidden
edge.dataflirt.io — live
CAPTURED
// initial request
GET /category/sneakers HTTP/2
cookie: _px3=missing
response: 403 Forbidden

// challenge page loaded
px.js: executing sensor collection
navigator.webdriver: true // fatal flag
canvas.hash: "4a9b2c...8f1d"
mouse.events: 0 // no movement detected

// sensor payload submission
POST /px/sensor_data
payload_size: 14.2 KB

// evaluation
px_score: 0.98 // classified as bot
response: 403 Forbidden
status: SESSION_BURNED
// 05 — detection vectors

What triggers the
challenge.

HUMAN relies on a combination of network anomalies and missing telemetry to trigger the active challenge. These are the primary failure modes for scrapers.

SAMPLE SIZE ·  ·  ·  ·    1.8M sessions
TARGETS ·  ·  ·  ·  ·  ·  Top 50 Retail
UPDATED ·  ·  ·  ·  ·  ·  2026-05-19
01

Missing or expired _px cookie

Immediate flag · Failing to present a valid session token
02

Headless browser leaks

High confidence · navigator.webdriver or missing plugins
03

IP ASN reputation

Network layer · Traffic originating from known datacenters
04

Inconsistent TLS signatures

Pre-DOM · JA3/JA4 mismatch with User-Agent
05

Lack of behavioral interaction

Post-load · Zero mouse movements or scroll events
// 06 — our stack

Avoid the challenge,

don't try to solve it.

Solving a PerimeterX challenge requires executing obfuscated JavaScript, simulating human mouse movements, and generating a valid sensor payload. It is computationally expensive and highly brittle. DataFlirt's architecture focuses entirely on challenge avoidance. By maintaining pristine residential IP reputations, coherent TLS fingerprints, and valid session cookies generated by real browsers, we keep our risk scores low enough that the challenge is never served.

PX Session Health

Live telemetry of a DataFlirt session navigating a HUMAN-protected target.

target.domain www.target-retail.com
ip.asn AS7922 Comcastresidential
tls.ja3 coherent
px.cookie_status valid_px3
px.risk_score 0.12
challenge.served false
pipeline.status extracting

Stay ahead of the pipeline

Data engineering
intel, weekly.

Anti-bot shifts, scraping infrastructure updates, dataset delivery patterns, and business outcomes from our pipelines. Short, technical, no fluff.

// 07 — FAQ

Common
questions.

About HUMAN Security, sensor payloads, behavioral biometrics, and how DataFlirt maintains access without solving challenges.

Ask us directly →
What is the difference between PerimeterX and HUMAN? +
PerimeterX rebranded to HUMAN Security in 2022. The core technology, including the _px cookie ecosystem and the sensor payload architecture, remains largely the same, though the behavioral analysis engine has grown more sophisticated. You will still see px.js and _px3 cookies in the wild.
Can I bypass the challenge using Puppeteer Stealth? +
Rarely, and not for long. Puppeteer Stealth patches basic leaks like navigator.webdriver, but HUMAN's sensor payload collects deep hardware metrics, canvas hashes, and behavioral data. If your mouse movements are synthetic or your canvas hash doesn't match your advertised GPU, the sensor payload will flag you, regardless of stealth plugins.
How long does a _px cookie last? +
It depends on the target's configuration, but typically ranges from a few minutes to a few hours. Once the cookie expires, the next request will be evaluated from scratch. If your IP reputation or fingerprint has degraded in the meantime, you will be served a challenge.
What is the 'Press and Hold' challenge? +
It's a behavioral trap, not a traditional CAPTCHA. When you press and hold the button, HUMAN is measuring the micro-fluctuations in your mouse movement, the exact duration of the click, and the hardware events firing in the background. It's designed to be trivial for a human but mathematically complex for a bot to simulate perfectly.
How does DataFlirt handle targets with strict HUMAN protection? +
We don't solve the challenge; we avoid it. We use high-quality residential proxies, real browser engines on bare metal, and coherent TLS fingerprints to ensure our initial requests look entirely human. This keeps our risk score below the threshold, allowing us to extract data without ever seeing the 'Press and Hold' screen.
Is it legal to bypass PerimeterX / HUMAN? +
Accessing publicly available data is generally lawful, as reinforced by cases like hiQ v. LinkedIn. However, actively circumventing technical barriers or solving challenges using automated means can introduce legal risk under laws like the CFAA or the DMCA. DataFlirt's approach of challenge avoidance—presenting a clean, human-like profile—mitigates this risk by interacting with the site exactly as a standard user would.
$ dataflirt scope --new-project --target=perimeterx-/-human-challenge READY

Tell us what
to extract.
We do the rest.

20-minute scoping call. Pilot dataset within the week. Production within two. Whether you need a one-off catalogue dump or a continuous feed across millions of records — we scope, build, and operate the pipeline.

hello@dataflirt.com  ·  Bengaluru  ·  IST  ·  typical reply < 4h