Gratis integritetsverktyg
Försegla en fil
Kryptera en fil under en färsk engångsnyckel och skicka den via vilken kanal du vill. Den som har nyckeln öppnar filen direkt här, på den här sidan. Ingenting laddas någonsin upp, det finns ingen lösenfras att knäcka, och du ser vad som finns inuti innan något sparas.
Körs helt i den här fliken. Den här sidan kan inte prata med någon server överhuvudtaget.
Förseglar …
Förseglad.
Det här är din krypterade fil. Utan nyckeln kan ingen läsa den. Inte vi, inte någon.
Nyckeln — visas bara nu
Den här nyckeln finns bara på den här sidan, just nu. Den lagras inte och skickas inte någonstans. Om du tappar bort den kan ingen öppna filen, inte heller vi. Spara den innan du lämnar sidan.
Eller dela nyckeln som en länk
Nyckeln ligger efter # i länken. Webbläsare skickar aldrig den delen till någon server. Länken öppnar den här sidan med fliken Öppna redo och nyckeln ifylld, och tar sedan bort nyckeln ur adressfältet.
Skicka filen och nyckeln var för sig.
Vem som helst som har både den förseglade filen och nyckeln kan öppna den. Skicka dem via olika kanaler, till exempel filen via e-post och nyckellänken via sms. Då har ingen enskild inkorg någonsin båda.
Nyckeln lästes ur din länk och togs bort ur adressfältet, så den hamnar inte i historiken.
Kontrollerar …
Inuti den här förseglade filen
Ingenting har sparats än. Det här är vad den förseglade filen säger att den innehåller:
- Namn
- Storlek
- Typ
Var försiktig — den här filtypen kan köra kod på din enhet
Dekrypterad.
Filen dekrypterades på din enhet och erbjöds som nedladdning. Ingenting om den lämnade någonsin den här sidan.
Från skaparna av Sealby — det krypterade valvet för iPhone
Sealby håller foton, filer och anteckningar i krypterade valv på din iPhone. Inget konto, inga servrar, läsbart för ingen annan än dig.
Varje parameter, redovisad
- Chiffer
- AES-256-GCM (WebCrypto), 128-bitars tagg per block
- Nyckel
- 256 bitar från webbläsarens CSPRNG, ny för varje försegling, används en gång, härledd ur ingenting
- Uppdelning
- ett krypterat manifest (filnamn, storlek, typ), sedan filen i block på 1 MiB — vart och ett autentiserat för sig
- Nonce
- 32-bitars slumpmässigt förseglingssalt ‖ 64-bitars blockräknare — upprepas aldrig inom en fil, och nyckeln används ändå bara en gång
- Autentiserade data
- hela det 16 byte stora huvudet plus varje blocks index och det totala antalet block — att kasta om, kapa eller skarva in block förstör dekrypteringen
- Nyckelsträng
- base64url, 47 tecken: den 32 byte stora nyckeln plus en 3 byte lång SHA-256-kontrollsumma, så att ett skrivfel misslyckas rent i stället för att ge skräp
Ärliga svar om vad det här gör
Allting sker i din webbläsare.
Både försegling och öppning läser in filen i den här sidans minne, kör AES-256-GCM där med webbläsarens inbyggda WebCrypto-motor och lämnar tillbaka resultatet som en nedladdning. Ingenting laddas upp. Det finns inget konto och ingen serverbearbetning. Till skillnad från resten av den här webbplatsen laddar den här sidan inte ens den kakfria besöksräknaren. Ingen analysdata av något slag.
Det här är inte bara ett löfte. Sidan levereras med en Content-Security-Policy som bara låter webbläsaren hämta webbplatsens egna statiska filer. Den har inget sätt att skicka din fil, din nyckel eller något annat till någon server, vår egen inräknad. Öppna webbläsarens utvecklarverktyg medan du förseglar, så kommer du att se noll förfrågningar. För det trubbigaste beviset, installera verktygslådan och försegla i flygplansläge. Med nätverket avstängt kan ingenting lämna enheten.
Nyckeln är allt — och vi har den aldrig.
Varje försegling skapar en färsk slumpmässig 256-bitarsnyckel i din webbläsare. Den visas för dig en gång och sparas ingenstans: inte i våra system (inga är inblandade), inte i webbläsarens lagring, inte i den förseglade filen. Det finns ingen lösenfras att gissa och ingenting som går att knäcka med råstyrka. Den som har nyckeln och filen kan öppna den. Den som inte har det, kan inte.
Det har en hård konsekvens: om nyckeln tappas bort är filen borta. Det finns ingen återställning, inget supportärende, ingen räddning. Det handlar inte om att vi är ovilliga att hjälpa. En kopia vi skulle kunna återställa vore en kopia någon skulle kunna stjäla eller kräva ut.
Nyckellänken når aldrig en server.
Delningslänken lägger nyckeln efter # i URL:en. Den delen, fragmentet, stannar i webbläsaren. Den tas aldrig med i det webbläsaren skickar till någon server, vår eller någon annans. När den här sidan laddas med en nyckel i länken läser den nyckeln, byter till fliken Öppna och tar omedelbart bort nyckeln ur adressfältet. Så att den inte ligger kvar i den synliga URL:en eller i webbläsarhistoriken.
Ändå kan vem som helst som har både länken och den förseglade filen öppna den. Därför säger den här sidan åt dig att skicka filen och nyckeln via olika kanaler.
Du ser vad som finns inuti innan något sparas.
Att öppna sker i två steg. Först dekrypterar sidan bara ett litet manifest: originalets filnamn, storlek och typ. Den visar det för dig, med en tydlig varning för filtyper som kan köra kod (program, skript, installationsfiler, makrodokument, HTML) och för namn förklädda med dubbel filändelse som invoice.pdf.exe. Ingenting skrivs förrän du klickar för att dekryptera. Sidan öppnar eller visar aldrig själva det dekrypterade innehållet. Den erbjuder bara filen för nedladdning.
Var tydlig med vad kryptering bevisar och inte bevisar. En förseglad fil är konfidentiell under transporten. Förseglingen säger ingenting om vem som skickat den eller om innehållet är säkert. Behandla en oväntad förseglad fil lika skeptiskt som en oväntad bilaga.
Var förtroendegränsen egentligen går.
Du kör kod som den här webbplatsen levererat till dig. Om sealby.app eller din anslutning till den vore komprometterad skulle en illasinnad sida kunna läsa det du lägger in i den. Det gäller varje webbaserat krypteringsverktyg, och vi säger det hellre än att påstå något annat. Vad vi gör åt det: sidan är en statisk fil, och vi håller den fri från tredjepartskod. Den installerade verktygslådan låter dig fortsätta använda en version du redan laddat. Och formatet är dokumenterat nedan, så att oberoende verktyg kan byggas mot det.
Din egen enhet ligger också innanför gränsen. Webbläsartillägg med sidåtkomst, eller skadlig kod på maskinen, kan läsa allt som vilken sida som helst kan. Den förseglade filen döljer sitt innehåll, men inte allt. Den som har den kan se dess storlek (ungefär originalets) och att det är en Sealby-förseglad fil.
Begränsningar i klartext
- Förlorad nyckel = förlorad fil. Inga undantag, av design.
- Vi kan inte se dina filer eller nycklar, så vi kan inte heller söka igenom dem efter skadlig kod. Varningen om filtyp bygger bara på filnamnet. Den är ingen säkerhetsgaranti.
- Vem som helst med både den förseglade filen och nyckeln kan öppna den. Verktyget vet eller kontrollerar inte vem de är.
- Den förseglade filens storlek avslöjar ungefär originalfilens storlek.
- En fil, upp till 100 MB, per försegling. Zippa flera filer först.
Formatet, byte för byte
Allt en teknisk läsare behöver för att verifiera sidans utdata på egen hand, eller öppna en .sealed-fil med trettio rader Python:
| bytes | field | contents |
|---|---|---|
| 0–7 | magic | ASCII "SEALBY-W" |
| 8 | version | 0x01 — allt annat avvisas som ”skapad med en nyare version” |
| 9 | algoritm | 0x01 = AES-256-GCM |
| 10–13 | förseglingssalt | 4 byte, CSPRNG, nytt per försegling |
| 14–15 | reserverat | måste vara noll |
| 16–slut | blockramar | var och en: uint32 BE chiffertextlängd, sedan AES-GCM-chiffertexten + 16 byte tagg |
Block 0 är manifestet: UTF-8-JSON {"name":…,"size":…,"type":…}. Block 1…N−1 är filen i bitar om 1 MiB. Per block i av N: nonce = salt ‖ uint64 BE i; autentiserade data = huvud ‖ uint64 BE i ‖ uint64 BE N. Så manipulering, kapning, omkastning, omplacering och skarvning mellan filer misslyckas alla i autentiseringen. Varje fall bevisas av ett incheckat negativt test.
Nyckelsträng: base64url (utan utfyllnad) av den 32 byte stora nyckeln följd av de tre första byten av dess SHA-256, 47 tecken totalt. Ett skrivfel faller på kontrollsumman i stället för att ge skräp.
Fullständig byteexakt specifikation (FORMAT-WEB-v1) ·Testvektorer med kända svar (JSON)
Referensöppnare (Python, biblioteket 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"])Det här är för filer på väg. Valvet är för filer som ligger still.
Försegling skyddar en fil på väg någonstans. Sealby skyddar allt som stannar: foton, filer och anteckningar i krypterade valv på din iPhone. Inget konto, inga servrar, läsbart för ingen annan än dig.
iPhone & iPad · iOS 17+ · Gratis