Aislamiento por cliente
Cada empresa tiene su propia base de datos con credenciales propias. No hay tablas compartidas entre clientes ni un «id de empresa» del que dependa la separación. Una base de control mínima solo guarda el registro de inquilinos y las credenciales de API.
Acceso y autenticación
Contraseñas con hash moderno (bcrypt o Argon2). Doble factor por email, SMS, WhatsApp o aplicación TOTP, activable por el propio usuario. «Recordar este equipo» limitado a siete días. Recuperación y creación de contraseña por enlace de un solo uso.
Permisos por rol, resueltos en servidor
Cuatro roles de negocio (administración, oficina, representante, cliente). Lo que ve cada uno, incluidas estadísticas y respuestas de la IA, lo decide el servidor: un representante no puede ampliar su ámbito desde el navegador ni preguntando al asistente.
Límites anti-abuso
Control de frecuencia por usuario (no solo por IP) en el acceso, la recuperación de contraseña, la IA y las utilidades de mensajería. Las claves de proveedores externos se guardan cifradas (XChaCha20-Poly1305) y nunca se devuelven al navegador.
Integraciones firmadas
La API de integración usa tokens JWT de corta duración con el inquilino dentro. Los webhooks salientes van firmados con HMAC-SHA256, solo a HTTPS, nunca a direcciones internas, con reintentos y cola de errores para que no se pierda ningún evento.
Alojamiento en la Unión Europea
Servidores y copias de seguridad en centros de datos de la UE. Imágenes y ficheros en almacenamiento compatible S3 con réplica. Cifrado en tránsito (TLS 1.2+) y en reposo en los volúmenes de datos.