En dos frases. ALTCHA es un sustituto ligero de CAPTCHA que no rastrea usuarios ni usa cookies (cumple GDPR/CCPA/HIPAA/LGPD/DPDPA/PIPL) y funciona por prueba de trabajo (Proof-of-Work) del lado del cliente en vez de acertijos visuales. Para escenarios de riesgo alto, su versión empresarial ALTCHA Sentinel añade detección adaptativa, limitación de tasa, inteligencia de amenazas, clasificador ML, geofencing y más—todo autohospedado en tu infraestructura (Docker/Kubernetes/AWS/Azure).
Qué es ALTCHA (y qué no es)
- Núcleo OSS (MIT): widget JS (~30 kB gZIP, 46 kB con 50+ idiomas) + librerías de servidor (TS, PHP, Go, Python, Java, Ruby, Elixir; comunitarias en C#/Clojure/Rust).
- Sentinel (comercial autohospedado): plataforma “anti-spam + anti-bot” de múltiples capas (captcha adaptativo, reputación IP, análisis de texto, ML, detección de proxies/TOR, verificación de email, rate-limit, geofencing, API de captura de formularios). Deploy en Docker/K8s con prueba de 30 días.
Cómo protege:
- PoW: el navegador resuelve un micro-puzzle (milisegundos) que los bots masivos no rentabilizan.
- Adaptativo: si la señal de riesgo sube, se activa desafío de código (con audio accesible y soporte RTL).
- Sentinel (opcional): aplica detección en tiempo real antes de que el tráfico llegue a tu app.
Por qué importa (privacidad, accesibilidad, rendimiento)
Dimensión | ALTCHA | reCAPTCHA | hCaptcha | Cloudflare Turnstile |
---|---|---|---|---|
Privacidad | Sin cookies, sin fingerprinting, sin 3rd-party | Servicios externos, tracking | Similar | Usa red CF |
Cumplimiento | GDPR, CCPA, HIPAA, LGPD, DPDPA, PIPL | Variable (DPA/USA) | Variable | Depende del uso de CF |
Accesibilidad | WCAG 2.2 AA / EAA 2025 (audio, i18n, RTL) | Mejoras, pero fricción | Mejoras | Buena |
Peso JS | ~30 kB (46 kB con i18n) | 300+ kB | 250+ kB | 85+ kB |
T. carga | 0 ms (inline bundle) | 1000+ ms | 550+ ms | 300+ ms |
Autohospedado | Sí | No | Parcial | No |
Modelo | OSS + Sentinel on-prem | SaaS | SaaS | SaaS (CF) |
Para administraciones públicas y sectores regulados en la UE, la combinación autohospedado + EAA/WCAG + GDPR sin transferencia a terceros es un diferenciador real.
Casos de uso típicos
- Formularios y registro/login (sin puzzles, con PoW y rate-limit).
- APIs y M2M (modo Machine-to-Machine como consumer-side rate limiter).
- Moderación de chats/foros y ingestas (clasificador ML + detección de idioma).
- Correo entrante y enlaces protegidos (página de verificación previa a redirecciones).
- WordPress: ALTCHA for WordPress v2 (compatible con plugins de formularios, firewall y limitación de velocidad integrados).
Cumplimiento y accesibilidad
- Privacidad: sin cookies, sin huella digital, no exporta datos a terceros.
- Regulaciones: GDPR, HIPAA, CCPA, PIPEDA/CPPA, LGPD, DPDPA, PIPL.
- Accesibilidad: WCAG 2.2 AA y EAA 2025 (audio, alto contraste, navegación teclado, i18n 50+ idiomas, RTL).
Arquitectura de despliegue recomendada
[Cliente] -- PoW JS (inline) --> [Reverse Proxy/WAF]
|--> [ALTCHA Sentinel API] (on-prem, Docker/K8s)
|--> [Tu App/API]
Lenguaje del código: JavaScript (javascript)
- Núcleo OSS: empotra el widget con tu build (Vite/Webpack) para 0 ms de latencia.
- Sentinel: despliega Docker (o Helm en K8s), expón /verify y /challenge, conecta Threat Intel y rate-limit por IP/usuario.
Migración en 30 minutos (desde reCAPTCHA/hCaptcha/Turnstile)
- Instala el paquete npm (
@altcha-org/altcha
) y añade el widget al formulario. - Servidor: verifica el payload con la librería oficial (p. ej., TypeScript/Go/PHP).
- Prueba: habilita PoW-only; valida métricas de abandono y bloqueo.
- Opcional: agrega Sentinel para detección adaptativa + reglas de negocio (IP geofence, velocity rules).
Ejemplo (Node/Express, verificación del token):
import { verifyAltcha } from '@altcha-org/altcha-node';
app.post('/contact', async (req, res) => {
const token = req.body.altcha;
const ok = await verifyAltcha({ token, secret: process.env.ALTCHA_SECRET });
if (!ok) return res.status(403).send('Verification failed');
// ... procesa el formulario
res.send('OK');
});
Lenguaje del código: JavaScript (javascript)
Ejemplo (Go):
ok, err := altcha.Verify(altcha.VerifyParams{
Token: r.FormValue("altcha"),
Secret: os.Getenv("ALTCHA_SECRET"),
})
if err != nil || !ok { http.Error(w, "Forbidden", 403); return }
Lenguaje del código: JavaScript (javascript)
¿Open-source o Sentinel?
Decisión | Cuando usar OSS | Cuando usar Sentinel |
---|---|---|
Riesgo & volumen | Sitios y formularios con riesgo medio/bajo | Alto tráfico, APIs, fraude, scraping, ataques automatizados |
Cumplimiento | Necesitas GDPR/EAA sin terceros | Además, necesitas telemetría, límites avanzados, geofencing, listas grises |
Operación | Equipo pequeño | Equipo con DevOps/SecOps (Docker/K8s), políticas y runbooks |
Guía de decisión (rápida)
- ¿Regulación estricta / sector público? → Autohospedado (ALTCHA OSS + Sentinel).
- ¿Experiencia sin fricción y alto % móvil? → PoW inline (0 ms) + desafío de código sólo en riesgo alto.
- ¿Bots persistentes / scraping / abuso API? → Sentinel con detección en múltiples capas y rate-limit server-side.
Métricas que debes vigilar
- Tasa de resolución (PoW y desafío de código).
- Bloqueos verdaderos/ falsos positivos y abandono de formulario.
- Tiempo de carga del widget (inline vs CDN).
- Ahorro en CPU y ancho de banda tras filtrar bots (especialmente en APIs).
- Señales de riesgo que promocionan al desafío (umbral, idioma, reputación IP).
Preguntas frecuentes
¿Rompe la accesibilidad?
No: cumple WCAG 2.2 AA/EAA, con audio y soporte RTL. La meta es no mostrar puzzles salvo riesgo alto.
¿Y si necesito integrarlo en apps móviles?
Hay widgets para Flutter y React Native; para APIs usa M2M ALTCHA como rate-limiter del lado del consumidor.
¿Qué pasa con usuarios sin JS o con bloqueadores?
ALTCHA funciona sin tracking; si JS está deshabilitado, puedes graceful fallback al desafío de código.
¿Dónde se guardan los datos?
En tu infraestructura. No hay transferencia a servicios de terceros; con Sentinel, todo es on-prem (Docker/K8s).
Hoja de ruta sugerida para un piloto
- PoC (1 semana): integra OSS en un formulario de bajo riesgo; mide abandono y bloqueos.
- Ampliación (2-3 semanas): añade APIs y M2M, incorpora i18n y audio.
- Producción (1 mes): despliega Sentinel (Docker/K8s), activa reglas adaptativas, geofence, rate-limits y telemetría.
- Cumplimiento: documenta política de privacidad, DPA y evaluación de impacto si aplica (GDPR).
- Mantenimiento: revisa umbral de riesgo y listas cada trimestre.
Enlace útil
- GitHub (OSS):
altcha-org/altcha
- Docs + Sentinel trial (30 días): altcha.org
Conclusión. Si buscas privacidad real, accesibilidad y rendimiento sin delegar datos a terceros, ALTCHA es una opción muy sólida. Para cargas serias y APIs, Sentinel aporta la capa que falta (detección y control a escala) manteniendo el control on-prem.