turnstile-spin
Add Cloudflare Turnstile Protection
Bot protection often fails when frontend widgets and server checks are configured separately. This skill coordinates creation, integration, secret handling, and validation.
Stop for confirmation before installing.
Review the plan and obtain explicit user consent before changing files.
Install with my Agent
Copy this request to your Agent. It includes the canonical Skill page and manifest.
Review the Skillstore skill "turnstile-spin" from https://skillstore.io/skills/cloudflare-turnstile-spin.md and its manifest at https://skillstore.io/api/skills/cloudflare-turnstile-spin/manifest. Verify the artifact. Stop and obtain explicit user consent before installing or changing files.Your Agent should still show its plan and request any confirmation required by the security policy.
Agent-readable resources
Use these links when an AI agent, crawler, or script needs clean context instead of reading the full page.
Test it
Using "turnstile-spin". Protect the signup form in this Next.js application from automated submissions.
Expected outcome:
- Detected a Next.js App Router signup page and its server route.
- Created one managed widget for the approved domains.
- Added server validation for success, signup action, and approved hostnames.
- Validation passed for the widget configuration and failed safely for a replayed token.
Using "turnstile-spin". Our contact form has a Turnstile widget, but submissions still bypass it.
Expected outcome:
- The browser widget was present, but the server handler did not call Siteverify.
- Added Siteverify before the existing contact logic and preserved the original handler.
- Validation remains pending because the backend could not run locally.
Security Audit
High RiskMost static alerts are safe Turnstile examples, bounded shell operations, or false matches on Markdown. Confirmed issues include plaintext home-directory token storage and mutable remote skill installation without integrity verification. The remote installation path can introduce unaudited instructions and executable scripts.
Confirmed security concerns (1)
Capability review items (6)
These are real local capabilities that may be expected for this skill, so they require review but are not counted as confirmed malicious behavior.
Risk Factors
๐ Network access (50)
๐ Filesystem access (25)
๐ Env variables (28)
โก Contains scripts (2)
โ๏ธ External commands (50)
Share & cite this report
Share the versioned assessment report, neutral badge, embed card, and citations. Skillstore reports evidence without deciding whether this Skill is safe.
Copy report link
https://skillstore.io/skills/cloudflare-turnstile-spin/audits/1?utm_source=security_passport&utm_medium=share&utm_campaign=versioned_reportMarkdown badge
[](https://skillstore.io/skills/cloudflare-turnstile-spin?utm_source=security_passport_badge)HTML badge
<a href="https://skillstore.io/skills/cloudflare-turnstile-spin?utm_source=security_passport_badge"><img src="https://skillstore.io/badges/skills/cloudflare-turnstile-spin/security.svg" alt="Skillstore security assessment" loading="lazy"></a>Embed card
<iframe src="https://skillstore.io/embed/skills/cloudflare-turnstile-spin.html" title="Skillstore Security Assessment" sandbox="allow-popups allow-popups-to-escape-sandbox" loading="lazy" referrerpolicy="no-referrer" width="420" height="180"></iframe>Academic citations (APA ยท BibTeX ยท CFF)
APA citation
cloudflare. (2026). turnstile-spin security audit report (audit version 1) [Author version unspecified]. Skillstore. https://skillstore.io/skills/cloudflare-turnstile-spin/audits/1BibTeX citation
@techreport{cloudflare-cloudflare-turnstile-spin-2026,
author = {cloudflare},
title = {turnstile-spin security audit report (audit version 1)},
institution = {Skillstore},
year = {2026},
number = {1},
url = {https://skillstore.io/skills/cloudflare-turnstile-spin/audits/1},
note = {Author version unspecified}
}CITATION.cff
cff-version: 1.2.0
message: "If you use this Skill, cite its author and this versioned security audit report."
title: "turnstile-spin security audit report (audit version 1)"
version: "unspecified"
type: report
authors:
- name: "cloudflare"
date-released: "2026-08-09"
url: "https://skillstore.io/skills/cloudflare-turnstile-spin/audits/1"
identifiers:
- type: other
value: "skillstore:cloudflare-turnstile-spin:audit:1"
description: "Skillstore immutable audit report identifier"
Skillstore Score
Why this score Evidence Confidence: MediumWhat You Can Build
Protect a signup flow
Add a widget to signup and reject automated requests in the existing server handler.
Migrate an existing CAPTCHA
Replace reCAPTCHA or hCaptcha with Turnstile while preserving actions and backend behavior.
Repair a partial integration
Find missing hostname, action, secret, reset, or Siteverify checks and validate the corrected flow.
Try These Prompts
Add Cloudflare Turnstile to the signup form and its existing backend handler. Ask before creating resources or writing secrets.
Scan this project for user-triggered requests. Recommend which actions need Turnstile, then integrate only the actions I approve.
Migrate the existing reCAPTCHA or hCaptcha integration to Turnstile. Preserve valid action names and existing business logic.
Audit this Turnstile integration end to end. Verify secret handling, expected actions, hostname allowlists, widget resets, and replay rejection before making approved fixes.
Best Practices
- Use separate production hostname allowlists and exclude loopback addresses from production.
- Keep the secret in an ignored environment file or managed secret store.
- Validate success, action, hostname, and replay behavior before reporting completion.
Avoid
- Do not call Siteverify from browser code or expose the secret to the client.
- Do not run credential-bearing commands through project-local package executables.
- Do not replace existing business logic when adding the verification gate.
Frequently Asked Questions
Does this skill create a Turnstile widget?
Can it use an existing widget?
Which frameworks are documented?
Does it work for a static site without a backend?
Where is the Turnstile secret stored?
What does validation cover?
Developer Details
Author
cloudflareLicense
MIT
Skillstore revision
r1
Version notice
The author did not declare a version.
Ref
02be9409c79ca1183f7844009c14d9df684d0cf9
Maintenance freshness
8/11/2026
Usage
0 downloads ยท 0 views
File structure
๐ README.md
๐ references/
๐ astro.md
๐ hugo.md
๐ nextjs-app.md
๐ nextjs-pages.md
๐ sveltekit.md
๐ vanilla-html.md
๐ scripts/
๐ auth-probe.sh
๐ persist-skill.sh
๐ validate.sh
๐ widget-create.sh
๐ SKILL.md
๐ tests/
๐ validation.md