Esta guía explica el funcionamiento del sistema de permisos visibles de negocio en Cybix: Roles, Role Access, Access Levels, Scopes, Positions y Position Overrides. El objetivo es permitir una configuración clara y eficiente para cualquier tipo de compañía, evitando crear un rol distinto para cada puesto de trabajo.
Role Access define la base del rol • Position define el cargo, departamento, rol asociado y scope por defecto • Position Overrides define excepciones por cargo • Scopes determinan hasta qué registros llega la visibilidad • Allowed Actions definen qué botones o acciones se pueden ejecutar.
1. Capas de Evaluación del Acceso
El acceso efectivo de un usuario en Cybix no se decide en un solo lugar, sino mediante la combinación de 4 capas fundamentales:
- Spatie Permissions (Capa Técnica): Identidad técnica base en Laravel. El rol
Super Administratorcuenta con un bypass total directo a nivel técnico. - Module Access / Entitlements: Define si el módulo está habilitado en el Workspace. Si un módulo no está contratado o activo, el acceso se bloquea independientemente de los permisos de usuario.
- Business Permissions: Capa visible de configuración de negocio (Roles, Accesos, Niveles, Scopes y Excepciones).
- Workforce / Organization: Define la posición (cargo), departamento y estructura jerárquica del usuario.
2. Roles de Negocio
Cybix utiliza un número optimizado de roles activos. Las variaciones por cargo dentro de un mismo equipo se manejan mediante Positions, no creando roles adicionales.
| Rol | Uso Recomendado | Alcance General Base |
|---|---|---|
| Super Administrator | Rol técnico interno con bypass total (desarrollo/administración raíz). | Admin / Company |
| Company Owner | Dueño de la compañía con control total sobre los módulos. | Admin / Company |
| Manager | Gerencia operativa con funciones de supervisión y aprobación. | Supervisor / Company |
| Assistant | Soporte administrativo básico y tareas de asistencia. | Standard / Assigned |
| Sales | Equipo comercial (agentes y gerentes de ventas). | Standard / Assigned |
| Administrative | Operación administrativa, billing básico, agendamiento y llamadas. | Standard / Department |
| Operations | Personal operativo y tareas asignadas. | Standard / Assigned |
| Human Resources | Gestión de personal, reclutamiento y asistencias. | Standard / Department |
| Fleet | Gestión de flota, rastreo GPS y tareas operativas de vehículos. | Standard / Department |
| Accountant | Finanzas, Billing avanzado, nómina y reportes contables. | Admin / Company |
| Customer | Acceso externo limitado exclusivamente a datos propios. | View Only / Own |
3. Departamentos y Positions Predeterminadas
La estructura de departamentos base consta de 4 áreas principales: Management, Operations, Sales y Finance. No es necesario crear departamentos adicionales para definir permisos.
Las Positions predeterminadas permiten modelar la realidad operativa asignando automáticamente el rol correspondiente:
| Position (Cargo Predeterminado) | Rol Asociado | Departamento | Scope por Defecto |
|---|---|---|---|
| CEO / Owner | Company Owner | Management | Company |
| General Manager | Manager | Management | Company |
| Office Administrator | Administrative | Operations | Department |
| Administrative Assistant | Assistant | Operations | Assigned |
| Sales Manager | Sales | Sales | Department |
| Sales Agent | Sales | Sales | Assigned |
| Operations Staff | Operations | Operations | Assigned |
| HR & Payroll Coordinator | Human Resources | Operations | Department |
| Fleet Coordinator | Fleet | Operations | Department |
| Finance Manager | Accountant | Finance | Company |
| Customer / Client Contact | Customer | Management / Sin depto | Own |
4. Access Scopes y Access Levels
Access Scopes (Filtros de Alcance)
Limitan qué registros específicos puede ver o editar un usuario:
Own (own): Solo registros creados por el propio usuario.Assigned (assigned): Registros asignados explícitamente al usuario.Department (department): Registros pertenecientes a miembros de su mismo departamento.Branch (branch): Registros pertenecientes a su sucursal.Company (company): Acceso total a todos los registros de la compañía.
Access Levels (Niveles de Acceso)
Determinan el grupo de acciones permitidas:
No Access: Apaga todas las acciones del módulo.View Only: Permite únicamente la acción de lectura (View).Standard: Habilita lectura, creación y edición (View, Create, Edit).Supervisor: Agrega acciones de gestión (Assign, Approve, Review, Reports, Export, Complete).Admin: Habilita todas las acciones disponibles dentro del módulo.
5. Position Overrides (Excepciones por Cargo)
Los Position Overrides permiten ajustar excepciones específicas por cargo sin necesidad de crear nuevos roles.
Ejemplo práctico: Tanto el Sales Agent como el Sales Manager utilizan el rol Sales. El Sales Agent tiene alcance Assigned sin permisos de aprobación o exportación. Al Sales Manager se le aplica un Position Override para otorgarle alcance Department y habilitarle acciones como Assign, Approve o Reports.
6. Auditoría de Accesos (User Access Audit)
Desde la pantalla /admin/users, el botón Access permite inspeccionar en tiempo real:
- Positions activas y roles asignados al usuario.
- Módulos y acciones permitidas de forma efectiva.
- Reglas de Role Access o Position Overrides que influyen en el resultado final.