# Vanilla HTML For static sites or any project without a JS framework. The form posts directly to the Worker, no client-side JavaScript required for the integration itself. ```html
``` When the form is submitted, the browser includes `cf-turnstile-response` automatically. The Worker reads it (alias for `token`) and responds with siteverify JSON. ## Where to put the snippet - Single-page site: in the `` of `index.html`, wherever the form lives. - Multi-page site: in each page that has a form. The script tag in `` can live in a shared layout. ## Substitutions | Placeholder | Replace with | | ------------------ | ------------------------------------------------------- | | `YOUR_WORKER_URL` | The deployed Worker URL from Step 5 | | `YOUR_SITEKEY` | The widget site key from Step 4 | ## Variant: AJAX submit instead of form action If the form is submitted via `fetch` instead of a native form post, the snippet still works. The widget div populates a hidden `cf-turnstile-response` input that you can read from `new FormData(form)`. ```html ```