**Prioridad:** P1 · **Tipo:** integración · **Iteración:** 2 · **Archivo:** `src/app/api/files/[fileId]/route.ts` ### Checklist - [ ] path traversal (`../`) → 400 - [ ] sin sesión → 401 - [ ] reto bloqueado + no-admin → 403; admin exento - [ ] sanitiza el filename en `Content-Disposition`
Prioridad: P1 · Tipo: integración · Iteración: 2 · Archivo:
src/app/api/files/[fileId]/route.tsChecklist
../) → 400Content-Disposition