Centro de confianza
Seguridad
Lo que instalas en la máquina de un cliente tiene que ser de fiar. Aquí explicamos cómo protegemos Vitalnodo, sin adornos, y también lo que todavía no tenemos.
En resumen
- El agente solo hace conexiones salientes por HTTPS. No abre puertos ni permite control remoto en esta versión.
- Cada máquina tiene su propia clave y firma cada informe. En la nube solo guardamos claves públicas.
- Las actualizaciones del agente van firmadas con una clave que no está en la nube, y se verifican antes de instalarse.
- Cada cuenta está aislada de las demás. Contraseñas protegidas, verificación en dos pasos y registro de acciones.
- No tenemos certificaciones de seguridad. Te contamos lo que hacemos, y también lo que todavía no.
Cómo funciona
Instalas un agente pequeño en cada máquina. El agente mide la salud del equipo y la envía a la nube de Vitalnodo. Tú la ves desde el navegador. Los datos siempre viajan en un solo sentido: de la máquina hacia la nube.
El agente en la máquina
- Solo conexiones salientes. El agente habla con la nube por HTTPS, como un navegador. No abre puertos, no necesita VPN y no hay que tocar el router del cliente.
- Sin control remoto en esta versión. El agente que distribuimos no contiene terminal ni escritorio remoto, y la nube rechaza esas peticiones. Nadie puede ejecutar órdenes en la máquina desde Vitalnodo.
- Solo lee. Mide la salud y la postura de seguridad del equipo, pero no cambia su configuración ni instala actualizaciones del sistema.
- Valida el servidor. Comprueba el certificado TLS con las raíces de confianza del sistema. No acepta conexiones sin cifrar.
- Protege sus archivos. Su configuración y su clave privada se guardan en una carpeta a la que solo accede el sistema (root o SYSTEM, y Administradores en Windows).
- Recoge lo mínimo. Nada de archivos, documentos, navegación, pulsaciones ni capturas de pantalla. El detalle está en Qué datos recoge Vitalnodo.
Identidad de cada máquina
Al instalarse, cada máquina crea su propio par de claves Ed25519. La clave privada nunca sale del equipo. La nube solo guarda la clave pública.
- Cada informe va firmado. La firma cubre el método, la ruta, la hora y un resumen SHA-256 del contenido. Si alguien cambia un solo byte por el camino, la nube lo rechaza.
- Protección contra repeticiones. La nube rechaza los envíos con más de 5 minutos de diferencia horaria, y cada informe lleva un identificador único: si llega dos veces, se cuenta una sola.
- Una filtración de la base de datos no basta para suplantar máquinas. Allí solo hay claves públicas y resúmenes de las claves de instalación, nunca un secreto que se pueda reutilizar.
- El identificador del equipo no viaja en claro. Se envía solo un resumen SHA-256 del identificador de la placa o del sistema.
- Claves de instalación bajo tu control. Puedes revocarlas, ponerles caducidad o un número máximo de usos. En el plan MSP puedes exigir aprobar a mano cada máquina nueva.
Actualizaciones e instaladores
- Actualizaciones firmadas. Cada versión del agente se publica en un manifiesto firmado con Ed25519. La clave privada de publicación vive solo en la máquina donde compilamos, fuera de la nube. Aunque alguien tomara el control de nuestro servidor, no podría firmar una versión falsa.
- Verificación antes de instalar. El agente comprueba la firma del manifiesto con la clave pública que lleva incorporada y el SHA-256 del archivo descargado. Si algo no cuadra, no instala nada.
- Vuelta atrás automática. Si una versión nueva no consigue informar en 5 minutos, el agente restaura la anterior.
- Instaladores verificados. Los scripts de instalación de Windows, Linux y macOS comprueban el SHA-256 del binario antes de instalarlo. Si la clave de instalación no es válida, el instalador se detiene con un mensaje claro, nunca a medias.
- Aviso antes de instalar. El instalador muestra qué datos se envían y pide confirmar que administras el equipo con autorización de su propietario.
Tu cuenta
- Contraseñas protegidas. Nunca las guardamos en claro: guardamos un resumen PBKDF2-SHA256 con 100 000 iteraciones y sal aleatoria. Exigimos al menos 10 caracteres y rechazamos las más comunes.
- Bloqueo de intentos. Tras 10 intentos fallidos en 15 minutos con un mismo email (o 30 desde una misma IP), el acceso se bloquea temporalmente. Los mensajes de error no revelan si un email está registrado.
- Verificación en dos pasos (2FA) con cualquier aplicación TOTP. El secreto se guarda cifrado con AES-GCM.
- Cookies seguras. La sesión usa una cookie
HttpOnly,SecureySameSite=Laxque caduca como máximo a los 14 días. Los cambios exigen comprobar el origen y una cabecera anti-CSRF. - Auditoría. Registramos las acciones sensibles (inicios de sesión, 2FA, invitaciones, claves de instalación, altas y bajas de máquinas, cambios de plan y de configuración, exportaciones y borrados) con usuario, IP y fecha. Lo ves en la propia aplicación.
- Avisos por email cuando se inicia sesión desde una IP nueva, se desactiva el 2FA o se crea una clave de instalación.
- Roles y alcance. Propietario, administrador, técnico o solo lectura, y acceso limitado a ciertos clientes si lo necesitas.
Aislamiento entre cuentas
Cada consulta a la base de datos se limita a la cuenta de la sesión iniciada. El identificador de la cuenta lo pone el servidor, nunca el navegador. Los identificadores son aleatorios, no correlativos, y los iconos que subes solo se sirven a los usuarios de tu cuenta.
La web
- Política de seguridad de contenido (CSP) estricta: el navegador solo ejecuta código servido por Vitalnodo. Sin scripts, fuentes ni estilos de terceros.
- Sin analítica ni publicidad de terceros.
- HTTPS obligatorio (HSTS), la página no se puede incrustar en otros sitios y no enviamos la dirección de origen a otros sitios (
Referrer-Policy: no-referrer). - Los datos se muestran en pantalla como texto, nunca como código, para evitar inyecciones.
Infraestructura y copias
- Vitalnodo funciona en Cloudflare (Workers, D1, Durable Objects y R2). La base de datos y el almacenamiento están en la región Este de Norteamérica (EE. UU.), y el tráfico pasa por la red global de Cloudflare.
- Según Cloudflare, el almacenamiento de objetos (R2) se cifra en reposo. Además, nosotros ciframos aparte los datos más delicados, como el secreto del 2FA y la licencia de compra.
- Copias y recuperación: la base de datos se puede restaurar a cualquier momento de los últimos 30 días (D1 Time Travel). Por eso, lo que se borra puede seguir en esas copias técnicas hasta 30 días.
- Solo el titular del servicio tiene acceso a la infraestructura de producción. Las claves de firma del servidor y los secretos de cifrado se guardan como secretos de Cloudflare, fuera de la base de datos.
Revisiones de seguridad
En octubre de 2026, antes del lanzamiento, hicimos dos auditorías internas independientes del código y de la configuración. Los fallos que encontraron se corrigieron antes de publicar el servicio.
Son revisiones internas: no son una auditoría externa ni una certificación.
Lo que todavía no tenemos
- Certificaciones como ISO 27001 o SOC 2.
- Una prueba de intrusión hecha por una empresa externa.
- Un acuerdo de nivel de servicio (SLA) con compensaciones.
- Acceso remoto. Está construido pero apagado. No lo activaremos sin una revisión de seguridad independiente.
Ningún sistema es invulnerable. Si encuentras un fallo, queremos saberlo: mira cómo reportarlo.
Si ocurre un incidente
- Contenemos el problema: revocamos accesos, cerramos sesiones o desactivamos la función afectada.
- Te avisamos por email, sin dilación indebida, con el objetivo de hacerlo en un máximo de 72 horas desde que confirmamos el incidente. Te contamos qué pasó, qué datos se vieron afectados, qué hemos hecho y qué te recomendamos hacer. Si aún no sabemos todo, te informamos por fases.
- Avisamos a la autoridad cuando la ley lo exige. En Perú, a la Autoridad Nacional de Protección de Datos Personales en un plazo de 48 horas en los casos que prevé su reglamento.
- Aprendemos: corregimos la causa y revisamos que no se repita.
Si sospechas un acceso indebido a tu cuenta, escríbenos de inmediato a seguridad@vitalnodo.com.
Reportar una vulnerabilidad
Si crees que has encontrado un fallo de seguridad en Vitalnodo, escríbenos a seguridad@vitalnodo.com. También lo indicamos en nuestro security.txt.
Qué incluir
- Qué parte afecta (web, API, agente o instalador) y la versión, si la conoces.
- Los pasos para reproducirlo y el impacto que crees que tiene.
- Cómo contactarte. Puedes escribir en español o en inglés.
Nuestro compromiso
- Te respondemos en un máximo de 5 días hábiles.
- Te mantenemos al tanto mientras lo corregimos.
- Si lo deseas, te mencionamos cuando publiquemos la corrección. Por ahora no tenemos programa de recompensas económicas.
Puerto seguro
Si investigas de buena fe y sigues estas reglas, no emprenderemos acciones legales contra ti ni pediremos a nadie que lo haga, y consideraremos tu investigación autorizada:
- Usa solo cuentas y máquinas propias. No accedas, cambies ni borres datos de otras personas; si te encuentras con ellos, detente y avísanos.
- No hagas pruebas de denegación de servicio, envío masivo de mensajes, ingeniería social ni ataques físicos.
- No uses el fallo más allá de lo necesario para demostrarlo.
- Danos un plazo razonable para corregirlo antes de hacerlo público. Lo acordamos contigo, normalmente hasta 90 días.
Contacto
- Seguridad
- seguridad@vitalnodo.com
- Privacidad
- privacidad@vitalnodo.com
- Soporte
- soporte@vitalnodo.com