# Seguridad ## Descripcion General Neotask esta construido con la seguridad como principio fundamental. Cada capa, desde la activacion de licencia hasta el almacenamiento de datos y la comunicacion de red, esta disenada para proteger sus datos y prevenir acceso no autorizado. ## Seguridad de Licencia - **Vinculacion de Dispositivo**: Cada licencia esta criptograficamente vinculada a un solo dispositivo via huella digital SHA-256. - **Firma de Solicitudes HMAC-SHA256**: Todas las solicitudes API se firman con un secreto por dispositivo, nonce y marca de tiempo. - **Comparacion de Tiempo Constante**: Todas las comparaciones de secretos usan algoritmos de tiempo constante para prevenir ataques de temporizado. - **Ciclo de Vida de Tokens**: La expiracion de tokens de acceso y actualizacion se controla del lado del servidor via claims JWT firmados, habilitando revocacion instantanea. - **Revalidacion Automatica**: Su licencia se verifica cada 6 horas. - **Periodo de Gracia Offline**: 72 horas de acceso offline antes de que se requiera revalidacion. - **Revocacion Remota**: Las licencias pueden revocarse instantaneamente del lado del servidor. ## Autenticacion de Dos Factores (TOTP) Neotask soporta autenticacion de dos factores opcional (pero recomendada) para acceso al panel. - Compatible con Google Authenticator, Authy, 1Password y cualquier app compatible con TOTP. - Se proporcionan codigos de respaldo durante la configuracion. Estos codigos estan hasheados con SHA-256 y son de un solo uso. - TOTP puede habilitarse o deshabilitarse en cualquier momento desde la seccion **Seguridad** en los ajustes de su panel. ## Cifrado ### Datos en Reposo - **AES-256-GCM**: Todos los tokens, secretos y claves API se cifran en reposo. - **Claves Derivadas de la Maquina**: Las claves de cifrado se derivan via scrypt de la identidad de su dispositivo. - **Sin Almacenamiento en Texto Plano**: Los tokens nunca se almacenan en texto plano. ### Datos en Transito - **TLS 1.3**: Toda la comunicacion API viaja sobre HTTPS. - **WebSocket Secure (WSS)**: La comunicacion del gateway en tiempo real esta cifrada. - **Firma HMAC**: Cada solicitud incluye un nonce y firma de marca de tiempo. ### Secretos del Entorno - **Cifrado de Dos Capas**: El cifrado de entorno en tiempo de compilacion usa claves separadas. - **Sin Secretos Codificados**: Cero claves API o tokens existen en el codigo fuente. - **Redaccion de Logs**: Los datos sensibles se eliminan automaticamente de los logs. ## Seguridad de la Aplicacion de Escritorio ### Reforzamiento de Electron Neotask aplica configuraciones estrictas de seguridad de Electron para proteger la aplicacion de escritorio: - `sandbox: true`: El proceso de renderizado se ejecuta en un entorno aislado. - `contextIsolation: true`: Sin acceso directo al proceso principal desde la UI. - `nodeIntegration: false`: No se exponen APIs de Node.js a la UI. - `webSecurity: true`: Se aplica la politica de mismo origen. ### Politica de Seguridad de Contenido (CSP) - `default-src 'self'`: Solo se cargan recursos de la propia aplicacion. - `script-src 'self'`: No se permiten scripts externos. - Las ventanas emergentes estan bloqueadas. - La navegacion esta bloqueada para prevenir ataques de redireccion. - La recarga de pagina esta bloqueada para prevenir manipulacion de estado. ### Integridad de la Aplicacion - **Integridad ASAR**: Verificacion de hash SHA-256 de la aplicacion empaquetada. - **Atestacion de Version**: Un manifiesto firmado por el servidor con capacidad de interrupcion remota. - **Ofuscacion de Codigo**: La ofuscacion de JavaScript se aplica en compilaciones de produccion. - **Modo de Fallo Duro**: La aplicacion se bloquea completamente ante cualquier fallo de integridad. ## Seguridad de Red ### Aislamiento del Gateway - El gateway se ejecuta solo en **loopback** (127.0.0.1), lo que significa cero exposicion de red externa. - No se aceptan conexiones entrantes desde fuera de su maquina. - Las concesiones de sesion tienen una vida util de 10 minutos, estan vinculadas al dispositivo y firmadas con HMAC. ### Bloqueo de 3 Intentos - Despues de 3 fallos consecutivos del gateway, todas las operaciones se bloquean. - Se requiere un reinicio manual para restaurar el acceso. - Este mecanismo previene intentos de fuerza bruta. ## Seguridad de API ### Metodos de Autenticacion | Metodo | Usado Para | Nivel de Seguridad | |--------|----------|----------------| | **JWT Bearer Token** | Panel web, llamadas API | Estandar (expiracion de 90 dias) | | **HMAC de Licencia** | Operaciones de la app de escritorio | Alto (secreto por dispositivo) | | **Concesiones de Sesion** | Operaciones del gateway | Muy Alto (10 min, firmado con HMAC) | | **TOTP** | Inicio de sesion en el panel | Factor adicional | ### Limites de Tasa | Endpoint | Limite | |----------|-------| | Formulario de contacto | 5 solicitudes por 15 minutos | | Intentos de inicio de sesion | 10 solicitudes por 15 minutos | | Analitica/seguimiento | 30 solicitudes por 60 segundos | ### Validacion de Entrada - Todos los parametros IPC se validan antes del procesamiento. - Todas las entradas API se sanitizan. - Hay protecciones contra inyeccion SQL, XSS e inyeccion de comandos. ## Seguridad de Claves de Proveedor (BYOK) Al usar el modo Traiga Sus Propias Claves (BYOK), Neotask aplica salvaguardas adicionales a sus claves API: - Las claves API se cifran con AES-256-GCM antes del almacenamiento. - Las claves nunca se registran ni exponen en mensajes de error. - Las claves se muestran en forma enmascarada en el panel (solo los ultimos 4 caracteres son visibles). - Se realiza eliminacion segura cuando se remueve una clave. ## Modo Seguro Neotask incluye una funcion de Modo Seguro que proporciona un sandbox de ejecucion para agentes: - El sandbox de ejecucion por agente aisla las operaciones de cada agente. - Las operaciones sensibles requieren aprobacion explicita del usuario antes de proceder. - Un interruptor maestro le permite habilitar o deshabilitar el Modo Seguro globalmente. - La reactivacion automatica por horario asegura que el Modo Seguro se reactive despues de cambios temporales. - La sincronizacion de politicas en tiempo real mantiene los ajustes consistentes en todas las conexiones. ## Auditoria y Cumplimiento - Todos los cambios de configuracion se registran con marcas de tiempo. - El hashing de configuracion detecta modificaciones no autorizadas. - La telemetria de uso (opt-in) habilita la deteccion de anomalias. - CORS esta restringido solo a dominios autorizados. - Los encabezados de seguridad Helmet se aplican en todas las respuestas web. ## Mejores Practicas 1. **Habilitar TOTP** en su panel para autenticacion de dos factores. 2. **Descargar codigos de respaldo** y almacenarlos de forma segura. 3. **Establecer presupuestos diarios** para prevenir cargos inesperados. 4. **Usar modo BYOK** si desea control total sobre sus claves API. 5. **Mantener la aplicacion actualizada**, ya que las actualizaciones automaticas incluyen parches de seguridad. 6. **Revisar los permisos del agente** periodicamente en los ajustes del Modo Seguro.