Files
dh-inspeccion-v2/docs/PHASE_A_FINAL_ACCEPTANCE.md

50 lines
2.3 KiB
Markdown

# Cierre de Fase A — Matriz de aceptación
## Backend
| Criterio | Evidencia |
|---|---|
| Migraciones controladas | TypeORM con `synchronize: false` y `migration:show` sin pendientes |
| Tablas, índices y seeds | Migraciones A1/A2 aplicadas y 26 índices verificados en producción |
| Bootstrap seguro | CLI interactiva, contraseña oculta y bloqueo si ya existe admin |
| Auth completa | login, refresh, logout, me y change-password |
| Sesiones | hash del refresh, rotación, revocación y detección de reutilización |
| Autorización | guard global y permisos resueltos desde base |
| Usuarios y roles | endpoints administrativos protegidos y auditados |
| Auditoría | filtros, paginación, detalle, request ID y sanitización |
| Dashboard | resumen protegido por `dashboard.read` |
| Rate limiting | throttling global y límites reforzados en autenticación |
| Usuario DB runtime | API configurada con `DB_APP_USER`, separada del owner |
## Frontend
| Criterio | Evidencia |
|---|---|
| Login y sesión | AuthContext con cookies y renovación controlada |
| Tokens | ningún JWT en `localStorage` o `sessionStorage` |
| Rutas | protección por sesión y redirección al login |
| Contraseña temporal | bloqueo de módulos hasta completar el cambio |
| Permisos visibles | navegación y acciones mediante `PermissionGate` |
| Administración | dashboard, usuarios, roles y auditoría |
| Cierre de sesión | revocación backend y limpieza local |
| Identificación | footer visible `v0.7.0 · Fase A7` |
## Seguridad e infraestructura
| Criterio | Evidencia |
|---|---|
| HTTPS | login y API externa accesibles únicamente mediante el proxy configurado |
| Cookies | `HttpOnly` para acceso/refresh; `Secure` y `SameSite=Strict` |
| CSRF | escritura con cookie rechazada sin `x-csrf-token` |
| Acceso anónimo | sólo `/api/v3/health` es público |
| Secretos | sanitización de auditoría y ninguna credencial en artefactos fuente |
| Docker | DB saludable, API y web en ejecución |
| Backup | fuentes, base, `.env`, Nginx, manifiesto y checksums |
| Recuperación | dump y TAR verificables sin modificar producción |
## Resultado
Cuando el deploy A7, la aceptación autenticada y la verificación del backup
finalizan sin errores, la Fase A queda formalmente cerrada y puede comenzar la
Fase B — Maestro de Activos.