// DevOps
Servicios de CAPTCHA modernos: reCAPTCHA, Turnstile, hCaptcha y SmartCaptcha — cómo funcionan y cuál elegir
Publicado el 31.03.2026
La captcha moderna hace tiempo que dejó de ser simplemente un «ejercicio de reconocimiento de letras torcidas». Hoy es un mecanismo anti-bot completo que analiza no solo la acción explícita del usuario, sino también el contexto de la solicitud: comportamiento en el navegador, frecuencia y carácter de la interacción, señales de red y, en algunos casos, señales adicionales del entorno del dispositivo. En Cloudflare Turnstile, por ejemplo, están documentados por separado los Ephemeral IDs — identificadores de corta duración para reforzar el análisis antifraude sin las cookies clásicas, y Google reCAPTCHA Enterprise ya no se posiciona como un «widget con imágenes», sino como parte de un sistema de protección contra scraping, credential stuffing, registros falsos y otros abusos.
A continuación — un análisis de los principales actores del mercado, el esquema real de integración y esas pequeñas cosas en las que fallan la mitad de las implementaciones.
Google reCAPTCHA (v2 / v3 / Enterprise)
Google reCAPTCHA sigue siendo una de las soluciones más conocidas del mercado. El servicio tiene varios modos de integración: v2 con checkbox, invisible reCAPTCHA, v3 con modelo de score y la rama Enterprise, vinculada a Google Cloud. Es importante entender que hoy la línea entre una «captcha simple» y una evaluación completa de riesgo en Google está bastante difusa: incluso Google recomienda interpretar el score y construir la lógica del servidor alrededor de él, en lugar de confiar únicamente en el hecho de que el widget se haya completado.
reCAPTCHA v2 («No soy un robot») Variante clásica con checkbox. Si la comprobación no está segura del usuario, puede mostrarse un challenge adicional. Google también tiene invisible reCAPTCHA, que pertenece a la familia v2 y puede invocarse sin un checkbox explícito.
reCAPTCHA v3 Modo completamente invisible. En lugar de «resolver imágenes», devuelve un score que usted interpreta en su lado. Google enfatiza por separado que el token v3 debe solicitarse en el momento de la acción del usuario, y no al cargar la página, porque el token vive solo 2 minutos.
reCAPTCHA Enterprise Esto ya es una solución de clase anti-abuse / detección de fraude, no solo un widget. En los materiales oficiales Google posiciona Enterprise como herramienta contra scraping, credential stuffing, account takeover, cuentas falsas y fraude en pagos. Para sitios, el backend normalmente crea un assessment y ya según el resultado decide — permitir la solicitud, requerir verificación adicional o bloquearla.
Desde un punto de vista práctico reCAPTCHA tiene dos inconvenientes permanentes. El primero — privacidad: el servicio está estrechamente ligado a la infraestructura de Google, y parte de los equipos no quieren llevar esa dependencia en formularios públicos. El segundo — disponibilidad por regiones y redes: si los servicios de Google se cargan lento o inestables para sus usuarios, la captcha degradará junto con ellos. Google declara oficialmente cumplimiento con GDPR para la versión en la nube de reCAPTCHA, así que la cuestión no es tanto «legal o ilegal», sino una elección arquitectónica y de modelo de confianza.
Cloudflare Turnstile
Cloudflare Turnstile en los últimos años se ha convertido en la alternativa directa más visible. Su punto fuerte es la fricción mínima para el usuario. Cloudflare afirma que Turnstile se puede integrar en cualquier sitio sin el uso obligatorio del CDN de Cloudflare, y el servicio en muchos casos funciona sin mostrar la CAPTCHA tradicional.
Turnstile tiene varios modos de funcionamiento:
- Non-interactive — el usuario no pulsa nada en absoluto.
- Managed — ante sospecha puede aparecer una verificación interactiva.
- Invisible — modo completamente oculto.
A marzo de 2026 Turnstile tiene plan gratuito y plan Enterprise. La variante gratuita oficialmente es adecuada no solo para pruebas y sitios personales, sino para la mayoría de aplicaciones en producción; Enterprise se necesita para altos volúmenes, gestión avanzada de hosts, detección de bots ampliada y escenarios de cumplimiento. Por eso es más correcto decir no «servicio completamente gratis para siempre sin condiciones», sino «hay un free tier muy generoso y un nivel enterprise separado».
En términos de privacidad Cloudflare tiene un fuerte argumento de marketing: Turnstile no recolecta datos para ad retargeting. Además el servicio dispone de Ephemeral IDs — identificadores de corta vida vinculados a la cuenta que ayudan a detectar patrones de abuso sin el tracking cross-site clásico. Esto no significa «no se recopilan datos en absoluto», sino que la arquitectura es notablemente menos problemática para debates de privacidad que el enfoque clásico de Google.
Otra ventaja — disponibilidad. Cloudflare declara cumplimiento de Turnstile con WCAG 2.2 AAA, lo que para formularios públicos y servicios B2C ya no es un bonus agradable, sino un criterio de elección funcional.
hCaptcha
hCaptcha — otro gran actor alternativo que hace un fuerte énfasis en un enfoque privacy-first y en anti-abuse empresarial. En el escenario básico es muy parecido a la integración clásica de CAPTCHA: widget en el frontend, token en el servidor, validación server-side. Pero en el nivel enterprise están disponibles modos pasivos sin challenge explícito, risk scores, modelos de amenaza personalizables, analítica avanzada y API adicionales. Es decir, hCaptcha no es solo «imágenes en lugar de Google», sino una plataforma completa de protección contra abusos.
hCaptcha tiene un modelo de monetización en el que los propietarios de sitios pueden recibir pagos por participar en el ecosistema de etiquetado y tráfico de challenges. Pero eso no debe presentarse como la razón principal para elegirlo. En la práctica, hCaptcha se elige más como sustituto de Google, por disponibilidad regional y por una postura de privacidad más flexible.
En accesibilidad hCaptcha enfatiza no solo enfoques de audio, sino alternativas de accesibilidad, incluyendo flujos de accesibilidad universales y escenarios de challenge textuales. Es un matiz importante: en 2026 simplemente tener una «captcha de audio» ya no es suficiente para considerar que la accesibilidad es buena.
Yandex SmartCaptcha
Yandex SmartCaptcha — candidato fuerte para el segmento RU y para escenarios donde la localización de datos, buena disponibilidad desde Rusia e integración con Yandex Cloud son críticas. La documentación oficial de Yandex describe varios modos: invisible captcha, comprobaciones intermedias como checkbox o slider y tareas más complejas para solicitudes sospechosas. En la página del servicio se listan los tipos de tareas, incluyendo reconocimiento de texto, slider, siluetas y caleidoscopio.
Es importante no confundir dos cosas. Primera: SmartCaptcha es cómoda para proyectos rusos porque vive en la ecosistema de Yandex Cloud. Segunda: la afirmación «SmartCaptcha automáticamente hace que su proyecto cumpla con 152-ФЗ» es demasiado burda. Es más correcto decir: Yandex Cloud en general declara conformidad con los requisitos de 152-ФЗ y proporciona infraestructura para la localización y el procesamiento de datos personales en Rusia, lo que hace de SmartCaptcha una elección natural para esos escenarios. Pero la responsabilidad legal y el modelo completo de cumplimiento siguen recayendo sobre el propietario del sistema.
En UX SmartCaptcha tiene como punto fuerte la orientación a fricción mínima. En la página del servicio Yandex escribe que en muchos casos al usuario le basta con pulsar «No soy un robot», y la tarea compleja se muestra solo ante sospecha de bot.
2. Cómo se integra en realidad
Cualquier CAPTCHA moderna funciona en dos etapas. Si usted implementó solo el widget en el frontend y no hizo validación server-side, en la práctica no tiene protección. Esto está formulado de manera muy clara en la documentación de Cloudflare Turnstile: sin llamar a Siteverify la configuración se considera incompleta, y el widget cliente por sí solo no proporciona protección. La misma lógica aplica a Google reCAPTCHA, hCaptcha y Yandex SmartCaptcha.
Etapa 1: parte cliente
En el frontend conecta la librería JS del servicio y renderiza el widget o la mecánica invisible. Tras una comprobación exitosa el servicio coloca un token en un campo oculto del formulario o lo devuelve mediante callback. Por ejemplo:
g-recaptcha-responseen Google reCAPTCHA.cf-turnstile-responseen Cloudflare Turnstile.h-captcha-responseen hCaptcha.smart-tokenen Yandex SmartCaptcha.
Ese token debe enviarse a su backend junto con la carga útil del formulario: login, contraseña, mensaje de feedback, datos del pedido, etc.
Etapa 2: verificación en el servidor
Esta es la etapa principal. Su backend debe enviar el token al servidor del proveedor de CAPTCHA y comprobar que el token:
- existe;
- no ha caducado;
- no se ha usado de nuevo;
- corresponde a la acción o al sitio esperado;
- pasó la validación.
A continuación — endpoints típicos de verificación.
Google reCAPTCHA
curl -X POST https://www.google.com/recaptcha/api/siteverify \
-d "secret=<secret_key>" \
-d "response=<token>" \
-d "remoteip=<user_ip>"
reCAPTCHA devuelve JSON con el campo success, y para escenarios v3 y Enterprise son importantes también el score y el contexto de evaluación. El token vive 2 minutos y solo puede verificarse una vez.
Cloudflare Turnstile
curl -X POST https://challenges.cloudflare.com/turnstile/v0/siteverify \
-d "secret=<secret_key>" \
-d "response=<token>" \
-d "remoteip=<user_ip>"
En Turnstile la verificación server-side es obligatoria. El token caduca en 5 minutos y es de un solo uso.
hCaptcha
curl -X POST https://api.hcaptcha.com/siteverify \
-d "secret=<secret_key>" \
-d "response=<token>" \
-d "remoteip=<user_ip>"
En hCaptcha el token por defecto también vive 120 segundos, y el reuso devuelve un error separado already-seen-response.
Yandex SmartCaptcha
curl -X POST https://smartcaptcha.cloud.yandex.ru/validate \
-d "secret=<server_key>" \
-d "token=<token_from_form>" \
-d "ip=<user_ip>"
Yandex indica que el token SmartCaptcha es válido 5 minutos y puede usarse solo una vez. En la respuesta recibirá JSON con status, y solo si el status es ok puede continuar el procesamiento del formulario.
3. Qué verificar exactamente en el backend
El error de integración más frecuente — el desarrollador comprobó que el campo con el token no está vacío y se dio por satisfecho. Eso no es protección. La secuencia correcta es:
- Recibir el token desde el frontend.
- Enviarlo a la API del proveedor.
- Comprobar el éxito de la validación.
- Asegurarse de que el token no esté expirado y no se haya reutilizado.
- Para soluciones basadas en score — interpretar el score en su lado.
- Solo después procesar la solicitud original.
Para reCAPTCHA v3 y escenarios enterprise es especialmente importante no convertir el score en un número mágico. El umbral depende del contexto. Para un formulario de comentarios puede permitirse tráfico más arriesgado, pero para login, recuperación de contraseña, registro o pagos los umbrales y las respuestas deben ser más estrictos. Google escribe claramente que el score debe interpretarse según las características de su sitio y su tráfico.
4. Matices técnicos importantes que se olvidan
El token no se puede simplemente «reutilizar»
Todos los grandes proveedores hacen tokens de corta vida y de un solo uso. En Google y hCaptcha el plazo típico es 2 minutos. En Turnstile y SmartCaptcha — 5 minutos. La revalidación del mismo token o no pasará o devolverá un error de reuse/expired. Esto se hace para proteger contra ataques de replay.
Timeouts en las solicitudes a la API de CAPTCHA son obligatorios
Si la API externa de CAPTCHA no es accesible desde su datacenter, un backend colgado se convierte fácilmente en un DoS contra sí mismo. Por eso a la solicitud saliente al servicio CAPTCHA debe ponerse un timeout corto. En la documentación de Yandex hay un ejemplo con CURLOPT_TIMEOUT, y en la práctica real 1–3 segundos es un rango razonable para formularios públicos. Qué hacer en caso de error depende del tipo de operación:
- fail close — rechazar la solicitud si la API de CAPTCHA no está disponible;
- fail open — permitir la solicitud, pero con restricciones adicionales;
- soft fail — pedir reenvío del formulario, verificación alternativa o un segundo factor.
Para login, registro, restablecimiento de contraseña, checkout y operaciones de escritura en API suele ser mejor fail close o soft fail. Para suscripción a un blog o formularios secundarios a veces es aceptable fail open con rate limiting y logging.
CAPTCHA no es un sistema anti-bot completo
Cualquier CAPTCHA es solo una capa de protección. Google, Cloudflare, hCaptcha y Yandex funcionan mejor en conjunto con otras medidas:
- rate limiting;
- reputación de IP / ASN;
- anomalías de dispositivo / sesión;
- señales de comportamiento;
- limitaciones por velocidad de registro, login, envío de formularios;
- WAF y reglas anti-fraude;
- reglas separadas para redes anónimas, proxies y datacenters.
Si tiene un problema serio con bots, una sola captcha no lo solucionará. Los servicios de bypass de captcha, granjas de dispositivos y navegadores proxificados ya saben pasar comprobaciones básicas. CAPTCHA debe actuar como una barrera adicional y como fuente de señales para su lógica server-side.
Accesibilidad — ya es parte de la seguridad
Una mala CAPTCHA no solo reduce la conversión, sino que rompe la accesibilidad. Cloudflare declara WCAG 2.2 AAA para Turnstile. hCaptcha desarrolla flujos de accesibilidad universales y desafíos textuales. Yandex SmartCaptcha destaca la accesibilidad como un aspecto independiente del producto. En ese contexto las viejas captchas visuales con símbolos extraños parecen ya una deuda técnica.
CSP puede romper la integración
Si tiene una Content-Security-Policy estricta, el widget puede no cargarse. Para Turnstile Cloudflare recomienda usar CSP basada en nonce o añadir explícitamente el dominio en script-src y frame-src. En Yandex SmartCaptcha el JS se carga desde smartcaptcha.cloud.yandex.ru, y eso también debe contemplarse en la política de carga de scripts.
Por ejemplo, para Turnstile la configuración típica será así:
Content-Security-Policy:
script-src 'self' https://challenges.cloudflare.com;
frame-src https://challenges.cloudflare.com;
Y para SmartCaptcha hay que prever permitir la carga del script y recursos asociados desde los dominios de Yandex Cloud que utiliza el widget.
Claves de prueba y entorno de staging
Otro error típico — usar claves de producción en pruebas automáticas. Google tiene claves de prueba oficiales para v2, y Cloudflare Turnstile documenta por separado sitekeys y secret keys dummy para testing. Para v3 Google recomienda crear una clave separada para el entorno de pruebas, porque el score sin tráfico real será no representativo.
5. Recomendaciones prácticas para la elección
Cuándo elegir Cloudflare Turnstile
Turnstile es una elección por defecto muy sólida para la mayoría de proyectos web modernos. Es sencillo de integrar, no requiere Cloudflare CDN, funciona bien sin challenges explícitos, tiene una postura fuerte en accesibilidad y es útil cuando no quiere depender de Google. Para sitios marketing, SaaS, paneles, formularios de login, feedback y registro, hoy es una de las opciones más pragmáticas.
Cuándo elegir Google reCAPTCHA
reCAPTCHA tiene sentido si ya está profundamente en la ecosistema de Google Cloud, necesita protección enterprise madura, o está construyendo lógica anti-fraude compleja alrededor de assessment y risk scoring. Pero en formularios públicos y escenarios B2C globales las alternativas ganan cada vez más — por UX, preocupaciones de privacidad y disponibilidad regional.
Cuándo elegir hCaptcha
hCaptcha es lógico donde se necesita un enfoque privacy-first, substituto de Google sin perder capacidades anti-abuse serias y con opciones enterprise como modos pasivos y modelos de amenaza personalizables. La monetización adicional existe, pero en producción conviene considerarla como un factor secundario.
Cuándo elegir Yandex SmartCaptcha
SmartCaptcha es una elección sensata para proyectos con audiencia en RU y CIS, así como para sistemas donde la disponibilidad local, el ecosistema en ruso y la localización de datos son importantes. Funciona especialmente bien integrada con otros servicios de Yandex Cloud. Pero, como cualquier CAPTCHA, no cubre por sí sola toda la clase de ataques y no sustituye a rate limiting, WAF y lógica anti-fraude server-side.
6. Tabla resumen
| Servicio | Carga para el usuario | Privacidad / postura de datos | Complejidad de integración | Qué es importante saber |
|---|---|---|---|---|
| reCAPTCHA v2 | Baja / media | Menor que las alternativas privacy-first | Media | Checkbox clásico y challenge |
| reCAPTCHA v3 | Casi nula | Menor que las alternativas privacy-first | Media | Hay que interpretar el score uno mismo |
| reCAPTCHA Enterprise | Casi nula / adaptable | Depende de su modelo de confianza en Google Cloud | Superior a la media | No solo CAPTCHA, sino assessment de riesgo |
| Cloudflare Turnstile | Muy baja | Fuerte postura de privacidad | Fácil | Validación server-side obligatoria |
| hCaptcha | Baja / media | Fuerte postura de privacidad | Media | Hay escenarios passive / risk-score en enterprise |
| Yandex SmartCaptcha | Baja | Conveniente para localización y Yandex Cloud | Media | Bien para el segmento RU |
7. Checklist mínimo para producción
Antes de considerar la CAPTCHA «implementada», verifique:
- el token se valida solo en el servidor;
- la clave secreta no aparece en el código frontend;
- la solicitud a la API de CAPTCHA tiene timeout;
- no se permite la reutilización del token;
- los errores de validación se registran;
- existe una lógica separada para la degradación de la API externa de CAPTCHA;
- el umbral de score para soluciones invisibles está ajustado con tráfico real;
- CSP está configurado y no rompe la carga del widget;
- la CAPTCHA complementa rate limiting y lógica anti-fraude básica.
Conclusión
Si se elige de forma práctica, sin guerras religiosas y sin teoría innecesaria, para la mayoría de aplicaciones web modernas Cloudflare Turnstile hoy parece la opción más versátil: rápido, poco perceptible para el usuario, formalmente bien trabajado en accesibilidad y no ligado al ecosistema de Google.
Si es crítico la localización de datos, la disponibilidad desde Rusia e integración con Yandex Cloud, entonces Yandex SmartCaptcha es un candidato muy fuerte. Simplemente no lo presente como una «garantía automática de cumplimiento de 152-ФЗ»: es más correcto decir que encaja bien en una infraestructura diseñada teniendo en cuenta esos requisitos.
Si necesita un modelo enterprise de anti-fraude más desarrollado con risk scoring y fuerte integración con la ecosistema de Google, considere reCAPTCHA Enterprise. Si busca una alternativa privacy-first con un nivel enterprise sin Google — mire hacia hCaptcha.
Y lo más importante: CAPTCHA no es una «bala de plata». Debe ser parte de un modelo de protección más amplio, no la única barrera entre su API y una granja de bots.
// Reviews
Reseñas relacionadas
Hubo varios problemas, tanto en la parte técnica como en la comprensión general. Mijaíl respondió rápido a la solicitud, ayudó a aclarar las cosas y resolvió los problemas técnicos; por ello, muchas gracias. Estoy satisfecho con el resultado.
Hubo varios problemas relacionados tanto con la parte técnica como con la comprensión en general. Mijaíl respondió rápidamente a la solicitud, ayudó a aclarar las cosas y resolvió los problemas técnicos, por lo que le …
Configuración de VPS, configuración del servidor
18.02.2026 · ★ 5/5
Todo se hizo de manera rápida y precisa. Lo recomiendo.
Todo se hizo rápido y con precisión. Lo recomiendo.
Configuración de VPS, configuración del servidor
17.01.2026 · ★ 5/5
Todo salió bien, el profesional respondió rápidamente a las preguntas y ayudó a resolver el problema. ¡Gracias!
Todo fue bien, el profesional respondió rápidamente a las preguntas y ayudó a resolver el problema. ¡Gracias!
Configuración de VPS, configuración del servidor
16.12.2025 · ★ 5/5
Lo hicieron todo con rapidez. Seguiremos acudiendo. ¡Lo recomiendo!
Todo lo hicieron con rapidez. Seguiremos acudiendo. ¡Lo recomiendo!
Configuración de VPS, configuración del servidor
10.12.2025 · ★ 5/5
Hicieron todo rápidamente. Mijaíl siempre está disponible. Seguiremos recurriendo a él.
Todo se hizo con rapidez. Михаил siempre está en contacto. Seguiremos recurriendo a él
Configuración de VPS, configuración del servidor
10.12.2025 · ★ 5/5
¡Mijaíl es un profesional! Ya no es la primera vez que lo demuestra en la práctica.
Михаил, ¡un profesional! Ya lo ha demostrado en la práctica más de una vez.
// Contact
¿Necesitas ayuda?
Escríbeme y te ayudaré a resolver el problema
// Related