Herramienta de privacidad gratuita
Sella un archivo
Cifra un archivo con una clave de un solo uso recién generada y mándalo por el canal que quieras. Quien tenga la clave lo abre aquí mismo, en esta página. Nunca se sube nada, no hay ninguna frase de acceso que descifrar y ves lo que hay dentro antes de guardar nada.
Se ejecuta enteramente en esta pestaña. Esta página no puede comunicarse con ningún servidor en absoluto.
Sellando…
Sellado.
Este es tu archivo cifrado. Sin la clave, nadie puede leerlo. Ni nosotros, ni nadie.
La clave: solo se muestra ahora
Esta clave existe solo en esta página, ahora mismo. No se guarda ni se envía a ningún sitio. Si la pierdes, nadie puede abrir el archivo, nosotros incluidos. Guárdala antes de salir.
O comparte la clave como enlace
La clave va después del # del enlace. Los navegadores nunca envían esa parte a ningún servidor. El enlace abre esta página con la pestaña Abrir lista y la clave ya rellenada, y luego borra la clave de la barra de direcciones.
Envía el archivo y la clave por separado.
Cualquiera que tenga a la vez el archivo sellado y la clave puede abrirlo. Mándalos por canales distintos, por ejemplo el archivo por correo y el enlace de la clave por mensaje. Así ninguna bandeja de entrada tendrá nunca los dos.
Clave leída de tu enlace, y borrada de la barra de direcciones para que no quede en el historial.
Comprobando…
Dentro de este archivo sellado
Todavía no se ha guardado nada. Esto es lo que el archivo sellado dice contener:
- Nombre
- Tamaño
- Tipo
Cuidado: este tipo de archivo puede ejecutar código en tu dispositivo
Descifrado.
El archivo se ha descifrado en tu dispositivo y se te ha ofrecido como descarga. Nada sobre él ha salido nunca de esta página.
De quienes hacen Sealby — la caja fuerte cifrada para iPhone
Sealby guarda fotos, archivos y notas en cajas fuertes cifradas en tu iPhone. Sin cuenta, sin servidores, legibles para nadie más que tú.
Todos los parámetros, declarados
- Cifrador
- AES-256-GCM (WebCrypto), etiqueta de 128 bits por fragmento
- Clave
- 256 bits del CSPRNG del navegador, generada nueva en cada sellado, usada una sola vez, no derivada de nada
- Fragmentación
- un manifiesto cifrado (nombre, tamaño y tipo del archivo) y luego el archivo en fragmentos de 1 MiB, cada uno autenticado por separado
- Nonce
- sal de sellado aleatoria de 32 bits ‖ contador de fragmentos de 64 bits — nunca se repite dentro de un archivo y, en cualquier caso, la clave es de un solo uso
- Datos autenticados
- la cabecera completa de 16 bytes más el índice de cada fragmento y el número total de fragmentos — reordenar, truncar o injertar fragmentos rompe el descifrado
- Cadena de la clave
- base64url, 47 caracteres: la clave de 32 bytes más una suma de comprobación SHA-256 de 3 bytes, para que una errata falle limpiamente en lugar de producir basura
Respuestas honestas sobre lo que hace esta herramienta
Todo ocurre en tu navegador.
Tanto sellar como abrir leen el archivo en la memoria de esta página, ejecutan ahí AES-256-GCM con el motor WebCrypto integrado en tu navegador y te devuelven el resultado como una descarga. No se sube nada. No hay cuenta ni procesamiento en un servidor. A diferencia del resto de esta web, esta página ni siquiera carga el contador de visitas sin cookies. Ninguna analítica de ningún tipo.
Esto no es solo una promesa. La página se sirve con una Content-Security-Policy que solo permite al navegador descargar los archivos estáticos de esta misma web. No tiene forma de enviar tu archivo, tu clave ni ninguna otra cosa a ningún servidor, incluido el nuestro. Abre las herramientas de desarrollo de tu navegador mientras sellas y verás que no se produce ni una sola petición. Para la prueba más contundente, instala la caja de herramientas y sella en modo avión. Con la red apagada, nada puede salir.
La clave lo es todo, y nosotros nunca la tenemos.
Cada sellado genera en tu navegador una clave aleatoria nueva de 256 bits. Se te muestra una sola vez y no se guarda en ninguna parte: ni en nuestros sistemas (no interviene ninguno), ni en el almacenamiento de tu navegador, ni en el archivo sellado. No hay ninguna frase de acceso que adivinar ni nada a lo que aplicar fuerza bruta. Quien tenga la clave y el archivo puede abrirlo. Quien no, no.
Eso tiene una consecuencia dura: si se pierde la clave, el archivo se pierde. No hay restablecimiento, ni tique de soporte, ni recuperación. No es que no queramos ayudar. Una copia que nosotros pudiéramos recuperar sería una copia que alguien podría robar o exigir.
El enlace de la clave nunca llega a un servidor.
El enlace para compartir pone la clave después del # de la URL. Esa parte, el fragmento, se la queda el navegador. Nunca se incluye en lo que el navegador envía a ningún servidor, ni al nuestro ni al de nadie. Cuando esta página se carga con una clave en el enlace, la lee, cambia a la pestaña Abrir y borra de inmediato la clave de la barra de direcciones. Así no se queda en la URL visible ni en el historial del navegador.
Aun así, cualquiera que tenga a la vez el enlace y el archivo sellado puede abrirlo. Por eso esta página te dice que envíes el archivo y la clave por canales distintos.
Ves lo que hay dentro antes de guardar nada.
Abrir ocurre en dos pasos. Primero la página descifra solo un pequeño manifiesto: el nombre original, el tamaño y el tipo del archivo. Te lo muestra, con un aviso bien visible para los tipos de archivo que pueden ejecutar código (programas, scripts, instaladores, documentos con macros, HTML) y para los nombres disfrazados con una doble extensión, como invoice.pdf.exe. No se escribe nada hasta que pulsas para descifrar. La página nunca abre ni muestra por su cuenta el contenido descifrado. Solo ofrece el archivo para descargarlo.
Ten claro qué demuestra el cifrado y qué no. Un archivo sellado es confidencial mientras viaja. Sellarlo no dice nada sobre quién lo envió ni sobre si su contenido es seguro. Trata un archivo sellado inesperado con el mismo escepticismo que un adjunto inesperado.
Dónde está de verdad la frontera de confianza.
Estás ejecutando código que te ha servido esta web. Si sealby.app o tu conexión con ella estuvieran comprometidos, una página maliciosa podría leer lo que pongas en ella. Esto vale para cualquier herramienta de cifrado basada en la web, y preferimos decirlo antes que fingir lo contrario. Lo que hacemos al respecto: la página es un archivo estático y la mantenemos libre de código de terceros. La caja de herramientas instalada te permite seguir usando una versión que ya has cargado. Y el formato está documentado más abajo, para que se puedan crear herramientas independientes compatibles con él.
Tu propio dispositivo también está dentro de la frontera. Las extensiones de navegador con acceso a la página, o el malware de la máquina, pueden leer todo lo que puede leer cualquier página. El archivo sellado esconde su contenido, pero no todo. Cualquiera que lo tenga puede ver su tamaño (aproximadamente el del original) y que es un archivo sellado por Sealby.
Los límites, en lenguaje llano
- Clave perdida = archivo perdido. Sin excepciones, por diseño.
- No podemos ver tus archivos ni tus claves, así que tampoco podemos analizarlos en busca de malware. El aviso sobre el tipo de archivo se basa solo en el nombre del archivo. No es una garantía de seguridad.
- Cualquiera que tenga a la vez el archivo sellado y la clave puede abrirlo. La herramienta no sabe ni comprueba quién es.
- El tamaño del archivo sellado revela aproximadamente el del archivo original.
- Un archivo, de hasta 100 MB, por sellado. Junta varios archivos en un ZIP primero.
El formato, byte a byte
Todo lo que un lector técnico necesita para verificar por su cuenta la salida de esta página, o para abrir un archivo .sealed en treinta líneas de Python:
| bytes | field | contents |
|---|---|---|
| 0–7 | magic | ASCII "SEALBY-W" |
| 8 | versión | 0x01 — cualquier otro valor se rechaza como «creado con una versión más nueva» |
| 9 | algoritmo | 0x01 = AES-256-GCM |
| 10–13 | sal de sellado | 4 bytes, CSPRNG, nueva en cada sellado |
| 14–15 | reservado | debe ser cero |
| 16–fin | tramas de fragmentos | cada una: longitud del texto cifrado en uint32 BE y, a continuación, el texto cifrado AES-GCM + la etiqueta de 16 bytes |
El fragmento 0 es el manifiesto: JSON en UTF-8 {"name":…,"size":…,"type":…}. Los fragmentos 1…N−1 son el archivo en piezas de 1 MiB. Para el fragmento i de N: nonce = sal ‖ uint64 BE i; datos autenticados = cabecera ‖ uint64 BE i ‖ uint64 BE N. Así, la manipulación, el truncamiento, el reordenamiento, la reubicación y el injerto entre archivos hacen fallar la autenticación en todos los casos. Cada caso está demostrado por una prueba negativa registrada en el repositorio.
Cadena de la clave: base64url (sin relleno) de la clave de 32 bytes seguida de los 3 primeros bytes de su SHA-256, 47 caracteres en total. Una errata hace fallar la suma de comprobación en lugar de producir basura.
Especificación completa, exacta byte a byte (FORMAT-WEB-v1) ·Vectores de prueba con respuesta conocida (JSON)
Lector de referencia (Python, biblioteca cryptography)
import base64, hashlib, json, struct, sys
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
raw = open(sys.argv[1], "rb").read()
assert raw[:8] == b"SEALBY-W" and raw[8] == 1 and raw[9] == 1
assert raw[14:16] == b"\x00\x00"
header, salt = raw[:16], raw[10:14]
frames, off = [], 16
while off < len(raw):
(n,) = struct.unpack(">I", raw[off:off + 4]); off += 4
frames.append(raw[off:off + n]); off += n
assert off == len(raw)
kb = base64.urlsafe_b64decode(sys.argv[2] + "=") # 47-char key string
key, check = kb[:32], kb[32:35]
assert hashlib.sha256(key).digest()[:3] == check # typo check
N = len(frames)
def chunk(i):
nonce = salt + struct.pack(">Q", i)
aad = header + struct.pack(">QQ", i, N)
return AESGCM(key).decrypt(nonce, frames[i], aad)
manifest = json.loads(chunk(0))
data = b"".join(chunk(i) for i in range(1, N))
assert len(data) == manifest["size"]
open(manifest["name"], "wb").write(data)
print("decrypted ->", manifest["name"])Esto es para los archivos en tránsito. La caja fuerte es para los archivos en reposo.
Sellar protege un archivo mientras viaja a alguna parte. Sealby protege todo lo que se queda: fotos, archivos y notas en cajas fuertes cifradas en tu iPhone. Sin cuenta, sin servidores, y que nadie más que tú puede leer.
iPhone y iPad · iOS 17+ · Gratis