Seguridad en Vaulted
Cifrado de conocimiento cero: no podemos leer tus secretos, aunque quisiéramos.
Creado y mantenido por Maxim Novak · [email protected]
No confíes en nosotros: verifícalo tú mismo
Cada afirmación de esta página se puede observar desde tu propio navegador. Abre las DevTools, ejecuta cuatro pruebas breves y confirma que ni el texto plano ni la clave cruzan nunca la red. Cinco minutos, sin herramientas que instalar.
Cifrado AES-256-GCM
Cada secreto se cifra en tu navegador con AES-256-GCM, según se especifica en NIST SP 800-38D: el mismo estándar que usan gobiernos e instituciones financieras de todo el mundo. El cifrado ocurre antes de que ningún dato salga de tu dispositivo.
La clave nunca sale de tu navegador
La clave de cifrado se coloca en el fragmento de la URL (la parte después de #). Según el RFC 3986, los fragmentos de URL nunca se envían al servidor: solo existen en tu navegador. Únicamente quien tenga el enlace completo puede descifrar el secreto.
Arquitectura de conocimiento cero
Nuestro servidor solo almacena el texto cifrado y metadatos (número de vistas, expiración). No tenemos forma de descifrar tus datos: nunca vemos la clave ni el texto plano. Incluso un compromiso total del servidor solo revelaría bloques cifrados.
Protección opcional con frase de contraseña
Para mayor seguridad, puedes establecer una frase de contraseña al crear un secreto. La frase de contraseña envuelve la clave de cifrado: aunque alguien intercepte el enlace, no podrá descifrar el secreto sin ella. Comparte la frase de contraseña por un canal distinto (como una llamada o un mensaje aparte) para una protección máxima.
Qué almacena el servidor
Un bloque cifrado, el número de vistas restantes y una marca de tiempo de expiración. Eso es todo. Sin registros de IP, sin cuentas de usuario, sin analíticas sobre el contenido del secreto.
Eliminación automática
Los secretos se eliminan de forma permanente cuando se alcanza el límite de vistas o pasa el tiempo de expiración. No hay papelera, ni copia de seguridad, ni forma de recuperar secretos eliminados.
Abierto por diseño
La lógica de cifrado y descifrado se ejecuta íntegramente en tu navegador usando la Web Crypto API. Puedes inspeccionar el código fuente, verificar la implementación criptográfica y confirmar que ningún texto plano sale jamás de tu dispositivo.
Contra qué protege Vaulted
Escucha en la red
Todos los datos se cifran en tu navegador antes de transmitirse. Aunque se intercepte el tráfico de red, los atacantes solo ven texto cifrado AES-256-GCM: la clave de cifrado nunca cruza la red.
Compromiso del servidor
Vaulted usa una arquitectura de conocimiento cero. El servidor solo almacena texto cifrado y metadatos. Nunca recibe la clave de cifrado ni el texto plano, así que una brecha total del servidor no aporta nada utilizable.
Acceso no autorizado
Los secretos están protegidos por límites de vistas configurables, expiración automática (TTL) y protección opcional con frase de contraseña. Una vez alcanzado el límite de vistas o expirado el TTL, el secreto se elimina de forma permanente.
Persistencia de los datos
Los secretos se eliminan automática y permanentemente del almacenamiento al consumirse o expirar. No hay copias de seguridad, papeleras ni mecanismos de recuperación.
Contra qué NO protege Vaulted
Navegador o dispositivo comprometido
Si un malware tiene acceso a tu navegador, puede leer el contenido descifrado del DOM después de que veas un secreto.
Registradores de teclado (keyloggers)
Un keylogger en el dispositivo del remitente o del destinatario puede capturar una frase de contraseña a medida que se teclea.
Extensiones de navegador maliciosas
Las extensiones con acceso al DOM pueden leer el contenido descifrado del secreto una vez renderizado en el navegador.
Reenvío o capturas de pantalla del destinatario
Una vez descifrado el secreto, el destinatario ve el texto plano. No hay DRM: puede copiarlo, capturarlo o compartirlo.
Interceptación del enlace antes de verlo
Si la URL completa (incluido el fragmento que contiene la clave) se intercepta antes de que el destinatario previsto la abra, el secreto queda comprometido.
Frases de contraseña débiles
Si se usa una frase de contraseña y es débil, un atacante con acceso a la clave envuelta puede descifrarla por fuerza bruta.
Qué entregaríamos ante una citación judicial
Una pregunta habitual de los equipos de seguridad y jurídicos: si se nos obligara mediante un proceso legal, ¿qué podría entregar Vaulted realmente? La respuesta honesta es «no mucho», y eso es por diseño, no por política. No podemos compartir lo que nunca recibimos.
Qué conservamos de cualquier secreto
- Texto cifrado AES-256-GCM, el contador de vistas restantes y una marca de tiempo de TTL: almacenados como un hash de Redis en Upstash.
- Una sal opcional de clave envuelta si el remitente eligió una frase de contraseña.
- Todo lo anterior se purga automáticamente al expirar el TTL o cuando se alcanza el máximo de vistas. Sin copias de seguridad, sin archivos.
Qué nunca se almacena ni se registra
- El contenido en texto plano.
- La clave de cifrado: vive solo en el fragmento de la URL (después del
#), que los navegadores no envían al servidor según el RFC 3986. - Las frases de contraseña (solo se almacena una sal no reversible).
- La identidad, el correo o la huella del dispositivo del destinatario.
- Cuerpos de solicitud, cuerpos de respuesta o referrers.
Qué se registra, brevemente
- La IP del solicitante, usada únicamente por Upstash Ratelimit (ventana deslizante) para aplicar 10 creaciones/min y 30 vistas/min por IP. Se conserva solo el tiempo que requiere la ventana de límite de tasa.
- Registros operativos estándar de Vercel y Upstash (códigos de estado, latencias), no vinculados al contenido del secreto.
Qué podrían obtener las autoridades con un proceso válido
Como mucho: un bloque de texto cifrado opaco mientras siga dentro de su ventana de TTL, además de los metadatos anteriores. El bloque es ilegible sin la clave de descifrado, que nunca tuvimos y no tenemos forma de recuperar.
Sinceramente, no tenemos nada útil que entregar.
Divulgación responsable
Nos tomamos la seguridad en serio. Si descubres una vulnerabilidad, repórtala de forma responsable para que podamos solucionarla antes de que afecte a los usuarios.
Qué incluir en un informe
- Una descripción de la vulnerabilidad y su posible impacto
- Pasos para reproducir el problema
- Cualquier código de prueba de concepto o capturas de pantalla
Alcance
- Dentro del alcance: implementación del cifrado, elusión de autenticación, exposición de datos, vulnerabilidades del lado del servidor
- Fuera del alcance: ingeniería social, denegación de servicio, spam
Nuestro objetivo es acusar recibo de los informes en un plazo de 48 horas.
¿Quieres verlo en acción?
Prueba el Playground de cifrado : una demo interactiva del mismo cifrado AES-256-GCM que usa Vaulted. O lee nuestra guía visual del cifrado de extremo a extremo.