INTEGRACIÓN
Aislamiento multi-cliente
Cómo se garantiza que los datos de un tenant nunca los vea otro.
Guilda Work es multi-tenant: cada cliente (tenant) tiene sus propios usuarios, y sus datos nunca son visibles para otro — tanto en el registro de actividad propio como en cada una de las herramientas conectadas del catálogo. No es una convención de interfaz: cada mecanismo de aislamiento se ha verificado contra la herramienta real antes de darlo por bueno.
Patrones de aislamiento usados
| Patrón | Herramientas | Cómo funciona |
|---|---|---|
| Instancia compartida + grupo/rol OIDC | EspoCRM, Nextcloud, Paperless-ngx | Un único despliegue para todos los tenants; el login SSO mapea el Equipo/Grupo/Rol del usuario según su tenant, y la propia herramienta filtra por ese grupo. |
| Instancia física propia por tenant | FacturaScripts | Cada tenant tiene su propio contenedor + base de datos — el único caso sin aislamiento lógico posible (el plugin de multiempresa disponible no restringe accesos). |
| Instancia compartida + token/rol por tenant | Documenso, Baserow, Listmonk | Un despliegue compartido; cada tenant tiene su propio token de API o rol con permisos restringidos a sus propios recursos (Equipo/Workspace/Lista según la herramienta). |
| Instancia compartida + cuenta individual | Cal.diy | Sin Equipos/SSO en su edición libre — cada tenant tiene su propia cuenta de usuario dentro de la instancia compartida. |
| Instancia compartida + Tenant/Domain/Account | Stalwart (correo propio) | Objetos JMAP Tenant/Domain/Account nativos del servidor de correo — verificado en vivo que cruzar el accountId de otro tenant devuelve un 403 forbidden real del servidor, no un filtro de cliente. |
Dar de alta un cliente nuevo
Un solo paso desde el backoffice (o python cli.py crear-tenant): el sistema prepara automáticamente el espacio del tenant en cada herramienta conectada que tenga aprovisionamiento automático — sin configuración manual añadida, salvo un puñado de pasos que por diseño de la propia herramienta externa no se pueden hacer por API (p. ej. la clave de API de FacturaScripts se genera a mano una única vez, no hay endpoint para ello). El backoffice también permite asignar usuarios existentes a un tenant y dar de alta a personas nuevas directamente dentro de uno.