Cloudflare Worldedge community field guide

RETROSPECTIVE EDITION / 2025-08

Turnstile: the widget is only half the control

Client tokens need server-side Siteverify, expected context, expiry handling, and fail-closed decisions.

ISSUE
20 / 32
FIRST PUBLISHED
SOURCE CHECKED
Archive integrity

The edition month is a curriculum position. This article was first published on 2026-08-10 and is not presented as a historical release or past activity.

01 / DECISION

When this primitive earns a place

Use Turnstile to add abuse friction to a form or action, while retaining application authentication and authorization.

02 / ARCHITECTURE

Build the smallest defensible path

Render the widget for the correct hostname and action, send the token once, verify server-side, check expected fields, and reject expired or replayed tokens.

  1. 01Name the contract

    Use Turnstile to add abuse friction to a form or action, while retaining application authentication and authorization.

  2. 02Add one primitive

    Render the widget for the correct hostname and action, send the token once, verify server-side, check expected fields, and reject expired or replayed tokens.

  3. 03Capture failure evidence

    Test missing, malformed, expired, duplicate, and wrong-host tokens; confirm the protected action never runs before verification.

03 / REPRODUCE

Evidence before confidence

Test missing, malformed, expired, duplicate, and wrong-host tokens; confirm the protected action never runs before verification.

curl -X POST https://challenges.cloudflare.com/turnstile/v0/siteverify

04 / BOUNDARY

The production boundary

A client-side success callback is not proof. Turnstile does not decide who may perform a privileged action.

05 / FIRST-PARTY SOURCES

Keep first-party sources authoritative

Product behavior, limits, pricing, and availability can change. Re-check these sources before acting.

01 / SOURCECloudflare Turnstilehttps://developers.cloudflare.com/turnstile/