docs: actualizar estado — cierre release v3.0.0 + ETAPA_AUTH + incidente VPS

Sprint 4 completo (widgets Mirada Empresa, tema claro, 4F, 4I/release ya
estaban hechos antes de esta sesión). Documenta el incidente de colisión de
container_name en el VPS y su recuperación, y el cierre de TECH-DEBT-008
(auth de staff) en esta sesión. Próximos pasos quedan abiertos a decisión
del director (dashboard País/Humana, sprint de compliance, o mantenimiento
de dependencias).
This commit is contained in:
markosbenitez
2026-06-27 13:38:10 -03:00
parent dda4b5320a
commit 10bb7299a2
2 changed files with 58 additions and 31 deletions

View File

@@ -77,14 +77,15 @@
## [TECH-DEBT-008] /admin/responses sin autenticación
- **Estado:** ABIERTO.
- **Descripción:** la vista de control `/admin/responses` no tiene auth. Por diseño
explícito, excluye preguntas `is_sensitive=true` (14 preguntas de salud/
discapacidad) y `text_long`. Para mostrar esas preguntas en la vista, primero
implementar un gate de autenticación para staff (Basic Auth con env var como
mínimo viable).
- **Impacto actual:** ninguno en producción — la URL no está publicada.
- **Bloqueante para:** ampliar visibilidad de datos en la vista de control.
- **Estado:** RESUELTO (27 jun 2026, ETAPA_AUTH).
- **Descripción:** la vista de control `/admin/responses` no tenía auth. Se implementó
login con Supabase Auth (`@supabase/ssr`), `middleware.ts` protegiendo
`/admin/:path*` y `/dashboard/:path*` con redirect a `/login` sin sesión, y la página
migrada de `service_role` a la sesión del usuario (`anon` key + RLS). Sigue
excluyendo preguntas `is_sensitive=true` y `text_long` — ese diseño no cambió.
- **Nota:** la vista no distingue roles dentro de staff todavía (todo usuario con fila
en `user_roles` ve lo mismo). Diferenciar `platform_admin` de `org_admin` ahí sería
una etapa nueva, no parte de este cierre.
---