Seguridad de la información
Seguridad por diseño
ENDONSYS gestiona historiales clínicos, datos personales de pacientes y registros de facturación de tu clínica. Por eso el control de acceso y el aislamiento de datos entre clínicas son requisitos de diseño desde el inicio del proyecto, no algo agregado después. Aplicamos principios de mínimo privilegio en todo el sistema.
A continuación describimos, en términos concretos, las medidas técnicas y organizativas implementadas hoy. Si una medida está planificada pero aún no implementada, lo indicamos explícitamente en vez de darla por hecha.
1. Protección y cifrado de datos
La información clínica, financiera y operativa se protege en tránsito y en reposo, y los campos más sensibles reciben una capa adicional de cifrado.
Cifrado en tránsito
Toda la comunicación entre el navegador y nuestros servidores viaja cifrada por HTTPS/TLS. El sistema no acepta conexiones sin cifrar.
Cifrado en reposo
La base de datos se aloja en infraestructura gestionada con cifrado en reposo a nivel de disco. Además, campos particularmente sensibles reciben cifrado propio a nivel de aplicación antes de guardarse.
Aislamiento por clínica (Row-Level Security)
Cada clínica (tenant) tiene sus datos aislados mediante Row-Level Security a nivel de base de datos, además de las validaciones de la aplicación. Un usuario de una clínica no puede leer ni modificar datos de otra clínica.
Copias de seguridad
La base de datos se respalda de forma periódica a través de nuestro proveedor de base de datos gestionado, permitiendo restaurar el sistema ante un incidente.
2. Control de acceso y autenticación
El acceso está basado en roles (RBAC): cada usuario ve y modifica únicamente lo que su rol dentro de la clínica le permite.
Autenticación de dos factores (2FA)
Las cuentas pueden protegerse con verificación en dos pasos (TOTP) además de la contraseña, y las sesiones expiran automáticamente por inactividad.
Control por rol y por clínica
Un usuario sin privilegios clínicos no puede ver ni modificar el expediente de un paciente fuera de su alcance, y el acceso entre clínicas distintas está bloqueado a nivel de datos, no solo de interfaz.
3. Infraestructura y protección de la aplicación
La aplicación corre sobre infraestructura en la nube con protección de red a nivel de borde (edge) y controles a nivel de código contra los vectores de ataque más comunes.
Límite de tasa en APIs
Las rutas sensibles (login, formularios públicos) aplican límite de intentos por IP para frenar fuerza bruta y abuso automatizado.
Consultas parametrizadas
El acceso a la base de datos se hace a través de un ORM (Prisma) con consultas parametrizadas, sin concatenación de SQL, lo que elimina la clase de vulnerabilidad de inyección SQL clásica.
Registro de auditoría
Las acciones sensibles (accesos administrativos, cambios de rol, exportaciones masivas, eliminación de datos) quedan registradas en un log de auditoría interno.
4. Recordatorios automáticos por WhatsApp
El envío de recordatorios de citas usa la API oficial de WhatsApp Business de Meta. Es una integración opcional que cada clínica activa por su cuenta.
Webhooks verificados
Las notificaciones entrantes desde Meta se validan mediante firma criptográfica antes de procesarse, para descartar solicitudes falsificadas.
Datos mínimos compartidos
Solo se envía a la API de WhatsApp la información operativa necesaria para el recordatorio (nombre y horario de la cita), no diagnósticos ni datos clínicos.