One verification, four stops
What happens between page load and submit
Click a stage — on the right you can see what the widget and the server actually exchange at that moment.
GET /api/v2/challenge · 41 ms
Receive adaptive policy
The 16 KB widget loads — nothing has happened yet, no cookie set.
WebWorker · UI thread stays free
# find hash with 4 leading zeros …
a8f3c2e9d17b44…
0000b62e91a4c7… ✓ solved
Milliseconds for one browser — expensive for a bot farm with millions of requests.
Collected passively · never transmitted as raw data
The server only sees scores and this hash — no movements, no keystrokes.
POST /api/v2/verify · decision in < 50 ms
Same pipeline, two worlds — the context (login vs. contact) sets the thresholds.