# Protección contra bots (Turnstile)

Defiende tus formularios contra envíos automatizados con Cloudflare Turnstile.

## Protección contra bots (Turnstile)

Cloudflare Turnstile revisa por ti los envíos de enlaces públicos. Siempre está activada en los formularios gratuitos y tú la controlas en Pro y Business. La mayoría de los respondentes nunca la ven.

<h2 id="how-it-works">Cómo funciona</h2>
<p>
  Cuando un respondente pulsa enviar, Formstep le pide un token a Turnstile y lo verifica en el servidor antes de guardar el envío. La
  comprobación normalmente se ejecuta en silencio; si no puede resolverse por sí sola, aparece un pequeño diálogo que le pide al respondente
  que confirme. No hay puzzles de imágenes. El diálogo sigue el tema y el idioma de tu formulario.
</p>
<p>
  La comprobación se ejecuta al enviar, no al cargar la página, así que nunca retrasa la apertura del formulario. Un envío que no pasa la
  verificación se rechaza y se le pide al respondente que lo intente de nuevo.
</p>

> ℹ️ **Las solicitudes no pasan por esta puerta**
> <p>
>     La protección contra bots solo se aplica a los <a href="/es/sharing-publishing/sharing-embedding">enlaces públicos</a>. Un enlace de{' '}
>     <a href="/es/requests/overview">solicitud</a> ya nombra a un destinatario y autoriza una única finalización, así que se salta Turnstile
>     — igual que se salta el requisito de inicio de sesión y los límites de respuesta.
>   </p>

<h2 id="formstep-hosted">Formularios alojados en Formstep</h2>
<p>
  Para formularios compartidos mediante enlaces <code>form.formstep.io</code>, la protección contra bots está integrada — sin configuración,
  sin claves, sin nada que ajustar. Formstep gestiona Turnstile por ti.
</p>
<p>
  En el plan <strong>Free</strong> (y en los formularios de invitado), la protección contra bots{' '}
  <strong>siempre está activada y no se puede desactivar</strong>. El interruptor <strong>Protección contra bots (Turnstile)</strong> en{' '}
  <strong>Configuración del formulario → Acceso</strong> se mantiene bloqueado en activo.
</p>
<p>
  En un <strong>plan Pro o Business</strong>, el interruptor es tuyo. Activa o desactiva la protección contra bots por formulario desde{' '}
  <strong>Configuración del formulario → Acceso → Protección contra bots (Turnstile)</strong>.
</p>
<p>
  Si tu plan de pago caduca, tu propia configuración sigue aplicándose durante los primeros 30 días. A partir del día 30, la protección
  contra bots vuelve a bloquearse en activo — el valor predeterminado del plan Free. Consulta{' '}
  <a href="/es/subscription-billing/upgrading-downgrading#grace-period">subir y bajar de plan</a>.
</p>

<h2 id="custom-domains">Formularios con dominio personalizado (BYOK)</h2>
<p>
  Los dominios personalizados requieren un <strong>plan Pro o Business</strong>. Si compartes formularios en un dominio personalizado (por
  ejemplo <code>fill.yourdomain.com</code>), traes tus propias claves de Turnstile (BYOK): Cloudflare vincula un widget de Turnstile a
  nombres de host específicos, y la propia clave de Formstep solo cubre formstep.io.
</p>

dash.cloudflare.com</a> si aún no tienes una.',
    },
    {
      title: 'Crea un widget de Turnstile',
      description:
        'En <a href="https://dash.cloudflare.com/?to=/:account/turnstile" target="_blank" rel="noopener noreferrer">Turnstile</a>, añade los nombres de host de tu dominio personalizado a la lista permitida. Un solo widget con la validación de nombre de host desactivada cubre todos los dominios del espacio de trabajo.',
    },
    {
      title: 'Copia tus claves',
      description: 'Copia la <strong>Site key</strong> y la <strong>Secret key</strong>.',
    },
    {
      title: 'Pega las claves en Formstep',
      description:
        'Abre <strong>Dominios</strong> desde la barra lateral, busca la tarjeta <strong>Protección contra bots</strong>, pega ambas claves y guarda. Las claves son por espacio de trabajo, no por formulario.',
    },
    {
      title: 'Actívala por formulario',
      description:
        'Activa la protección contra bots para formularios individuales en <strong>Configuración del formulario → Acceso</strong>.',
    },
  ]}
/>

<p>
  Hasta que las claves se guarden, el interruptor en un formulario de dominio personalizado está deshabilitado y se muestra como
  desactivado, porque ahí no puede ejecutarse ningún desafío. Lo que ocurre con los envíos en esa URL con tu marca depende del plan:
</p>

> ℹ️ **¿Sin dominios personalizados? Omite esto.**
> <p>
>     Si todos tus formularios usan los enlaces de compartir predeterminados de Formstep, no necesitas configurar claves de Turnstile. La
>     protección contra bots funciona automáticamente.
>   </p>

<h2 id="submission-limits">Límites de envíos</h2>
<p>
  Turnstile no cambia tu cuota mensual — 1000 envíos al mes en Free, 50 000 en Pro y Business. Consulta{' '}
  <a href="/es/subscription-billing/limits-quotas">límites y cuotas</a>.
</p>

<h2 id="layered-defense">Estrategias de defensa en capas</h2>
<p>
  Turnstile es una capa. Combínala con los controles de acceso de{' '}
  <a href="/es/building-forms/form-settings#access">Configuración del formulario → Acceso</a>:
</p>

> ⚠️ **Ninguna protección es perfecta**
> <p>
>     Los bots sofisticados pueden eludir cualquier CAPTCHA. Para formularios de alto valor, combina defensas: Turnstile, una puerta de
>     autenticación, <a href="/es/building-forms/email-verification">verificación de email</a> y una revisión de los envíos antes de actuar
>     sobre ellos.
>   </p>

<h2 id="next-steps">Próximos pasos</h2>
<div class="not-prose grid gap-3 sm:grid-cols-2">
  - [Bandeja de respuestas](/es/submissions-analytics/submission-inbox) — Revisa las respuestas una vez que la protección contra bots esté activa
  - [Compartir enlaces](/es/sharing-publishing/sharing-embedding) — Crea y gestiona las URLs de enlaces para compartir
  - [Dominios personalizados](/es/branding-domains/custom-domains) — Configura URLs de formularios con tu marca
  - [Planes y precios](/es/subscription-billing/plans-pricing) — Compara Free, Pro y Business
</div>
