Bot management · Kasada

Kasada

Difficulty 5/5

Proof-of-work plus a VM-obfuscated client. Deliberately expensive to automate: it makes bots pay CPU time rather than trying to out-guess them.

  • TLS fingerprinting
  • JS challenge required
  • Behavioural scoring
  • IP reputation weight: high

How it decides

  • A client-side proof-of-work the browser must compute before a token is issued — cheap once, ruinous at scale.

  • A bytecode-VM obfuscated sensor whose logic is regenerated regularly, so any static bypass has a short shelf life.

  • `x-kpsdk-ct` / `x-kpsdk-cd` request headers carrying the issued token and its timing.

  • Silent failure: an unsolved request usually gets a 429 with an empty body rather than a readable block page.

What you see when it stops you

  • HTTP 429 with a zero-length body and no explanation
  • `x-kpsdk-ct`, `x-kpsdk-cd` or `x-kpsdk-v` headers
  • A script path shaped like `/149e9513-01fa-4fb0-aad4-566afd725d1b/.../p.js`
  • A page that loads fine in a browser but returns nothing to every HTTP client you try

Signatures the detector matches

Publicly observable artefacts Kasada sends to every visitor. Paste a response into the analyser and these are what it looks for.

WhereSignalWeight
Headerx-kpsdk-ct token header80
Headerx-kpsdk-cd header75
Headerx-kpsdk-v version header70
Headerx-kpsdk-r header65
Page markupKasada client script path80
Page markupKPSDK client reference60
Status429 with no body — Kasada’s usual denial15

What actually gets through

  • A real browser, always. Kasada is the least tractable vendor for request-level automation.

  • Budget CPU, not just addresses — the proof-of-work is the intended cost, and it is per-session.

  • Residential exits plus low concurrency. Volume is what makes the proof-of-work hurt.

  • Expect maintenance. The obfuscated client rotates, so anything brittle breaks on their schedule, not yours.

Hosts on record running it

From the detector's curated database. Observed, not live — stacks change, and large sites often run different protection per market.

Not sure this is what
is blocking you?

Paste the response you actually got. The detector names the vendor from its own headers, cookies and challenge markup — no account, nothing uploaded.