Precursor
Precursor

Authors:
Marina Elmore &
Benedikt Wolters
Date: 2026-07-13 | Read Time: 5 min
Bot mitigation is essentially an adversarial game: as attackers evolve their tactics, defenders must innovate their responses, creating a perpetual cycle of adaptation.
To maintain an advantage, Cloudflare leverages a dual-pronged approach: massive global network visibility combined with granular client-side telemetry.
The Current Defense Landscape
- Network-Level Analysis: Cloudflare processes over 1 trillion requests daily, providing deep insights into anomalies and reputation across of the entire web.
- Client-Side Verification:
Cloudflare Turnstilehas transitioned from a simple CAPTCHA alternative to a sophisticated, risk-based managed challenge. It dynamically adjusts friction to verify authenticity.
Currently, Turnstile is deployed nearly 3 billion times per day on critical endpoints (e.g., checkout, signup, and login). While this secures the most sensitive areas, a "visibility gap" remains: Cloudflare cannot see how users—human or bot—interact with the rest of the application throughout their entire journey.
Introducing Precursor
Precursor is designed to close this gap. It is a privacy-centric, session-based verification system that utilizes dynamically injected JavaScript to continuously monitor behavioral signals during a visitor's session.
By integrating these signals into Cloudflare’s bot protection in real-time, Precursor can distinguish between genuine human traffic and "agentic" (automated) traffic across the entire web application, not just at a single challenge point.
Strategic Positioning
- Complementary: Precursor works alongside Turnstile.
- Availability: Both are available via Enterprise Bot Management.
Why Session-Based Detection Matters
Modern bots are increasingly sophisticated. They can:
- Execute complex
JavaScript. - Operate within legitimate browser environments.
Pass individual CAPTCHAsEasily bypass isolated challenges.
However, simulating consistent human behavior over an extended period remains a significant hurdle. Precursor transforms behavior into a high-fidelity signal, increasing detection precision and reducing the need for aggressive, intrusive challenges for real users.
For the attacker, the cost of operation increases:
- Simulate a full, believable user session.
- Maintain complex behavioral scripts.
- Scale these simulations without triggering anomalies.
The Science of "Human" Error
Bot developers often attempt to mimic humans by adding (Gaussian noise) or random delays. However, true human movement is governed by physical and cognitive constraints:
| Human Characteristic | Description | Bot Equivalent |
|---|---|---|
| Wrist Pivot | Movements follow arcs based on forearm rotation. | Linear interpolations. |
| Cognitive Load | A measurable gap between seeing a UI element and clicking. | Instantaneous or fixed-delay reactions. |
| Physiological Tremor | Subtle oscillations at a specific frequency . | Mathematically perfect Bézier curves. |
Visualizing the Difference
When a bot uses a mouse automation library, the movement is often sterile.
// Conceptual Bot Movement
moveTo(x, y, {
velocity: "constant",
path: "straight_line",
precision: "pixel_perfect"
});
In contrast, a human's path is irregular, containing small corrections, overshoots, and varying speeds. Over a full session, these signatures diverge sharply.

How Precursor Operates
Precursor builds a session-level view of activity through a two-layer process:
1. Injection and Collection Layer
Cloudflare automatically injects a lightweight, obfuscated script into the HTML responses as they traverse the network.
- Zero Config: No third-party embeds or manual setup required.
- Non-Intrusive: Designed not to interfere with existing page logic.
- Telemetry: It attaches listeners to capture:
- Pointer movements
- Keyboard activity
- Focus changes
- Page visibility
These events are serialized and buffered in memory before being transmitted to the evaluation layer.
2. Evaluation Layer
Once the payloads reach the edge server, they are deserialized into behavioral inputs.
Evaluators analyze the streams for logical correlations. For instance, they verify if keyboard events only occur when a text field is actively focused, or if pointer activity aligns with the duration the page was actually visible. This continuous stream of data informs the final security decision.