# objetivos.md — Objetivos del proyecto > Cosas que deben implementarse o cumplirse, sin importar cuándo. > Describen QUÉ — no cómo. El cómo va en proyecto_memoria.md cuando se ejecuta. > > Flujo: ideas.md → objetivos.md → (en ejecución) → proyecto_memoria.md --- ## Pendientes | # | Objetivo | Origen | Prioridad | |---|----------|--------|-----------| | 1 | Soporte para compresión zip en descargas multi-archivo | pablinux | Media | | 2 | Notificación opcional por bot o webhook al compartir | pablinux | Baja | | 3 | Transferencia directa P2P navegador a navegador (WebRTC) | pablinux | Media | | 4 | Widget publicitario del ecosistema (ads.sigmac.app) en vistas de invitados | pablinux | Baja | | 5 | Protección por PIN / Contraseña opcional en enlaces compartidos | pablinux | Media | | 6 | Modo de un solo uso (Burn after reading) con autodestrucción inmediata | pablinux | Media | --- ### Detalle de Objetivos Pendientes #### 🎯 Objetivo 3: Transferencia directa P2P navegador a navegador (WebRTC) - **Qué debe cumplirse:** 1. Permitir la transferencia directa de archivos de gran volumen (cientos de MB o varios GB) directamente entre dispositivos sin almacenar el archivo en el disco del servidor. 2. Implementar un servidor de señalización WebRTC ultraligero en Go (vía WebSocket o SSE/HTTP POST) para el intercambio de ofertas, respuestas y candidatos ICE entre emisor y receptor. 3. Transmisión de datos mediante `RTCDataChannel` cifrado punto a punto en el navegador. 4. Integración fluida con el flujo actual: el emisor abre la sala, se genera un enlace/QR dinámico, el receptor lo abre en su navegador y comienza la transferencia directa. 5. Interfaz con barra de progreso bidireccional, velocidad de transferencia y estado de conexión (esperando receptor, conectado, transfiriendo, completado). 6. Si no hay conexión P2P directa (NAT simétrico estricto), informar claramente al usuario o requerir conexión en la misma red local / STUN básico. #### 🎯 Objetivo 4: Widget publicitario del ecosistema (ads.sigmac.app) - **Qué debe cumplirse:** 1. Integrar banners o anuncios contextuales no intrusivos provenientes de `ads.sigmac.app` exclusivamente en las vistas públicas de usuarios invitados (Guest): página principal, visor `/v/{id}` y página de descarga. 2. Los usuarios autenticados (WebControl / Google OAuth) en `/mis-archivos` y sus visores estarán 100% libres de publicidad. 3. Carga asíncrona desacoplada: el widget no debe demorar la carga de la página, la previsualización ni la descarga del archivo. Si el servicio de anuncios no responde o falla, el contenedor se oculta limpiamente sin alterar la UI. 4. Respetar las políticas de seguridad estrictas vigentes (CSP, sandbox, aislamiento contra XSS). 5. Diseño integrado al tema oscuro (dark mode) del proyecto, sin popups ni redirecciones invasivas. #### 🎯 Objetivo 5: Protección por PIN / Contraseña opcional - **Qué debe cumplirse:** 1. Permitir al creador del share definir un PIN numérico (4-6 dígitos) o contraseña alocada al subir archivo o texto. 2. El visor `/v/{id}`, descarga `/d/{id}` y raw `/raw/{id}` deben solicitar el PIN antes de entregar o previsualizar el contenido. 3. Almacenamiento seguro del hash del PIN en SQLite (bcrypt / argon2) sin almacenar texto claro. #### 🎯 Objetivo 6: Modo de un solo uso (Burn after reading) - **Qué debe cumplirse:** 1. Opción al subir para marcar el contenido como "Auto-destrucción tras lectura / descarga". 2. Tras la primera visualización exitosa o descarga completa, el archivo físico se purga de inmediato del disco y el registro se marca como destruido o eliminado en SQLite. 3. Intentos posteriores de acceso redirigen a una vista informativa indicando que el archivo ya fue destruido. --- ## En curso | # | Objetivo | Iniciado | |---|----------|----------| | — | — | — | --- ## Completados | Fecha | Objetivo | Notas | |---|---|---| | 2026-10-12 | Estructura base de agentes y documentación inicializada | Plantilla Telcotronics | | 2026-10-13 | Subida rápida de archivos (drag & drop, pegar con Ctrl+V, selector) | Soporte para multipart y streaming de hasta 500MB | | 2026-10-13 | Compartir texto/código o notas rápidas | Endpoint `/api/share-text` con extracción automática de título | | 2026-10-13 | Visor universal embebido (`/v/{id}`) para imágenes, videos, audios, PDFs, textos | Detección automática MIME y reproductores dedicados | | 2026-10-13 | Generador instantáneo de enlaces y código QR para móviles | Generación de QR nativa con `github.com/skip2/go-qrcode` | | 2026-10-13 | Sesión Guest con auto-eliminación obligatoria en 24h (física y BD) | Worker periódico de purga en segundo plano verificado con tests | | 2026-10-13 | Cuentas registradas (Google y WebControl) con almacenamiento permanente | Cuentas no-guest exentas de borrado a las 24h | | 2026-10-13 | Panel / lista de "Mis Archivos" para usuarios registrados con opción de borrado | Interfaz `/mis-archivos` con métricas de visitas y eliminación | | 2026-10-14 | Scripts de despliegue estándar (`desplegar.sh`, `init.sh`) y servicio para SIAX Monitor | Compilación Go estática, scp, servers.conf y systemd | | 2026-10-17 | Registro oficial en MCP Infraestructura (ID 34) | Ficha técnica completa registrada en MariaDB bajo categoría application | | 2026-10-17 | Registro en centro de comunicaciones de agentes (sigma-robot) | Identidad `Agente drop.sigmac.app` registrada vía REST; credenciales en `.env` | | 2026-10-17 | Sincronización de normas y archivos base del ecosistema | Creación de `id_agente.md`, `reglas.md`, `tareas.md` y espejo de `infraestructura.md` | | 2026-10-19 | Despliegue en producción en CT 132 con SIAX Monitor (:8080) | Servicio `siax-app-DROP_SIGMAC_APP.service` operativo en puerto 2008 | | 2026-10-20 | Puesta en producción pública vía HTTPS en drop.sigmac.app | Proxy Apache con SSL operativo, URLs y QR dinámicos con protocolo HTTPS verificado |