How to create bundles and recover files
There is also a CLI guide.
ReMemory protects files by:
Recovery works entirely offline, in a browser.* No servers, no need for this website to exist.
* Time-locked archives need a brief internet connection at recovery time.
You probably have digital secrets that matter: password manager recovery codes, cryptocurrency seeds, important documents, instructions for loved ones. What happens to these if you're suddenly unavailable?
Think of it like a safe deposit box that needs two keys to open β no single person holds enough to get in alone.
Traditional approaches have weaknesses:
ReMemory takes a different approach:
Three steps. Everything happens in your browser β your files never leave your device.
Add the people who will hold pieces of your recovery key. For each, provide a name and optionally contact information.
Then choose your threshold β how many people must come together to recover your files.
Drag and drop the files or folder you want to protect.
Good candidates:
Click "Generate Bundles" to encrypt your files and create a bundle for each person.
Each bundle includes the full recovery tool. It works even if this website is gone.
Send each person their bundle however you prefer:
Once your bundles are ready, there are a few things worth doing before you put this out of your mind:
recover.htmlMANIFEST.age somewhere safe β it's just encrypted data, useless without enough piecesproject.yml so you can regenerate bundles laterREADME.pdf as a paper backup before sending the digital bundle. Paper doesn't need adapters or power.If you're here because someone you care about is no longer available β take a breath. There's no rush. The bundles don't expire, and the process is designed to be done at your own pace.
If you don't have a bundle yet, you can open the recovery tool directly β you'll add pieces manually as you collect them from other holders.
Each bundle contains:
Each bundle is personalized β the friend's share is pre-loaded, and a contact list shows who else holds pieces. When the encrypted data is small enough, it's embedded too.
The simplest path. If you have the bundle ZIP (or the files from it):
Open it in any modern browser. Your share is already loaded.
For small archives (β€ 10 MB), this is automatic β the data is already embedded. Otherwise, drag MANIFEST.age from the bundle onto the page.
The tool shows a contact list with other friends' names and how to reach them. Ask them to send their README.txt.
For each friend's piece: drag their README.txt onto the page, paste the text, or scan a QR code from their PDF. A checkmark appears as each piece is added.
Once enough pieces are gathered (e.g., 3 of 5), recovery starts on its own.
.zip bundle, drag it onto the page β both the piece and the archive are imported at once.
Each printed PDF includes your share as a list of numbered words. Type them into the recovery tool β no camera or scanner needed.
Visit the URL printed on the PDF, or open recover.html from any friend's bundle.
Find the word list on your PDF and type the words into the text area. You don't need the numbers β just the words, separated by spaces.
You may need the MANIFEST.age file β drag it onto the page or click to browse. If you don't have it, any friend can send theirs. Every bundle has the same copy.
Contact other friends and ask for their pieces. They can send their README.txt, read their words over the phone, or you can scan their QR code.
Once the threshold is met, decryption starts immediately.
If your device has a camera, scan the QR code on the PDF to import your share directly.
Scan the QR code with your phone camera β it opens the recovery tool with your share pre-filled. Or visit the URL on the PDF and type the short code shown below the QR code.
You may need the MANIFEST.age file β drag it onto the page or click to browse. If you don't have it, any friend can send theirs. Every bundle has the same copy.
Contact other friends and ask for their pieces. They can send their README.txt, or you can scan their QR code.
Once the threshold is met, decryption starts immediately.
README.pdf β paper survives digital disastersproject.yml if you want to regenerate bundles laterBundles are small (under 10 MB) and designed to be stored in everyday places. Here's what works well:
README.pdf gives your friends a copy that doesn't need adapters, power, or any working device.The best approach is redundancy β email plus paper, or cloud plus paper. More than one copy, in more than one form.
Set a yearly reminder to check in with your friends. Confirm they still have their bundles and update contact details if anything has changed.
When your files change, create new bundles and send them. The old bundles won't open the new archive, so there's no risk in leaving them around β but ask friends to replace theirs to keep things tidy.
When contacts change β someone moves, changes their phone number, or you want to add or remove someone β same thing: new bundles, ask people to delete the old ones.
Between updates, keep your source files in an encrypted vault β tools like Cryptomator or VeraCrypt work well. Don't leave plaintext copies sitting in a regular folder.
Think of it like updating your emergency contacts. Brief, periodic, worth doing.
Once a piece has been distributed, it cannot be revoked. This is by design β there is no server, no central authority.
If you need to change who holds pieces:
The same applies when secrets change. New bundles mean a new key and new pieces. Old pieces won't open the new archive, but they still work with the old one. Make sure friends aren't holding on to old copies.
When you create bundles, your project is saved in a project.yml file. This file stores:
It does not store any secrets β no passphrase, no key material, no file contents. It's safe to keep alongside your other project files.
With project.yml, you can regenerate bundles, verify existing ones, and check the status of your setup.
ReMemory composes well-established cryptographic tools rather than inventing its own. Here's what that means in practice.
Your files are locked with a modern encryption tool (age) β widely reviewed, no known weaknesses.
The key that locks them is 256 bits long, generated from your operating system's random number generator. For scale: guessing it would take longer than the universe has existed.
Even if someone tried every possible password, scrypt makes each guess deliberately slow β millions of times slower than a naive attempt.
The key is then split using Shamir's Secret Sharing. Any fewer than threshold pieces contain zero information about the original. Not "very little." Mathematically zero.
Each bundle includes checksums so the recovery tool can verify nothing was corrupted or tampered with.
recover.html still works β it's self-contained. No servers, no downloads, no dependencies on this project.
The things that do need to be true: your device is trusted when you create bundles, and the browser used for recovery isn't compromised. These are the same assumptions you make any time you use a computer for something important.
For a detailed technical evaluation, see the security review.
ReMemory isn't the first tool to use Shamir's Secret Sharing. There are many others, from command-line tools to web apps. Here's what sets ReMemory apart:
recover.html β a complete recovery tool that runs in any browser, offline.* No installation, no CLI needed.For a detailed comparison with other tools, see the full comparison table on GitHub.
There is also a command-line tool for those who prefer a terminal or need to automate bundle creation.
The CLI provides the same functionality, plus batch operations and scripting.
When holders should not know each other's identities, use anonymous mode:
This is useful when:
In the bundle creator, enable the Anonymous toggle in the Friends section:
bundle-share-1.zip, bundle-share-2.zip, etc.Recovery works the same way, but without the contact list. Holders see generic labels like "Share 1" instead of names.
Each person can receive their bundle in their preferred language. Seven languages are supported: English, Spanish, German, French, Slovenian, Portuguese and Chinese (Taiwan).
You can set a waiting period when creating bundles. Even if your friends combine their pieces early, the files stay locked until the date you chose β 30 days, 6 months, a specific date.
In the bundle creator, switch to Advanced mode and check Add a time lock. Choose how long the files should stay locked β up to two years.
The two-year limit is deliberate. Time locks depend on the League of Entropy continuing to operate, and we don't think it's responsible to lock your files behind a longer bet on external infrastructure. If you need a longer duration and understand the trade-off, the CLI has no cap: rememory seal --timelock 5y.
When someone opens a time-locked bundle before the date, the recovery tool shows a waiting notice. Once the time passes, recovery proceeds normally.
Opening a time-locked archive requires a brief internet connection. Your files aren't sent anywhere β the connection verifies that enough time has passed. Without the time lock, recovery is fully offline.
The League of Entropy produces a new cryptographic value every 3 seconds. Each value is numbered. You can predict which number corresponds to a given time, but the value for that number can't be produced early β not by anyone, including the network operators.
When you create a time-locked bundle, the archive is encrypted to a specific future value. The key to open it doesn't exist yet. It will come from the network when that moment arrives.
For a deeper look at the cryptography behind this, see the drand timelock encryption documentation.
ReMemory can also run as a web app on your own server using rememory serve. The server provides the same creation and recovery tools through a browser. Friends only need their share β the encrypted archive is served automatically.
This is an advanced option for people who already run a homelab or want a shared web UI. The offline bundles remain the primary way to use ReMemory and work without any server. See the self-hosting guide on GitHub for details.