Seguridad

Seguridad de producción para infraestructura de formularios.

FormsFort implementa cifrado, controles de acceso, prevención de abuso, escaneo de archivos adjuntos, registro de auditoría y puertas de liberación automatizadas. Estos controles se verifican en CI y durante cada implementación de producción.

Cifrado

  • TLS para todo el tráfico de API, panel, administrador y sitio web
  • Claves de acceso codificadas con un pepper del lado del servidor; claves completas nunca expuestas en el panel o en las vistas de soporte
  • Cargas útiles de reintento de correo electrónico, URL de destino de webhook, payloads de reintento de webhook, payloads de reintento de Google Sheets, secretos de captcha y configuración de integración cifradas en reposo
  • Tokens de actualización de OAuth para Google Sheets cifrados en la base de datos, nunca devueltos por la API

Controles de acceso

  • Las rutas del panel requieren sesiones autenticadas
  • Las solicitudes de soporte del panel requieren sesiones autenticadas
  • Las operaciones de soporte administrativo están aisladas detrás de la autenticación básica y un token de administrador solo de servidor
  • Solicitudes del navegador del plano de control permitidas solo desde el origen del panel configurado
  • Mutaciones del navegador entre sitios a /v1/* y /auth/* bloqueadas por las comprobaciones de Origin y Fetch Metadata
  • Aplicación de administración protegida por credenciales de autenticación básica

Minimización de datos

  • Los cuerpos de envío sin procesar no se almacenan; solo se conservan los nombres de campo, hashes, ID de solicitud, estados y metadatos redactados
  • Las payloads de entrega exitosa de correo electrónico y webhook se eliminan después de la entrega
  • Las vistas de mensajes fallidos y soporte exponen operaciones Solo metadatos, no payloads sin procesar
  • La finalización de la eliminación de cuenta anonimiza los datos de identidad y evita escribir la PII del solicitante en el registro de auditoría

Prevención de abuso y spam

  • Límites de velocidad de ventana fija por IP, por formulario y por tamaño de ventana
  • Rechazo de campo Honeypot para bots automatizados
  • Puntuación de spam basada en contenido con muchos enlaces y patrones comunes de términos de spam
  • Bloquear y permitir reglas de abuso para IP, dominio de origen del navegador, agente de usuario, dominio de correo electrónico del remitente, TLD y texto de mensaje repetido
  • Los proveedores de captcha (reCAPTCHA v2/v3, hCaptcha, Cloudflare Turnstile) no se cierran con tiempos de espera de verificación limitados
  • La lista de supresión de destinatarios bloquea los correos electrónicos salientes devueltos o no seguros antes de la entrega

Análisis de archivos adjuntos

  • Archivos adjuntos multiparte en línea escaneados antes de que la entrega se ponga en cola
  • Las cargas avanzadas de almacenamiento de objetos requieren un escaneo ClamAV limpio antes de que un envío pueda consumir la clave de almacenamiento
  • Aplicación a nivel de formulario del recuento máximo de archivos, tamaño máximo de archivos, tipos MIME permitidos y extensiones de nombre de archivo ejecutables/script bloqueadas
  • Las claves de almacenamiento enviadas son de un solo uso y se consumen atómicamente

Observabilidad y auditoría

  • Cada respuesta API incluye X-Request-Id, X-Trace-Id y encabezados traceparent W3C
  • Los registros de auditoría registran asignaciones de derechos, cambios de perfil/seguridad, cambios de configuración y ciclo de vida de formularios, cambios de integración, cambios de invitación y miembros del espacio de trabajo, mutaciones de reglas de abuso, cambios de supresión, solicitudes y finalizaciones de eliminación de cuentas y pruebas de integración activadas por el administrador
  • Evaluación de alertas incorporada para trabajos pendientes, fallas de entrega, volumen HTTP no 2xx, bloques de envío, depósitos de límite de velocidad, escaneos de archivos adjuntos bloqueados, errores de almacenamiento de carga y reservas de carga pendientes
  • Las alertas se pueden enrutar a webhooks de incidentes externos con canales separados de advertencia, críticos y de escalada

Encabezados de seguridad del navegador

  • Contenido-Política de seguridad (CSP)
  • Seguridad de transporte estricta (HSTS)
  • X-Frame-Options (protección de marco)
  • Referrer-Policy
  • X-Content-Type-Options (nosniff)
  • Permissions-Policy

Seguridad del webhook

  • Los destinos de webhook deben utilizar HTTPS en producción
  • Los destinos no pueden incluir credenciales incrustadas, apuntar a loopback o literales de direcciones privadas, ni resolver en DNS privado
  • Intentos de salida limitados por tiempos de espera configurables, por lo que los endpoints lentos fallan en la ruta de reintento/letra fallida

Puertas de liberación

Cada despliegue de producción pasa por controles de release automatizados. Se aplican en CI y no se pueden omitir.

  • CI pasa formateo, comprobaciones de tipo, pruebas, comprobaciones de migración de Drizzle y compilaciones de producción en cada inserción
  • La verificación de configuración de producción falla valores predeterminados no seguros, URL de host local, URL públicas de dirección privada, secretos faltantes y URL de inicio inseguros
  • La API y los procesos de trabajo se niegan a comenzar con una configuración de producción fallida cuando NODE_ENV=producción
  • Evidencia de migración de la base de datos capturada antes de la implementación
  • La verificación de restauración se ejecuta contra una base de datos PostgreSQL aislada, no la base de datos de producción
  • La evidencia de lanzamiento verifica la accesibilidad de la API, el panel y el sitio web, además de los encabezados de seguridad del navegador requeridos antes de ejecutar un simulacro de prueba de carga
  • La lista de verificación de seguridad requiere aprobación de ingeniería, operaciones y seguridad/privacidad con nombres y fechas concretas
  • El verificador de paquetes de versiones revalida todos los artefactos de origen hashes e identidades de bases de datos antes de la implementación final

Mejoras planificadas

Estos elementos están en la hoja de ruta pero aún no están completados. FormsFort actualmente no cuenta con ninguna certificación de seguridad de terceros.

  • Auditoría SOC 2 Tipo II
  • Prueba de penetración formal realizada por una empresa externa
  • Programa de recompensas por errores

Informar una vulnerabilidad

Si cree que ha encontrado una vulnerabilidad de seguridad en FormsFort, infórmelo responsablemente a [email protected]. Incluya los pasos para reproducir, los endpoints afectados y su evaluación de la gravedad. Acusaremos recibo y proporcionaremos un cronograma para la reparación.