Seguridad y despliegue
Su servidor, su base de datos, su política.
KulturPro se instala donde usted decida. Abajo está lo que trae de fábrica en control de acceso, lo que registra y lo que hace falta para ponerlo a andar. También lo que no incluye.
Control de acceso
Lo que pasa antes de ver un dato.
En el orden en que ocurre, desde que alguien escribe la dirección hasta que la consulta devuelve filas.
Entrar
- Contraseñas guardadas con Argon2, nunca en claro
- Política configurable de longitud, mayúsculas, dígitos y símbolos
- Historial que impide repetir las últimas contraseñas
- Bloqueo de la cuenta tras varios intentos fallidos
- reCAPTCHA en el formulario de inicio de sesión
Confirmar
- Segundo factor con aplicación de autenticación o con código al correo
- Aviso al correo del titular cuando alguien falla al entrar con su cuenta
- Cambio de contraseña obligatorio en el primer ingreso
- Recuperación con enlace de un solo uso y vencimiento
Elegir empresa
- La empresa se escoge al iniciar sesión y viaja en la sesión
- Sin empresa en la sesión, la consulta no devuelve nada
- Al renovar la sesión se vuelve a validar el acceso a esa empresa
- Si le quitan el acceso, la sesión se cierra
Autorizar
- Roles de administrador, jefe y usuario sobre pantallas y sobre la API
- Permisos por nodo de la jerarquía en el módulo de activos
- Mapa de permisos de la suite anfitriona cuando corre hospedado
- Las operaciones de administración piden motivo y quedan registradas
Consultar
- La sesión viaja en una cookie que el navegador no deja leer por script
- Protección contra falsificación de petición con doble cookie
- Límite de frecuencia en inicio de sesión, webhook y generación con IA
- Las consultas de los tableros pueden correr con un usuario de base de solo lectura
Arquitectura
Dónde queda cada pieza.
Un despliegue típico en Windows Server: el sitio, la API como aplicación hija y la base detrás, sin exponer nada más de lo necesario.
Servidor de aplicación
Windows Server con IIS: el sitio en la raíz y la API como aplicación hija en /api.
SQL Server
La base del producto, 2019 o superior, accesible solo desde el servidor de aplicación.
Archivos adjuntos
Carpeta del servidor, fuera del sitio publicado, que debe entrar en su política de respaldo.
Vigilante de plazos
Revisa los vencimientos y dispara las alertas, una pasada por empresa.
Ediciones menores
Libera los arranques que quedaron en cola al cerrar una edición.
Mantenimiento preventivo
Genera las órdenes de los planes por recurrencia.
Solo si hace falta
El sitio y la API se publican con HTTPS. El punto del webhook y los enlaces de tareas para terceros son los únicos accesos sin sesión, y están limitados por frecuencia.
Correo
SendGrid o su propio SMTP.
Proveedor de IA
Solo si activa la generación asistida.
reCAPTCHA
Solo si lo habilita en el inicio de sesión.
Requisitos
Qué hace falta para instalarlo.
| Componente | Detalle | Obligatorio |
|---|---|---|
| Servidor | Windows Server con IIS 10 o superior y el paquete de hospedaje de ASP.NET Core 8. | Sí |
| Base de datos | SQL Server 2019 o superior. El esquema se aplica con scripts numerados e idempotentes. | Sí |
| Certificado | HTTPS en el sitio; la aplicación redirige el tráfico sin cifrar. | Sí |
| Correo saliente | SendGrid o un servidor SMTP. Sin esto no salen avisos de plazo ni enlaces a terceros. | Opcional |
| Proveedor de IA | Una clave del proveedor. Sin ella, la aplicación avisa y se sigue usando a mano. | Opcional |
| Usuario de solo lectura | Un inicio de sesión restringido para las consultas de los tableros. | Opcional |
| Navegador | Cualquiera actual, en computador o teléfono. No se instala nada en el equipo del usuario. | Sí |
Operación
Cómo se mantiene.
Publicación automatizada
La entrega corre por un flujo de trabajo con aprobación manual para producción; el mismo flujo atiende varios sitios desde un archivo de configuración.
Respaldo antes de publicar
La publicación en producción saca una copia de la base antes de aplicar los cambios, y guarda la versión anterior de la aplicación por si hay que devolverse.
Esquema por scripts
Los cambios de base van en scripts numerados que se pueden volver a correr sin daño, aplicados como un paso más de la publicación.
Registro en archivo
La aplicación escribe un registro diario en el servidor; conviene incluir esa carpeta en su política de retención.
Ambientes separados
Calidad y producción son sitios distintos, con su propia base y su propia configuración, que nunca viaja en el repositorio.
Punto de salud
Hay una dirección de comprobación para el balanceador o el monitoreo.
- Firma electrónica de registros: no existe en el producto.
- Inicio de sesión único, SAML, OIDC o Active Directory: los usuarios viven en KulturPro.
- Cifrado de los datos en reposo: si lo necesita, se resuelve en el motor de base de datos o en el disco.
- Respaldo programado desde la aplicación: la copia es una tarea de su administrador de base de datos.
- Certificaciones: no declaramos ISO 27001, SOC 2 ni cumplimiento GxP para este producto.
Preguntas
Sobre seguridad y operación.
¿Se puede instalar en la nube?
Sí. Lo que pide es Windows Server con IIS y SQL Server; si eso está en su nube, allí corre. No dependemos de un servicio administrado en particular.
¿Quién ve los datos de otra empresa?
Nadie desde la aplicación: el filtro por empresa está en el acceso a datos y una sesión sin empresa no devuelve filas. Quien administre la base de datos sí los ve, como en cualquier sistema.
¿Qué pasa si un usuario se va de la organización?
Se desactiva la cuenta y sus tareas se reasignan en bloque, con motivo. El registro de lo que hizo no se borra.
¿Guardan ustedes nuestros datos?
No. La instalación es suya. Si nos da acceso para soporte, es con sus credenciales y bajo sus reglas.
¿Sirve para industria farmacéutica regulada?
Para los procesos administrativos, sí. Para registros que exigen firma electrónica y validación GxP, no: eso lo cubre la suite InduBatch del mismo fabricante.
Revisemos su despliegue antes de prometer fechas.
En una sesión con su área de sistemas repasamos servidor, base, correo y publicación, y le decimos qué falta.