Función — recogida

Protección antispam que nadie tiene que superar.

NumoForms filtra los envíos basura con tres capas aplicadas por un disparador de base de datos y no por el formulario: un campo señuelo fuera de la pantalla, un umbral de permanencia de 3 segundos por defecto y configurable por encuesta, y un límite de frecuencia de 30 respuestas por minuto y por encuesta. Deliberadamente no hay reCAPTCHA. Una respuesta que las comprobaciones marcan no se descarta: se le explica a la persona lo que ha pasado y puede confirmarla.

La comprobación vive en la base de datos, no en la página

En NumoForms las respuestas se insertan directamente desde el navegador en la base de datos. Eso significa también que cualquier regla escrita solo en la interfaz es orientativa. Un script que envía directamente a la API nunca ejecuta su JavaScript, así que nunca ve la comprobación.

Por eso las tres comprobaciones se ejecutan en un disparador de base de datos. Toda inserción pasa por él, venga de la página alojada de la encuesta, de una encuesta insertada en otro sitio o de un script que alguien escribió a las tres de la madrugada. Es el mismo razonamiento que hay detrás de las fechas de cierre y los límites de respuestas, que también se aplican en la base de datos en lugar de ocultando un botón.

Dónde se ejecutan las comprobaciones importa más que lo ingeniosas que sean. Dos de las tres señales —el valor del señuelo y el tiempo transcurrido— las envía el navegador, así que un script hecho a medida puede dejar vacío el campo oculto y no enviar ningún dato de tiempo. El límite de frecuencia no necesita nada del cliente, y por eso es la capa que sigue aguantando cuando las otras dos se eliminan.

Las tres capas

1. Señuelo

Un campo situado fuera de la pantalla que una persona que rellena la encuesta nunca ve ni enfoca. Los rellenadores automáticos de formularios tienden a completar todos los campos que encuentran. Cualquier envío que llegue con ese campo relleno no lo ha rellenado una persona leyendo la página.

2. Tiempo de permanencia

Un umbral, en segundos, sobre cuánto tardó una respuesta. El valor por defecto es 3 y se fija por encuesta, de modo que una consulta de 40 preguntas puede exigir más que un formulario de opinión de dos. La ausencia de dato de tiempo no se trata como correo basura, así que los clientes antiguos y las respuestas retomadas con un enlace de guardar y continuar siguen funcionando.

3. Límite de frecuencia

Respuestas por minuto y por encuesta, 30 por defecto. Este no necesita absolutamente nada del cliente, que es de lo que se trata: sigue aguantando frente a un bot que elimine todos los metadatos de los que dependen las otras dos capas.

Por qué no hay reCAPTCHA

Es la decisión que más probablemente saldrá en una licitación, así que aquí está el argumento completo.

Convierte a Google en subencargado del tratamiento de su consulta

Poner reCAPTCHA en el formulario de una consulta pública significa que cada vecino que lo abre envía datos a Google antes de responder a una sola pregunta. Alguien de su organización tiene entonces que registrar esa transferencia, justificarla y defenderla en una cláusula informativa, y todo por un formulario que existe para recoger opiniones sobre la recogida de residuos. NumoForms mantiene el contenido de las encuestas y las respuestas en la región de Londres de Supabase, y la página sobre RGPD y protección de datos explica qué significa eso en la práctica. Añadir una empresa de publicidad a la cadena de tratamiento para atrapar un puñado de filas basura es un mal negocio para una administración local que realiza consultas públicas.

Deja fuera a las personas con discapacidad

Los desafíos con imágenes y audio son una causa bien documentada de envíos fallidos entre personas con discapacidad. Nuestra página de accesibilidad defiende justo lo contrario de ese patrón. Incluir un CAPTCHA contradiría una posición que publicamos, y una encuesta que alguien con lector de pantalla no puede terminar no es una encuesta con buena protección antispam: es una encuesta con la muestra sesgada.

Las tres comprobaciones que ejecuta NumoForms son invisibles. A nadie se le pide demostrar nada, identificar un autobús ni transcribir un audio distorsionado. No hay ningún desafío que se pueda fallar.

El rechazo nunca es definitivo

Toda heurística de las que hay aquí tiene un caso honesto de falso positivo, y fingir lo contrario sería la forma de perder datos reales.

Una encuesta de dos preguntas se responde de verdad en un par de segundos. Una sala con treinta personas en un acto de consulta, a las que se entrega el enlace a la vez, produce de verdad treinta envíos en el mismo minuto. Desde el punto de vista de la base de datos, ambas cosas tienen exactamente el aspecto de un ataque.

