Seguridad
Seguridad de datos clínicos de grado empresarial
Cifrado AES-256, TLS 1.2+, audit trail indefinido, 2FA y revisiones de seguridad continuas. Trialinx está diseñado para soportar HIPAA, 21 CFR Parte 11 y RGPD — y lo documentamos abiertamente.
Cifrado en reposo
AES-256
Cifrado en tránsito
TLS 1.2+
Audit trail
7 puntos · indefinido
Autenticación
2FA + contraseñas verificadas (NIST)
Control de accesos
RBAC granular por estudio
Base de datos
Neon Postgres · ISO 27001 / SOC 2
Cifrado en reposo y en tránsito
Todos los datos clínicos se almacenan con cifrado AES-256 en reposo gestionado por nuestro proveedor de base de datos (Neon Postgres). Los backups automáticos heredan el mismo nivel de cifrado y se replican en distintas zonas de disponibilidad.
La comunicación entre clientes y servidores usa TLS 1.2 o superior con cipher suites modernas y HSTS con max-age de 1 año. No se aceptan conexiones sin cifrar.
- •AES-256 en reposo (datos + backups)
- •TLS 1.2+ con HSTS max-age=31536000
- •Certificados administrados automáticamente
- •Sin datos clínicos en logs de aplicación
Autenticación y control de accesos
La autenticación se apoya en Better Auth con contraseñas comparadas en tiempo constante, verificación de email obligatoria y 2FA opcional basado en TOTP. Soportamos inicio de sesión con Google y LinkedIn para flujos SSO ligeros.
El control de accesos es granular por estudio. Cada estudio tiene 3 roles (viewer, collaborator, manager) con permisos distintos sobre formularios, sujetos, aleatorización y exportaciones. Las sesiones usan cookies SameSite=Lax con rotación en cambios de privilegio.
- •Autenticación Better Auth con timing-safe compare
- •2FA TOTP compatible con authenticator estándar
- •SSO vía Google y LinkedIn (empresarial SSO SAML bajo demanda en Institutional)
- •Sesiones con SameSite=Lax y rotación de tokens
Audit trail de 7 puntos
Cada acción relevante queda registrada con 7 datapoints: user ID, study ID, entity type, entity ID, action, IP, user agent y timestamp. Los valores antiguos y nuevos se guardan para cambios editables.
Rastreamos 11 tipos de acción sobre 13 categorías de entidad: login/logout, creación, modificación, borrado, aleatorización, exportación, invitación, cambio de permiso, consulta IA, resolución de queries y publicación de formularios.
Los logs se retienen de forma indefinida para cumplir con 21 CFR Parte 11 y HIPAA. Se pueden exportar a CSV o JSON en cualquier momento.
- •7 datapoints por evento
- •11 tipos de acción · 13 categorías de entidad
- •Retención indefinida
- •Exportación a CSV / JSON para auditoría
Aislamiento de datos entre estudios
Cada estudio es una unidad lógica aislada. Los colaboradores se añaden explícitamente y solo ven los datos del estudio al que pertenecen. No hay queries cross-estudio para usuarios finales.
Internamente, todas las queries a Postgres pasan por Drizzle ORM con parámetros — 100% parameterized queries. No se construye SQL por concatenación de strings en ningún punto de la aplicación.
- •Aislamiento lógico por estudio
- •Drizzle ORM · 100% parameterized queries
- •Protección contra SQL injection por diseño
Seguridad de aplicación
La aplicación aplica cabeceras de seguridad estrictas: Content-Security-Policy, X-Frame-Options: DENY, X-Content-Type-Options: nosniff, Referrer-Policy y Permissions-Policy restrictivas.
La validación de inputs es con Zod 4 en todos los endpoints, incluyendo sanitización anti-null-bytes y rechazo de HTML en campos de texto renderizables.
- •CSP estricta (no eval externo, frame-ancestors 'none')
- •Validación Zod + sanitización anti-injection
- •Rate limiting en endpoints sensibles
- •Verificación de email obligatoria antes de acceso
Infraestructura y disaster recovery
La infraestructura se despliega en Vercel con funciones serverless y base de datos Postgres gestionada por Neon (certificada SOC 2 Type II, ISO 27001).
Backups automáticos con point-in-time recovery hasta 7 días. Los datos no salen de regiones UE para clientes europeos (configurable en plan Institutional).
- •Hosting: Vercel (SOC 2 Type II)
- •Base de datos: Neon Postgres (SOC 2 Type II, ISO 27001)
- •Backups point-in-time 7 días
- •Datos en UE disponible en Institutional
Gestión de vulnerabilidades
Revisiones de dependencias automatizadas (Dependabot) con aplicación de parches de seguridad en ciclo semanal. Pentest anual externo sobre el perímetro público y los endpoints autenticados.
Proceso de disclosure responsable en security@trialinx.com. Recompensas disponibles para hallazgos serios (plan en desarrollo).
- •Escaneo de dependencias continuo
- •Pentest anual externo
- •Disclosure responsable en security@trialinx.com
Preguntas frecuentes de seguridad
¿Mis datos se comparten con terceros o se usan para entrenar IA?
No. Los datos clínicos de los estudios nunca se comparten con terceros ni se usan para entrenar modelos. Las funciones de IA que procesan datos clínicos usan modelos con retención cero y no re-entrenamiento.
¿Dónde se almacenan físicamente los datos?
Por defecto en infraestructura AWS multi-región (Neon Postgres). Para clientes del plan Institutional podemos configurar residencia de datos exclusivamente en la UE.
¿Tenéis certificación SOC 2 o ISO 27001?
Nuestra infraestructura base (Vercel, Neon) está certificada SOC 2 Type II e ISO 27001. Trialinx como empresa está en proceso de obtener SOC 2 Type II directo — plazos publicados en la documentación pública para comités éticos.
¿Cómo comunicáis incidentes de seguridad?
Tenemos un proceso documentado de respuesta a incidentes. Los usuarios afectados reciben notificación por correo en menos de 72 horas si hay un incidente con impacto sobre sus datos (conforme a RGPD Art. 33).
¿Cómo borro todos mis datos si cancelo la cuenta?
Puedes solicitar el borrado total vía /settings. Los datos se marcan como borrados inmediatamente y se purgan del sistema activo en 30 días. Los backups con retención superior se rotarán naturalmente conforme su política.
¿Necesitas documentación para tu comité ético?
Tenemos un paquete público de documentación que cubre nuestra postura respecto a HIPAA, 21 CFR Parte 11, RGPD y FISMA. Perfecto para adjuntar a una solicitud de CEIm.
Ver documentación para comités éticos