Kasada is a newer entrant in the bot management space, but it has rapidly become one of the most technically sophisticated platforms — protecting major airlines, ticketing platforms, classifieds, and e-commerce sites. Where competitors like Cloudflare and Akamai focus on signal collection, Kasada's defining innovation is a client-side proof-of-work challenge built into a custom JavaScript virtual machine. Real browsers spend ~2ms solving the challenge; primitive bots either can't solve it at all or get progressively rate-limited as the difficulty escalates.
Kasada is delivered as p.js — a highly obfuscated JavaScript file that contains a custom interpreter for a Kasada-specific bytecode. The bytecode includes the proof-of-work logic, fingerprint collection, and behavioral checks. The VM design means the challenge logic itself is opaque — you cannot read it as JavaScript and reverse-engineer it the way you can with Akamai's sensor data script. The VM bytecode is rotated frequently, and any approach based on emulating the VM in a non-browser environment breaks within days.
Successful execution generates three header tokens: x-kpsdk-ct (the expensive proof-of-work token, valid for the session), x-kpsdk-cd (a cheap per-request token derived from the session), and x-kpsdk-v (the version pin). All three must be present and valid on every protected request. Kasada also implements session warming — new sessions face higher difficulty until they accumulate trust signals. ScrapeBadger executes the VM in a real browser, generates all three tokens correctly, and warms sessions with humanlike behavior so the proof-of-work difficulty stays low.