End-to-End Encryption: How TinyX Protects Your Files

End-to-end (E2E) encryption is available on the Pro and Max plans. When you share a file with E2E encryption, it is encrypted in your browser with AES-256-GCM before it is uploaded, and only someone with the link's password can decrypt it.

What "zero-knowledge" means here

With E2E encryption, the file is encrypted on your device. TinyX only ever receives and stores the encrypted form, and the key is derived from the link password (PBKDF2) in the browser. We never receive that password in a form we could use to decrypt your file, so we can't read it.

This is different from "encrypted in transit" (HTTPS), where data is protected on the wire but readable by the server.

How it works, step by step

  1. You choose a file and set a password. Your browser derives a key from the password and encrypts the file with AES-256-GCM.
  2. Only encrypted data is uploaded. It is stored in that form on Cloudflare R2.
  3. You share the link and, separately, the password. The link alone isn't enough.
  4. The recipient enters the password. Their browser derives the same key and decrypts the file locally.

Which files are end-to-end encrypted?

Only files you share as an E2E encrypted link on Pro or Max. On the Free plan, E2E encryption isn't available (it's shown as not included on the pricing cards).

Files that aren't E2E encrypted, including all Free plan files, are still sent over HTTPS and are encrypted at rest by our storage provider, Cloudflare R2. That protects against someone stealing a disk, but TinyX's servers can read those files. If you need TinyX to be unable to read a file, use E2E encryption.

Files sent to you through an Upload Drop are only E2E encrypted if you turn on require encryption for that drop.

The password is the key

  • You must set a password when you create an E2E link.
  • It can't be added, changed or removed later, because changing it would make the file undecryptable.
  • If the password is lost, neither you nor TinyX can recover the file.
  • You can still edit an E2E link's expiry and max downloads after creating it. Only the password is locked.
  • E2E links can't be created through the API, because encryption has to happen in a browser.

What encryption doesn't cover

  • Metadata: details such as file size, upload time and link settings are stored unencrypted so TinyX can run your dashboard and enforce limits.
  • Access logs: we still log when a link was opened or downloaded (for your analytics), but not what was in the file.
  • Questionnaire responses are not end-to-end encrypted.

Does this slow things down?

Encryption and decryption happen in the browser. On modern devices it's usually quick, though very large files take longer than an unencrypted download because the browser does the work.

Can I encrypt a file I already shared?

No. Encryption happens when the file is uploaded in your browser. To get an E2E copy, upload the file again as an E2E encrypted link.

Still stuck? Email support@tinyx.co and a real person will reply.