Firedown Back
Security

How Firedown protects your data

Last reviewed: October 1, 2026

Firedown has no accounts and keeps no record of what you browse or download. Bookmarks and backups are encrypted on your phone before they leave it, with keys only you hold.


At a glance


01 Across the app


02 Cloud Backup assumes the server is compromised

Cloud Backup keeps an encrypted copy of the downloads you choose and restores them on any phone that has your recovery code. Nothing is uploaded until you ask, and you pay only for the storage you use.

It is designed as if our server were breached, seized, subpoenaed or misconfigured by us. In each case your files stay unreadable, because the server never holds anything that can decrypt them.


03 Your recovery code is the whole key

There is no account, no email and no password. Your phone generates a recovery code and derives every key from it.

The code is never sent anywhere: not when backing up, not when restoring, not when pairing a browser. We hold no copy and cannot produce one.

Lose the code and your backed-up files are gone. Not recoverable by you, not by us. There is no reset link, because a reset link is what would let someone else in. Write it down.

04 What happens when you back up a file

  1. A fresh key is generated for that file alone. No single key unlocks the whole backup.
  2. The file is encrypted on your phone, in pieces. Each piece is tied to its place in that file, so pieces cannot be swapped, reordered or moved between files.
  3. The pieces upload straight to the storage provider. No server of ours ever sees anything readable.
  4. The file's key is locked with one derived from your recovery code and stored beside the file, useless without the code.
  5. The index (names, types, dates, previews) is encrypted as one block. We hold it and hand it back; we cannot open it.

Restoring runs the same steps in reverse, on your phone. No key exists anywhere else.

Encrypting on your device…
Name
Type
Size
18.9 MB · still visible
Saved
14 Jul 2026, 09:12 · still visible

This is what leaves your phone. Name and type travel inside the encrypted index; size and time cannot be hidden.


05 What we can and cannot see

Encryption hides what a file is, not that it exists.

We can see

  • How large each file is
  • How many files you have
  • When you backed them up or restored them
  • The IP address you connected from
  • How much storage credit you hold

We cannot see

  • File names
  • File contents
  • Thumbnails or previews
  • What type of file anything is
  • Which site a download came from
  • Anything you have not backed up
A stored record
ObjectSizeStored
a3f9c2…7e108,388,642 bytes14 Jul 2026, 09:12
b71d04…9fa38,388,642 bytes14 Jul 2026, 09:12
c0e5aa…12b82,104,331 bytes14 Jul 2026, 09:13

Those three pieces are everything we store for the 18.9 MB file above: no name, no type. Sizes and times are real signals, and encryption does not remove them.


06 Paying without being identified

Paying for storage usually ties a person to an account. Here it does not.

Credit is issued as an anonymous token via a blind signature: the payment system signs it without seeing what it signs. A payment can be verified as genuine but cannot be linked to the account that spends it. We could not produce that link if asked, because it is never created.

There is no card option: credit is paid in Bitcoin, over Lightning or on-chain, so no card processor ever sees a payment.


07 Opening your backup in a browser

To open your backup on a computer, scan a code with the app. The app sends that one browser session the storage keys, encrypted so only that session can read them. A login token would not be enough: the browser needs the keys to decrypt your files.

Your recovery code never travels. A paired browser reaches your backed-up files and nothing else; it cannot re-derive the code, and the keys are erased when you sign out or close the tab.

Both screens show the same six digits before the keys are handed over. If they differ, choose They don't match.

Firedown never asks for your recovery code in a browser. No page of ours has a field for it. Any page that does is trying to take your files.

08 What this does not protect against


09 Check it yourself

Encryption, key derivation and the pairing handshake all run in the apps, not on the server. Every claim here can be checked from the client alone.

Where to look
FileWhat it does
sync/crypto/SyncIdentity.javaderives every key from the code
sync/crypto/VaultCrypto.javaper-file encryption
sync/crypto/BookmarkBlob.javathe encrypted index
sync/crypto/Canonical.javarequest signing
sync/crypto/PairSeal.javabrowser pairing
sync/crypto/BlindSignature.javaanonymous payment tokens

Audits. Firedown has not had an independent security audit. The code is reviewed internally, including AI-assisted review, and every claim on this page maps to a file in the public source above.

Read the source on GitHub, and see our Privacy Policy for what is stored and by whom.

Report security problems privately to [email protected]. The app repository's SECURITY.md has the details.