> **Can't find what you're looking for?** Use `search_docs` on the docs MCP server at `https://naturgy-comer-documentation-p5mde.vercel.app/api/mcp` to find what you need.

# Roles y permisos

Este catálogo describe el comportamiento esperado de la consola. La autorización
efectiva pertenece al tenant y debe verificarse en cada API server-side.

## Roles funcionales

| Rol | Capacidades previstas | No implica |
|---|---|---|
| `agent` | Leer casos permitidos, responder, añadir nota privada, aparcar, reabrir o cerrar según el contrato. | Ver todos los casos, cambiar permisos o acceder a backends de negocio sin su propia autorización. |
| `supervisor` | Ver colas y equipo, reasignar dentro del alcance, ajustar disponibilidad/capacidad y gestionar clasificación. | Saltarse una política de acceso de datos o modificar workflows live. |
| `admin` | Gestionar usuarios, equipos, configuración y permisos de la app. | Ser propietario automático de Salesforce, Omega, Connect o HappyRobot. |

## Permisos de aplicación

La identidad compartida de usuarios distingue permisos de tickets para agente,
supervisor y administrador. El servidor debe:

1. validar la cookie de sesión;
2. recuperar el usuario y su rol actual desde la fuente autorizada;
3. comprobar el permiso específico de la acción;
4. filtrar la consulta de tickets por rol, equipo, asignación y estado;
5. registrar reasignaciones, cambios de estado y acciones administrativas.

Si el rol no puede verificarse, se debe aplicar el mínimo privilegio. Nunca se
usa un nombre de usuario, un `session_id` o un `ticket_id` como autorización.

## Matriz de visibilidad operativa

| Vista | Agente | Supervisor/admin | Nota |
|---|---:|---:|---|
| Abiertos asignados al propio agente | Sí | Sí | El agente puede actuar dentro de su capacidad. |
| Abiertos asignados a otro agente | Normalmente no | Según alcance | Evita respuestas concurrentes; el tenant puede ampliar visibilidad. |
| Sin asignar / cola | Sí, para tomar | Sí | Tomar el caso debe ser atómico. |
| Pendientes | Según configuración; habitualmente amplia | Sí | No consume capacidad. |
| Cerrados | Según configuración; habitualmente amplia | Sí | El acceso histórico debe quedar auditado. |
| Ajustes de equipo | No | Sí | El agente solo cambia su estado permitido. |
| Usuarios, roles y credenciales | No | Admin | No mostrar secretos a ningún rol de UI. |

Esta matriz no sustituye una política de acceso. Las reglas de privacidad de los
casos abiertos deben probarse en cada tenant.

## Acciones sensibles

Requieren autorización y trazabilidad:

* reasignar un ticket;
* cambiar prioridad, equipo, tags o carpeta;
* añadir una nota privada;
* cerrar o de-escalar;
* editar datos del cliente;
* cambiar capacidad, horario, pausa o vacaciones;
* crear o eliminar automatizaciones;
* leer o descargar adjuntos.

Tags y carpetas son clasificación y organización. No son un mecanismo de RBAC.
