Seguridad y privacidad

Tu archivo permanece en tu dispositivo

ZipRecover está diseñado como una herramienta de privacidad. Aquí tienes con precisión qué se ejecuta y dónde, qué no recibimos nunca y cómo el motor trata tus archivos como entrada no confiable.

Permanece en tu dispositivo
  • Leer y analizar el archivo
  • Detectar el método de cifrado
  • Derivar claves y probar candidatas
  • Confirmar y mostrar un resultado
  • Descifrado local opcional de archivos
Nunca sale de tu dispositivo
  • El propio archivo ZIP
  • El contenido de cualquier archivo dentro del ZIP
  • Los nombres de archivo almacenados dentro del ZIP
  • Las contraseñas candidatas que se prueban
  • La contraseña recuperada
  • Hashes del archivo que pudieran identificar o exponer tus datos
La ruta de tu archivo durante la recuperación, íntegra en tu dispositivo, sin ningún desvío que lo envíe a un servidor.
La ruta de tu archivo queda en tu dispositivo.

El flujo de datos

Cuando seleccionas un archivo, el navegador lee sus bytes con la File API. La página analiza la estructura del ZIP en tu dispositivo, elige una entrada cifrada, con preferencia por la más pequeña que sea lo bastante grande para confirmar una contraseña de forma decisiva, y entrega a cada Web Worker solo los bytes que necesita para probar contraseñas (en AES, la sal, el valor de verificación, el texto cifrado y el código de autenticación; en ZipCrypto, los bytes cifrados de esa entrada), junto con un resumen del archivo (nombres y tamaños de las entradas). Los workers ejecutan las comprobaciones de contraseñas, con el cálculo de hashes más pesado en WebAssembly (hash-wasm) o, para la derivación de claves AES, en la Web Crypto integrada del navegador cuando es más rápida en tu dispositivo, y nunca tienen el archivo completo. Nada de este flujo va a un servidor, y tiene este aspecto:

Tu archivo ZIP
  --> File API del navegador (local)
  --> ZIP analizado en la página (local)
  --> Los Web Workers prueban contraseñas (local)
  --> Resultado mostrado solo para ti

Deliberadamente no hay ninguna ramificación en ese diagrama que envíe tu archivo a un servidor. El motor de recuperación no contiene código de red que envíe datos del archivo. En eso se decide si las herramientas de contraseñas ZIP en línea son seguras: el riesgo está en la subida, y aquí tu archivo nunca se sube.

Dos cosas que la herramienta guarda en tu dispositivo se quedan en este navegador: una copia de corta vida del archivo que le entrega la página de inicio (en el IndexedDB local, borrada en cuanto la página de recuperación la lee) y, durante una búsqueda por máscara o por fuerza bruta en pausa, un registro de reanudación en el almacenamiento local. Ninguna de las dos se nos envía nunca. La sección 4 de la política de privacidad detalla qué contiene cada una y cómo borrarla, algo que importa en un equipo compartido.

Informes de error y analítica

Si el propio código del sitio falla en tu navegador, envía un breve informe a /api/error en este mismo sitio, y el servidor del sitio lo registra (está preparado para reenviar los informes a nuestro concentrador central de errores, que aún no está en marcha). El informe contiene el tipo y el mensaje del error, la traza, la dirección del script con su línea y su columna, la ruta de la página (sin la cadena de consulta), el idioma de la página, el user-agent de tu navegador, la hora, la versión del sitio y, si el fallo se produce dentro de la herramienta de recuperación, una etiqueta de una sola palabra que indica la parte que falló. Nunca incluye tu archivo, su contenido o sus nombres de archivo, ni ninguna contraseña, y el navegador envía como máximo diez informes por visita de página. Los informes se conservan durante un máximo de 90 días (consulta la sección 4 de la política de privacidad).

La herramienta de recuperación incluye una función de analítica en su propio código. Solo puede registrar unas pocas etiquetas no identificativas sobre una búsqueda (el método de cifrado, el tamaño de clave AES del archivo cuando lo tiene, el modo que elegiste y si el archivo es compatible), y nunca tu archivo, su contenido o sus nombres de archivo, ni ninguna contraseña. Hoy no hay ningún recolector conectado, así que no envía nada. Cloudflare sí registra los metadatos habituales de cada solicitud por cada visita de página (consulta la sección 4 de la política de privacidad). Cualquier analítica agregada del sitio que se añada en el futuro se mantendrá dentro de esa misma lista de datos permitidos y nunca recibirá contenido del archivo, nombres de archivo, contraseñas candidatas, contraseñas recuperadas ni hashes del archivo.

Modelo de seguridad de entrada no confiable

