How PerimeterX scores requests
PerimeterX checks five things at once, and all five must look human at the same time: your TLS fingerprint (TLS is the encryption layer behind https, and its handshake reveals which client you really are), your IP reputation, the order and content of your HTTP headers, your JavaScript fingerprint (values the browser exposes like canvas, WebGL, and audio), and your behaviour (mouse movement, scrolling, how long you linger). Fixing only one or two has zero effect — the score is combined, so it needs the full set. This is unlike Cloudflare (where TLS plus IP gets you a long way) or DataDome (where IP weight is dominant).
The fingerprint is packed into the _px3 cookie and sent in a POST request to collector-PXxxxxxx.perimeterx.net. The "Human Challenge" — a press-and-hold button — is the visible fallback shown when your score is borderline. A hard block instead returns a 403 error with no challenge at all.
The network effect
Because HUMAN watches signals from 29,650 sites at the same time, a fingerprint flagged on one customer's site is automatically treated as lower-trust everywhere else. This cross-site reputation is what makes the network the company's strongest asset: a single browser profile that appears across many unrelated domains looks different from a real user, who normally visits a small set of sites from one consistent device. Tools such as Camoufox assign each browser instance its own coherent profile, which is how a per-domain isolation model works in practice.
Why all five vectors are scored together
Because the score is combined, PerimeterX evaluates all five vectors as one picture, and a real browser session is coherent across every one of them:
- TLS: the handshake of a mainstream browser such as Chrome or a real Camoufox / Chrome instance.
- IP: residential or mobile connections behave differently from datacenter ranges, which PerimeterX weights heavily.
- Headers: the exact header order and capitalisation a given browser version sends.
- JS fingerprint: values that are internally consistent — JS patches whose
Function.toString()output reveals they have been rewritten stand out. - Behaviour: the navigation, mouse movement, and timing patterns a person naturally produces.
Managed verification APIs (such as Bright Data or Zyte) maintain this coherence across all five vectors for authorized browser workflows on sites you are permitted to access, billed per request, which often saves engineering time at volume.
