# TECH_DEBT.md — actualización junio 2026 ## Para aplicar en el repo del proyecto > Reemplazar el contenido existente de TECH_DEBT.md en el repo con este bloque, > o mergear los ítems nuevos si ya existe el archivo con otros ítems previos. --- ## Deuda técnica abierta ### TECH-DEBT-006 — Backup remoto S3 **Estado:** ABIERTO — BLOQUEANTE antes del primer dato real de empresa **Descripción:** Los backups locales están configurados y funcionando (GFS, 3AM diario, retención 3 días + domingos 14 días). Pero los backups viven solo en el mismo VPS. Si el VPS muere, se pierden datos Y backups. **Solución:** rsync nocturno a S3-compatible (Backblaze B2 o Wasabi, ~USD 5/mes) usando rclone. **Referencia:** BACKUP_STRATEGY.md sección 5 — TECH-DEBT-006. ### TECH-DEBT-007 — auth.jwt() deprecado en GoTrue v2.189+ **Estado:** ABIERTO — no bloqueante para el piloto **Descripción:** Las funciones helper `current_app_role()` y `current_org_id()` en migration 003 usan `auth.jwt()` que fue eliminado en GoTrue v2.189+. Las políticas que dependen de estas funciones no se crearon: - `org_select_own` en organizations - `surveys_select_auth` en surveys - `questions_select_auth` en questions **Impacto actual:** ninguno — el dashboard usa service_role que bypasa RLS. Los respondentes usan anon que tiene las políticas básicas de INSERT. **Impacto futuro:** org_admin no podrá autenticarse con custom claims (app_role, org_id) hasta resolver esto. **Solución:** migrar a auth.session() o implementar JWT claims via hook de GoTrue v2. **NO resolver hasta tener caso de uso real de org_admin autenticado.** ### CVE-2025-66478 — Next.js 15.3.3 con vulnerabilidad de seguridad **Estado:** ABIERTO — BLOQUEANTE antes del primer dato real de empresa **Descripción:** Next.js 15.3.3 tiene una vulnerabilidad de seguridad crítica. El build lo reporta explícitamente: "This version has a security vulnerability. Please upgrade to a patched version." **Solución:** actualizar next en package.json a la versión parcheada disponible, correr npm install, hacer redeploy. **Referencia:** https://nextjs.org/blog/CVE-2025-66478 --- ## Deuda técnica cerrada en Sprint 3 ### TECH-DEBT-002 — KPI NPS eliminado ✅ KPI NPS eliminado — instrumento no tiene pregunta NPS. ### TECH-DEBT-003 — Brecha de políticas ✅ Widget W6 redefinido como demanda-only (6.2), sin oferta. Documentado. ### TECH-DEBT-004 — Intención directa de salida no capturada Intención directa de salida laboral no capturada en el instrumento v2. No resuelto pero documentado como gap conocido. ### TECH-DEBT-005 — A1 País vs A1b ✅ Cerrado: A1 ya es Departamento (18 opciones Paraguay) en el instrumento final.