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 adentro antes de guardar nada.
Todo ocurre 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 lado. Si la pierdes, nadie podrá abrir el archivo, nosotros incluidos. Guárdala antes de irte.
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 puesta, y luego borra la clave de la barra de direcciones.
Manda 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á jamás los dos.
Clave leída de tu enlace y borrada de la barra de direcciones, para que no quede en tu historial.
Revisando…
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 descifró en tu dispositivo y se te ofreció como descarga. Nada sobre él salió jamás 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ú.
Cada parámetro, declarado
- Cifrado
- 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, de todos modos, la clave es de un solo uso
- Datos autenticados
- el encabezado completo 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 verificación SHA-256 de 3 bytes, para que un error de tecleo falle limpiamente en lugar de producir basura
Respuestas honestas sobre lo que hace esto
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 este sitio, esta página ni siquiera carga el contador de visitas sin cookies. Ninguna analítica de ningún tipo.
Y esto no es solo una promesa. La página se sirve con una Content-Security-Policy que solo le permite al navegador descargar los archivos estáticos de este mismo sitio. No tiene forma de enviar tu archivo, tu clave ni ninguna otra cosa a ningún servidor, incluidos los nuestros. Abre las herramientas de desarrollo de tu navegador mientras sellas y verás que no ocurre 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, no puede salir nada.
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 ningún lado: 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 aplicarle 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 ticket 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 queda en el navegador. Nunca se incluye en lo que el navegador manda 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 mandes el archivo y la clave por canales distintos.
Ves lo que hay adentro antes de guardar nada.
Abrir sucede en dos pasos. Primero la página descifra solo un manifiesto pequeño: el nombre original, el tamaño y el tipo del archivo. Te lo muestra, con una advertencia 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 tocas para descifrar. La página nunca abre ni muestra por su cuenta el contenido descifrado. Solo ofrece el archivo para descargarlo.
Ten claro qué prueba 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 sirvió este sitio web. Si sealby.app o tu conexión con él 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 deja seguir usando una versión que ya cargaste. Y el formato está documentado aquí abajo, para que se puedan construir herramientas independientes contra él.
Tu propio dispositivo también está dentro de la frontera. Las extensiones del 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. La advertencia 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 tamaño del archivo original.
- Un archivo, de hasta 100 MB, por sellado. Junta varios archivos en un ZIP primero.
El formato, byte por byte
Todo lo que un lector técnico necesita para verificar por su cuenta lo que produce 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 “hecho con una versión más reciente” |
| 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, luego, 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 = encabezado ‖ uint64 BE i ‖ uint64 BE N. Así que la manipulación, el truncamiento, el reordenamiento, la reubicación y el injerto entre archivos fallan todos la autenticación. 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 primeros 3 bytes de su SHA-256, 47 caracteres en total. Un error de tecleo falla la suma de verificación en lugar de producir basura.
Especificación completa, exacta byte por 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 algún lado. Sealby protege todo lo que se queda: fotos, archivos y notas en cajas fuertes cifradas en tu iPhone. Sin cuenta, sin servidores, legibles para nadie más que tú.
iPhone y iPad · iOS 17+ · Gratis