Por eso una respuesta marcada no se tira en silencio. Se le muestra a la persona lo que ha pasado, conserva sus respuestas y puede volver a enviarlas: el segundo intento prescinde de la señal de tiempo, porque acaba de responder por ella una persona. El señuelo y el límite de frecuencia siguen aplicándose, así que a una avalancha real se le pide que lo intente dentro de un momento en lugar de dejarla pasar sin más. Eso convierte el filtro en fricción para un script y en una pulsación extra para una persona. Perder una respuesta real a una consulta es peor que aceptar una basura, y una basura resulta evidente después en su analítica de resultados y abandono.

Qué no hace esto

Dicho con claridad, porque acabará descubriéndolo de todos modos.

  • No hay Cloudflare Turnstile. Es el desafío respetuoso con la privacidad que más se sugiere como alternativa a reCAPTCHA, y hoy no está integrado.
  • No hay bloqueo por IP. Aquí nada bloquea ni limita por dirección, así que un atacante decidido que reparta los envíos entre muchas fuentes y los dosifique por debajo del límite no queda detenido por estas tres capas.
  • Dos de las tres señales vienen del navegador. El valor del señuelo y el tiempo transcurrido los aporta el cliente, así que un script escrito específicamente para su encuesta puede negarse a enviar cualquiera de los dos. Detienen a los rellenadores de formularios genéricos, no a un atacante dirigido; el límite de frecuencia es la capa que no depende de la cooperación de nadie.
  • No hay filtrado de contenido. Las comprobaciones miran cómo llegó una respuesta, no lo que dice. El texto libre ofensivo es un problema de moderación; las aprobaciones de un solo paso retienen las respuestas hasta que alguien las firma.

En lo que estas capas son buenas es en el caso corriente: rellenadores automáticos de formularios, envíos masivos desde un mismo script y el doble envío accidental.

Preguntas frecuentes sobre el spam en encuestas

¿Usa NumoForms reCAPTCHA?

No, y es una decisión deliberada, no una carencia. Añadir reCAPTCHA convertiría a Google en subencargado del tratamiento en cada consulta pública, algo de lo que después tiene que responder un delegado de protección de datos. Sus desafíos con imágenes y audio son además una causa bien documentada de envíos fallidos entre personas con discapacidad. Las tres comprobaciones que ejecuta NumoForms son invisibles: no hay ningún desafío que se pueda fallar.

¿Qué ocurre si alguien responde de verdad más rápido que el tiempo de permanencia?

Se le muestra lo que ha ocurrido y puede confirmar el envío, que entonces se completa. Una encuesta de dos preguntas se puede responder realmente en menos de tres segundos, así que un rechazo tajante tiraría a la basura respuestas auténticas. Perder una respuesta real a una consulta es peor que aceptar una basura.

¿Por qué se aplican las comprobaciones antispam en la base de datos y no en el formulario?

Porque las respuestas se insertan directamente desde el navegador en la base de datos. Cualquier cosa comprobada solo en la interfaz puede saltársela un script que envíe directamente, así que una comprobación en la interfaz es una sugerencia y no un control. NumoForms ejecuta el señuelo, el tiempo de permanencia y el límite de frecuencia en un disparador de base de datos, por el que pasa toda inserción venga de donde venga.

¿Cuáles son el tiempo de permanencia y el límite de frecuencia por defecto?

El umbral de permanencia es de 3 segundos por defecto y se configura por encuesta. El límite de frecuencia es de 30 respuestas por minuto y por encuesta. El límite de frecuencia no necesita nada del cliente, así que sigue aplicándose a un bot que elimine por completo los metadatos de tiempo.

¿Bloquea NumoForms el correo basura por dirección IP?

No. No hay bloqueo por IP ni integración con Cloudflare Turnstile. La protección son el señuelo, el umbral de permanencia y el límite de frecuencia por encuesta, todos aplicados en la base de datos.

Filtre la basura sin ponerle un acertijo a nadie.

El señuelo, el umbral de tiempo de permanencia y el límite de frecuencia por encuesta se ejecutan en un disparador de base de datos, así que toda respuesta pasa por ellos venga por donde venga. A quienes responden nunca se les pide identificar un autobús.

  • Tres capas: señuelo, tiempo de permanencia y límite de frecuencia
  • El umbral de permanencia se configura por encuesta, 3 segundos por defecto
  • Quien queda marcado puede confirmar y seguir adelante
Empezar a crear