Security model
How LimeShare protects files, and what it cannot protect against. Last updated September 23, 2026.
What happens to your file
- Your browser generates a random 256-bit master key. It never leaves your device except inside the link.
- Each file is encrypted in 4 MiB frames with AES-256-GCM using the STREAM construction (the open LSC1 format). Truncation, reordering and tampering are detected before a single byte of plaintext is released.
- File names, sizes, types and your message are encrypted into a manifest with a separate derived key.
- Encrypted bytes go directly from your browser to object storage. Our API only coordinates and never sees them.
- The link contains the key and an access token after the
#symbol. Browsers never send that part to any server. We store only a SHA-256 hash of the token. - The recipient's browser downloads the ciphertext, verifies every frame, and decrypts it locally.
What our servers know
- Transfer id, creation and expiry time, number of files and their encrypted sizes.
- A hash of the access token; the encrypted manifest (opaque to us).
- A salted, daily-rotating hash of the uploader's IP address for abuse limits. Raw IPs are not stored.
We do not know file names, contents, types, who you are, or who receives the link.
What this does not protect against
- Anyone who obtains the full link can decrypt the files. Share it over a channel you trust.
- Malware or a compromised browser on the sender's or recipient's device.
- Metadata visible to your network: that you visited limeshare.org and transferred roughly N bytes.
Verifiability
The LSC1 protocol specification, the client-side implementation and cross-implementation test vectors are published as open source. Release hashes are published so anyone can verify the code served by this site.
Reporting
Security issues: abuse@limeshare.org (PGP key published on this site). We aim to acknowledge reports within 24 hours.