Skip to content
KANAP
ES
Empezar prueba gratuita
Seguridad

Seguridad que respeta sus datos.

Controles a la altura de la gobernanza desde el primer día. La misma plataforma se ejecuta en nuestra nube y en sus propios servidores, con el mismo aislamiento, control de acceso, auditabilidad y gobernanza sobre lo que los agentes pueden hacer.

Principios

KANAP está diseñado para departamentos de TI que manejan datos sensibles. Tratamos sus datos como queremos que los proveedores de TI traten los nuestros: transparentes, aislados y a su alcance cuando los necesita.

Transparente por defecto

Todo el código fuente está en GitHub bajo AGPL v3. Su equipo de seguridad lo lee, lo audita o lo bifurca. Nada queda oculto tras binarios propietarios.

Aislado por diseño

El row-level security de la propia base de datos impone el aislamiento de tenants en cada consulta que ejecuta la aplicación.

Exportable, siempre

Sus datos son suyos. Exportación CSV en las listas principales, exportación de documentos a PDF, DOCX y ODT. Sin tasa de extracción.

Aislamiento de tenants

KANAP es multi-tenant a nivel de base de datos. Cada fila de cada tabla compartida lleva un `tenant_id`, y las políticas de Row-Level Security de PostgreSQL imponen el filtro en cada lectura y escritura. La política es parte del esquema de la base de datos, así que se aplica a cada consulta de la aplicación.

  • Políticas RLS de PostgreSQL en cada tabla que contiene datos de tenant, todas forzadas
  • Filtrado por `tenant_id` aplicado a nivel de base de datos, no solo en la app
  • El tenant actual se fija al inicio de cada transacción de base de datos, y las políticas lo leen
  • El rol de base de datos de la aplicación no tiene derechos de superusuario ni de omisión, y la aplicación se niega a arrancar si los tuviera
  • Una tabla con datos de tenant sin su política de aislamiento hace fallar las pruebas de CI
  • Pruebas de aislamiento de tenants en cada ejecución de CI

Protección de datos

Prácticas estándar, aplicadas con rigor. Hash robusto de contraseñas, secretos cifrados, tokens con hash y HTTPS en cada conexión a la nube.

  • Nube: HTTPS en cada conexión entre los usuarios y la plataforma, con HTTP redirigido a HTTPS y Cloudflare terminando TLS delante de nuestros servidores. Autoalojado: usted termina TLS con sus propios certificados
  • Hash de contraseñas con Argon2id (64 MiB de memoria) y salts por usuario
  • Secretos gestionados vía entorno, no incluidos en el código
  • Sus propias claves de proveedor de IA y credenciales de integración (GLPI, Netbox) cifradas en reposo con AES-256-GCM
  • Tokens MCP y tokens de renovación de sesión almacenados con hash, y revocables
  • Token de acceso en memoria en el navegador, token de renovación en una cookie HttpOnly

Control de acceso

Permisos granulares por módulo, por rol. Cada feature gate y cada consulta de entidad respeta la misma matriz RBAC, incluidos Plaid y MCP.

  • Niveles lector, colaborador, miembro y administrador por módulo
  • Rol de administrador a nivel de workspace separado de los administradores de módulo
  • SSO vía Microsoft Entra ID (OIDC) tanto en nube como en autoalojado
  • Autenticación local con contraseña usando Argon2 + flujos opcionales de restablecimiento de contraseña
  • Plaid y MCP aplican el mismo RBAC que la interfaz, sin escalada de privilegios
  • Tokens API ligados a usuarios individuales, revocables en cualquier momento

Registro de auditoría

Cada cambio relevante queda registrado. Quién cambió qué y cuándo, con los valores de antes y después. La actividad se ve en la app.

  • Cronología de actividad por entidad (tareas, proyectos, documentos, etc.)
  • Altas, modificaciones y desactivaciones registradas con el usuario, la marca de tiempo y los valores de antes y después
  • Los administradores consultan y filtran el registro de auditoría en la app
  • Los cambios hechos con Plaid se registran en el mismo registro, con su origen. Los agentes llevan su propio historial de actividad, con las fuentes que utilizó cada agente

Gobernanza de agentes

Los agentes actúan bajo los mismos controles que todo lo demás, más límites específicos del trabajo autónomo. Cada acción de un agente queda registrada y acotada a lo que usted permitió, y puede detener un agente en cualquier momento. Cada agente empieza con todos sus tipos de acción sujetos a su aprobación. Usted decide cuándo un tipo se ejecuta de forma automática, con el historial del agente (propuestas revisadas, tasa de aceptación, días de actividad) a la vista junto a esa decisión.

  • Los agentes actúan solo a través de operaciones definidas, sin acceso directo a la base de datos ni al shell
  • Cada agente acotado a las operaciones que usted permite. Quién puede configurar los agentes o revisar su trabajo sigue los mismos roles que el resto de la aplicación
  • Cada acción del agente registrada en el historial de actividad del agente, conservado 30 días por defecto y configurable de 7 a 90 días
  • Las respuestas llevan las fuentes que utilizó el agente, para que una decisión se pueda comprobar
  • Pause cualquier agente de inmediato, uno a uno o todos a la vez
  • Los límites de gasto por agente mantienen acotado el coste de operación
  • Las funciones de IA están desactivadas por defecto. En la nube, el modelo integrado no recibe ningún dato hasta que el workspace haya aceptado su proveedor y su lugar de tratamiento, ambos indicados en la aplicación. Un administrador los confirma, y se pide una nueva confirmación si cambia cualquiera de los dos. Puede usar su propio proveedor de modelos en su lugar

Despliegue y operaciones

Los despliegues en nube se ejecutan en hosts Linux en Alemania, dentro de la Unión Europea, con Cloudflare por delante. Los despliegues autoalojados se ejecutan donde usted elija. Ambos llevan el mismo modelo de seguridad.

  • Alojamiento en la nube en Hetzner Online GmbH, en Núremberg, Alemania (UE), con Cloudflare por delante para CDN, terminación de TLS y protección
  • Autoalojado: el código fuente completo es público, y usted lo construye y lo ejecuta con Docker Compose
  • Autoalojado: ninguna llamada saliente obligatoria para las funciones básicas, así que KANAP puede funcionar sin acceso a internet
  • Autoalojado: usted decide dónde se ejecuta y cómo se respalda
  • Autoalojado: las funciones de IA usan solo el proveedor de modelos que configura su administrador

¿Preguntas sobre seguridad?

Compartimos con gusto detalles de arquitectura, repasamos un modelo de amenazas con su equipo de seguridad.