Un archivo ZIP que elijas podría estar malformado o ser hostil, así que el motor trata cada archivo como no confiable:

  • Análisis con comprobación de límites. El analizador del formato valida cada desplazamiento y longitud antes de leer, de modo que un archivo truncado o manipulado genera un error limpio en lugar de leer fuera de límites.
  • Límites de memoria. La herramienta prueba las contraseñas contra una sola entrada cifrada de 256 MB comprimidos como máximo, y su descompresión se detiene en cuanto la salida supera el tamaño que el archivo declara para esa entrada, así que una entrada de tipo bomba de descompresión no puede expandirse sin límite. El archivo que eliges se lee entero en memoria.
  • Verificación sin extracción. Probar una contraseña no requiere extraer archivos arbitrarios. La confirmación lee únicamente la entrada de verificación (la entrada más pequeña que da una comprobación definitiva, si el archivo tiene una): en AES comprueba el HMAC almacenado sobre los datos cifrados, y en ZipCrypto descifra la entrada, la descomprime si usa Deflate y compara su CRC-32.
  • Sin ejecución de código. El contenido del archivo se trata puramente como datos. Nada dentro de un archivo se ejecuta ni se interpreta jamás.

Qué significa y qué no significa "sin subida"

Tu archivo no se nos envía. Como en cualquier sitio web, las páginas, los scripts y la comprobación de compatibilidad de WebAssembly se descargan desde nuestro alojamiento. Los únicos datos que el sitio envía de vuelta son los del informe de error descrito más arriba, que no contiene ningún dato de tu archivo.

Componentes de código abierto

La recuperación se construye sobre bibliotecas de código abierto consolidadas y con licencia. La derivación de claves, el HMAC y el CRC-32 vienen de hash-wasm o de la Web Crypto del navegador; el flujo de clave de ZipCrypto sigue la especificación publicada de PKWARE en nuestro propio código, que las pruebas comprueban con archivos que escribe zip.js.

ComponenteLicenciaFunción
hash-wasm MIT WebAssembly PBKDF2-HMAC-SHA1, HMAC-SHA1, CRC-32
zip.js BSD-3-Clause Descifrado local opcional y referencia del formato
fflate MIT Descompresión DEFLATE de respaldo
Astro MIT Framework de sitios estáticos

Transporte y cabeceras

El sitio se sirve a través de HTTPS con una Content-Security-Policy estricta, X-Content-Type-Options: nosniff, una Permissions-Policy restrictiva y frame-ancestors 'none' para evitar el clickjacking. WebAssembly se permite mediante script-src 'wasm-unsafe-eval'; las conexiones se limitan al propio origen del sitio.

Limitaciones, con honestidad

Como la recuperación se realiza del lado del cliente, no podemos ver ni controlar cómo se usa la herramienta, y por eso el uso autorizado es una política que aceptas en lugar de algo que podamos imponer técnicamente. Y ninguna herramienta puede recuperar una contraseña fuerte arbitraria: los archivos AES en particular usan una derivación de clave lenta que encarece la adivinación por diseño.

Preguntas frecuentes de seguridad y privacidad

¿Reciben alguna vez mi archivo ZIP?

No. No existe ningún paso de subida. El archivo se lee localmente con la File API y se analiza en la propia página, y los Web Workers prueban las contraseñas contra los bytes de una entrada cifrada del archivo. Ninguna petición de red de la aplicación transporta tu archivo, su contenido ni sus nombres de archivo internos.

¿Almacenan o transmiten las contraseñas recuperadas?

No. Una contraseña recuperada se muestra únicamente en tu pestaña del navegador y se copia solo cuando pulsas copiar. Nunca se envía a ningún sitio y la herramienta no la escribe en almacenamiento persistente.

¿Qué componentes de código abierto impulsan la recuperación?

El núcleo criptográfico es hash-wasm (MIT), una biblioteca que ofrece implementaciones de PBKDF2, HMAC, SHA-1 y CRC-32 en WebAssembly. zip.js (BSD-3-Clause) se usa para el descifrado local opcional. Ambos son de uso extendido.

¿Se requiere aislamiento de origen cruzado?

No. El motor no usa SharedArrayBuffer ni WebAssembly multihilo, así que el sitio no envía Cross-Origin-Embedder-Policy y no tiene aislamiento de origen cruzado (sí envía Cross-Origin-Opener-Policy: same-origin). Eso mantiene el despliegue sencillo y evita romper otros recursos.

¿Todo listo para recuperar tu contraseña ZIP?

Se ejecuta localmente en tu navegador. Tu archivo nunca sale de tu dispositivo.

Abrir la herramienta