# Manual del superadministrador — FLEXI

> **ADVERTENCIA:** `APP_KEY`, tokens de setup/emergencia y credenciales DB/SMTP son secretos. La pérdida de `APP_KEY` vuelve ilegibles las cédulas cifradas.

## Creación inicial

Con `users` vacío, configure `INITIAL_SETUP_ROUTE` y `INITIAL_SETUP_TOKEN`, abra el endpoint `/i` bajo esa ruta y cree el propietario. Una transacción y restricción única garantizan exactamente uno. Al existir cualquier usuario, setup devuelve 404. Retire el token tras usarlo.

## Usuarios

Crear usuario produce cuenta inactiva con contraseña aleatoria desconocida. **Enviar invitación** remite enlace de un solo uso/60 minutos; si SMTP falla, se muestra una sola vez un enlace temporal seguro. Puede cambiar roles ordinarios, activar/desactivar, exigir restablecimiento y cerrar sesiones. No puede eliminar, desactivar ni cambiar el rol del superadmin, ni crear otro.

## Matriz resumida

| Rol | Alcance |
|---|---|
| Superadmin | Todo, configuración y seguridad |
| Admin | Operación y usuarios ordinarios |
| Gerencia | Operación, reportes y auditoría operativa |
| Crédito | Solicitudes, clientes, cálculo y alta préstamo |
| Cobros | Préstamos, cuotas y pagos |
| Servicio | Consulta, comunicaciones y notas |
| Viewer | Solo lectura e impresión |

## Recuperación

- Normal: enlace por correo, token único y expiración.
- cPanel/phpMyAdmin: respaldar; localizar único superadmin; generar hash seguro mediante una instancia Laravel controlada; actualizar `password`, incrementar `session_version`, fijar `must_change_password=1`; nunca escribir contraseña plana en SQL.
- Emergencia: seguir [EMERGENCY-RECOVERY](../EMERGENCY-RECOVERY.md), deshabilitar inmediatamente después.

## Operación crítica

Revise auditoría, cuentas inactivas, intentos fallidos y SMTP periódicamente. Configure backups cifrados de DB, `.env`, `APP_KEY`, storage y código. Antes de actualizar, pruebe en staging, ejecute suite y prepare rollback. Consulte [SMTP](../SMTP-CONFIGURATION.md), [Backup](BACKUP-RESTORE.md) y [Actualización](ACTUALIZACION-SISTEMA.md).

## Troubleshooting

- 404 en setup: ya existe usuario o prefijo incorrecto; no borre usuarios para reabrirlo.
- Sesión cerrada: cuenta inactiva o `session_version` cambió.
- Cédula ilegible: confirme que se restauró la misma `APP_KEY`.
- Email failed: corrija SMTP y use reenviar; no duplique la solicitud.
- Error 500: mantenga `APP_DEBUG=false`, consulte `storage/logs` protegiendo PII y restaure versión anterior si procede.

