# SIHO PMS MASTER — Fase 12

## Seguridad por rol y protección de rutas

Esta fase elimina la dependencia de ocultar botones como único control. Todas las rutas operativas se encuentran dentro de `auth` y `siho.access`.

### Matriz predeterminada

- **ADMINISTRADOR:** acceso total.
- **GERENCIA:** operación, caja, ventas, clientes, inventario, reportes y auditoría; no administra usuarios, identidad del hotel ni políticas globales.
- **RECEPCIONISTA:** reservas, clientes, hospedaje, consumos, ventas y caja operativa.
- **CAJA:** apertura/cierre, ingresos, egresos, ventas, consumos y arqueos.
- **AMA DE LLAVES:** limpieza, auditoría de habitación y mantenimiento operativo.
- **SOCIO:** lectura de reportes, arqueos, respaldos y auditoría; no modifica operaciones.

La matriz se centraliza en `config/siho_permissions.php`. Las reglas se evalúan de arriba hacia abajo y la primera coincidencia decide.

## Seguridad de reportes

Las exportaciones PDF/Excel y respaldos ya no quedan públicas. Requieren autenticación y se someten a la misma matriz. Esto evita que una URL conocida exponga información financiera u operativa.

## Principio de mínimo privilegio

Una ruta no declarada queda denegada por defecto para todos los roles salvo ADMINISTRADOR. De esta forma, un módulo nuevo no se publica accidentalmente para todos.

## Menús

Los menús heredados pueden seguir ocultando opciones por rol para mejorar la experiencia, pero la autorización real está en el servidor. Manipular HTML o escribir una URL manualmente no evita el middleware.
