Roles y permisos
Modelo de acceso multi-tenant de Horizon — quién ve qué y qué puede hacer
Horizon organiza a las empresas en un árbol N-ario de tenancy. Cada usuario tiene uno o más roles, cada uno ligado a un nodo del árbol. Lo que puedes ver y hacer depende del nodo activo en tu sesión.
Árbol de organizaciones
Ejemplo típico:
Horizon (plataforma)
└── Distribuidor (ej. Lutrillo)
└── Integrador (ej. Ooz)
├── Cliente final A (ej. Capricornio)
└── Cliente final B (ej. Quantum)| Concepto | Qué es |
|---|---|
| Nodo | Empresa en el árbol: distribuidor, integrador o cliente final |
| Rol | Permisos dentro de un nodo concreto |
| Membresía | Vínculo usuario ↔ nodo ↔ rol |
| Nodo activo | Empresa con la que operas en esta sesión (obligatorio si tienes varias membresías) |
Regla de visibilidad
| Regla | Descripción |
|---|---|
| Descendientes | Un nodo ve datos de sus hijos en el árbol (con límites según rol) |
| Hermanos aislados | Dos integradores bajo el mismo distribuidor no se ven entre sí |
| Hojas operativas | Los clientes finales (end_client) tienen la vista GPS completa de su flota |
| Agregados arriba | Distribuidores e integradores ven KPIs; el detalle operativo está restringido |
Horizon no consulta plataformas GPS por su cuenta. Los datos llegan por integración externa; los permisos controlan quién los ve y actúa dentro de Horizon.
Roles canónicos activos
La plataforma usa siete roles activos para membresías nuevas:
| Rol | Nodo típico | Resumen |
|---|---|---|
| Administrador de plataforma | platform | Equipo Horizon — soporte global auditado |
| Administrador de distribuidor | distributor | Partner manager — agregados, alta de hijos, sin GPS individual |
| Supervisor de distribuidor | distributor | Lectura agregada ampliada, sin configuración destructiva |
| Administrador de integrador | integrator | Onboarding de clientes, soporte operativo auditado |
| Supervisor de integrador | integrator | Monitoreo y acciones no destructivas en clientes |
| Administrador de cliente | end_client | Configuración técnica completa de la flota |
| Supervisor de cliente | end_client | Operación diaria y aprobación de comandos sensibles |
Lo que ya no se asigna
Nombres como distributor_owner, client_owner, client_operator, whatsapp_consumer o prefijos empresa-* / personal-* pertenecen a taxonomías anteriores o a canales de mensajería. No se crean como membresías activas en la versión actual.
| Concepto | Cómo se modela hoy |
|---|---|
| Dueño contractual / billing | Responsabilidad comercial del nodo billing_owner, no un rol operativo separado |
| Operador de despacho | client_admin o client_supervisor según responsabilidades |
| Consulta solo lectura | client_supervisor con alcance acotado |
| WhatsApp / Telegram | Canal vinculado a una membresía real, con filtro opcional de unidades |
| Dueño de carga (Elektra, etc.) | Entidad de negocio + contacto de notificación, no rol de dashboard |
Multi-pertenencia
Un mismo usuario puede pertenecer a varios nodos (por ejemplo, operar Capricornio y Quantum). Reglas:
- Al iniciar sesión eliges el nodo activo si tienes más de una membresía.
- Cada request usa ese contexto — sin nodo activo no hay permisos.
- WhatsApp vincula el número a una membresía prioritaria con filtro de alcance.
- La bitácora registra el nodo activo en cada acción.
Matriz resumida por capacidad
| Capacidad | Plat. | Dist. admin | Dist. sup. | Int. admin | Int. sup. | Cliente admin | Cliente sup. |
|---|---|---|---|---|---|---|---|
| Vista GPS tiempo real (propio nodo) | Auditado | No | No | Soporte auditado | Soporte limitado | Sí | Sí |
| KPIs agregados subárbol | Sí | Sí | Sí | Sí | Sí | Propio nodo | Propio nodo |
| Crear clientes hijos | Sí | Sí | No | Sí (end_client) | No | No | No |
| Invitar usuarios | Sí | Sí | No | Sí | No | Sí | No |
| Credenciales GPS | Rotar global | No | No | Onboarding | No | Sí (enmascaradas) | No |
| Geocercas / alertas / protocolos | Sí | Agregado | Agregado | Lectura soporte | Lectura | CRUD | Lectura + ack |
| Comandos GPS (paro motor) | Auditado | No | No | Solo lectura soporte | No | Sí | Aprueba |
| Facturación Horizon | Sí | Si es billing_owner | No | No | No | Uso vs límite | No |
| Conversaciones WhatsApp | Auditado | No | No | Soporte auditado | Limitado | Sí | Sí |
Impersonación y soporte
- Distribuidores no hacen drill-down operacional a unidades de clientes finales.
- Integradores sí pueden, en modo soporte, con auditoría.
- Horizon (platform_admin) puede impersonar roles de cliente para incidentes, siempre registrado.
Anti-funciones en v1
- Sin roles personalizados definidos por el cliente.
- Sin permisos unidad por unidad (solo flotilla o filtro de alcance).
- Sin SSO empresarial.
- Sin delegación temporal de permisos (excepto impersonación auditada de plataforma).
Siguiente paso
Abre la página del rol que te corresponde para ver capacidades, limitaciones y canal típico de trabajo.