# Runbook de despliegue (F10)

## Permisos

- `services/php/storage`: escritura PHP (settings, auth, logs, rate limits, explorer trash).
- `media/` o `ANTARA_MEDIA_PATH`: archivos de usuario y explorador local.
- `arquitect-app/reserved_projects`: proyectos del editor; backups automáticos en `snapshots/pre_save_*`.

## Secretos

- `ANTARA_SHARE_SECRET` (≥32 caracteres) para tokens de compartir.
- Cookies de sesión: `SameSite=Lax`, `HttpOnly`, `Secure` si HTTPS.

## Backups

- `settings.json`: backups en `storage/settings_backups/` antes de escritura.
- Store de auth: `storage/auth/store.json` — cifrar en reposo en producción (fuera de alcance de este stub).

## Incidentes

1. **settings corruptos**: el loader entra en `grid_load_settings_with_recovery`, copia a `settings_backups/corrupt_*` y aplica defaults.
2. **Rate limit login**: borrar archivos en `storage/rate/` (solo tras confirmar abuso/legítimo).
3. **Papelera explorador**: metadatos `storage/explorer/trash.json`; archivos en `storage/explorer/trash_files/`.

## Observabilidad

- Logs JSON línea: `storage/logs/app.log` con `request_id` correlacionado con cabecera `X-Request-Id`.

## Service Worker

- Opcional solo para assets estáticos de `apps/*/dist`; no cachear rutas API.

## Checklist seguridad / a11y (resumen)

- CSP base en login; formularios con etiquetas y `role="alert"` en errores.
- Revisar IDOR: cada acción valida sesión + CSRF en mutadores.
- Sanitizar salidas HTML en `share.php` con `htmlspecialchars`.
