Saltar al contenido principal

Prácticas de seguridad

La seguridad no es una función que añadimos después: está integrada en cada capa de nuestra arquitectura. Seguimos principios de defensa en profundidad, asumiendo que cualquier capa individual podría verse comprometida.

Métodos de autenticación

Admitimos múltiples métodos de autenticación para equilibrar la seguridad con la conveniencia del usuario:

  • Correo electrónico/Contraseña: Con requisitos de contraseña robustos, detección de brechas y políticas de bloqueo de cuenta.
  • Magic Links: Inicio de sesión sin contraseña mediante OTP por correo electrónico para reducir la exposición de credenciales.
  • OAuth: Integración con Google y GitHub a través de Supabase, aprovechando su infraestructura de seguridad.
  • SSO empresarial: SAML 2.0, OAuth 2.0 y OpenID Connect para identidades gestionadas por la organización.
  • WebAuthn: Llaves de seguridad de hardware y autenticación biométrica usando el estándar FIDO2.
  • MFA: TOTP, SMS, correo electrónico y WebAuthn como segundos factores con códigos de respaldo para la recuperación.

Protección CSRF

La falsificación de solicitudes entre sitios se previene mediante múltiples mecanismos:

  • Generación de tokens usando crypto.getRandomValues()
  • Tokens incluidos en los encabezados X-CSRF-Token
  • Almacenamiento basado en sesión con expiración de 1 hora
  • Validación del encabezado X-Requested-With
  • Atributos SameSite en las cookies

Encabezados de seguridad

Cada respuesta incluye encabezados de seguridad completos:

  • X-Frame-Options: DENY — Previene el clickjacking
  • X-Content-Type-Options: nosniff — Detiene el rastreo de MIME
  • Strict-Transport-Security — Fuerza HTTPS con precarga
  • Content-Security-Policy — Restringe los orígenes de recursos
  • Referrer-Policy: strict-origin-when-cross-origin
  • Permissions-Policy — Deniega geolocalización, cámara, micrófono

Limitación de velocidad

Implementamos limitación de velocidad escalonada para prevenir abusos mientras permitimos el tráfico legítimo:

  • Intentos de inicio de sesión: 5 intentos por 15 minutos antes del bloqueo
  • Endpoints de API: Límites por clave basados en el nivel de suscripción
  • Endpoints de seguimiento: Límites más altos para acomodar picos de tráfico
  • Reputación de IP: Bloqueo automático de actores maliciosos conocidos

Gestión de claves de API

El acceso externo a la API se controla mediante claves de API con alcance definido:

  • Las claves están cifradas en reposo en la base de datos
  • Limitación de velocidad y seguimiento de uso por clave
  • Permisos con alcance (acceso total vs. específico por sitio)
  • Capacidad de revocación instantánea
  • Opciones de expiración automática

Registro de auditoría

Mantenemos registros de auditoría completos para la seguridad y el cumplimiento normativo:

  • Todos los eventos de autenticación (inicio de sesión, cierre de sesión, intentos fallidos)
  • Cambios de configuración con valores antes/después
  • Creación y revocación de claves de API
  • Cambios en la membresía del equipo
  • Eventos de facturación y cambios de suscripción

Cumplimiento del privacy regulations

La privacidad es una función central del producto, no una consideración posterior:

  • Funcionalidad de exportación de datos para solicitudes de usuarios
  • Derecho al olvido con eliminación completa de datos
  • Períodos de retención de datos configurables
  • Sin seguimiento entre sitios ni cookies de terceros
  • Opciones de anonimización de IP
  • Gestión del consentimiento de cookies