🧠 ReMemory Guide

How to create bundles and recover files

There is also a CLI guide.

Overview

ReMemory protects files by:

  1. Encrypting them with age
  2. Splitting the key among people you trust
  3. Giving each person a self-contained bundle for recovery

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.

Tip: No one person can access your data. They need to bring together enough pieces β€” say, 3 of 5.

Why ReMemory

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:

  • Give one person everything β€” a single point of failure and trust
  • Split files manually β€” confusing, error-prone, no encryption
  • Use a password manager's emergency access β€” similar to "give one person everything", also relies on the company existing
  • Write it in a will β€” becomes public record, slow legal process

ReMemory takes a different approach:

  • No single point of failure β€” requires multiple people to cooperate
  • No trust in any one person β€” even your most trusted friend can't access your secrets alone
  • Offline and self-contained β€” recovery works without internet or servers*
  • Designed for anyone β€” clear instructions, not cryptographic puzzles

Creating Bundles

Three steps. Everything happens in your browser β€” your files never leave your device.

Step 1: Add Friends

Add the people who will hold pieces of your recovery key. For each, provide a name and optionally contact information.

Adding friends in Step 1
Each person here will hold one piece of the key

Then choose your threshold β€” how many people must come together to recover your files.

Choosing a threshold:
  • 3 people, threshold 2: The simplest setup
  • 5 people, threshold 3: A good balance
  • 7 people, threshold 4–5: More secure, more coordination
High enough that collusion is unlikely. Low enough that recovery works if one or two people are unavailable.

Step 2: Add Files

Drag and drop the files or folder you want to protect.

Adding files in Step 2
Add the files you want to protect

Good candidates:

  • Password manager recovery codes
  • Cryptocurrency seeds/keys
  • Important account credentials
  • Instructions for loved ones
  • Legal document locations
  • Safe combinations
Note: Avoid files that change often. This is designed for secrets you set once and leave.

Step 3: Generate Bundles

Click "Generate Bundles" to encrypt your files and create a bundle for each person.

Generating bundles in Step 3
Download each bundle, or all at once

Each bundle includes the full recovery tool. It works even if this website is gone.

Distributing to Friends

Send each person their bundle however you prefer:

  • Email: Attach the ZIP file
  • Cloud storage: Share via Dropbox, Google Drive, etc.
  • USB drive: Physical handoff
  • Encrypted messaging: Signal, WhatsApp, etc.

After Creating Bundles

Once your bundles are ready, there are a few things worth doing before you put this out of your mind:

  • Verify each person received their bundle and can open recover.html
  • Tell each person what this is, why they have it, and that they should keep it safe. They cannot use it alone β€” they will need to coordinate with others.
  • Keep a copy of MANIFEST.age somewhere safe β€” it's just encrypted data, useless without enough pieces
  • Save your project.yml so you can regenerate bundles later
  • Print README.pdf as a paper backup before sending the digital bundle. Paper doesn't need adapters or power.
  • Set a yearly reminder to check in β€” see Keeping Bundles Current

Recovering Files

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.

What Friends Receive

Each bundle contains:

README.txt Instructions, your unique piece, contact list
README.pdf Same content, formatted for printing. Includes a QR code for importing the piece.
MANIFEST.age Your encrypted files. Included as a separate file for larger archives.
recover.html Recovery tool (~300 KB), runs in any browser

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.

Path A: I Have the Bundle ZIP

The simplest path. If you have the bundle ZIP (or the files from it):

1

Extract the ZIP and open recover.html

Open it in any modern browser. Your share is already loaded.

2

Load the encrypted manifest

For small archives (≀ 10 MB), this is automatic β€” the data is already embedded. Otherwise, drag MANIFEST.age from the bundle onto the page.

3

Coordinate with other friends

The tool shows a contact list with other friends' names and how to reach them. Ask them to send their README.txt.

4

Add shares from other friends

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.

5

Recovery happens automatically

Once enough pieces are gathered (e.g., 3 of 5), recovery starts on its own.

Tip: If a friend sends their entire .zip bundle, drag it onto the page β€” both the piece and the archive are imported at once.
Recovery interface - collecting shares
The recovery tool showing collected shares and contact list
Recovery interface - decryption complete
Once threshold is met, files are decrypted and ready to download

Path B: I Have a Printed PDF with Words

Each printed PDF includes your share as a list of numbered words. Type them into the recovery tool β€” no camera or scanner needed.

1

Open the recovery tool

Visit the URL printed on the PDF, or open recover.html from any friend's bundle.

2

Type in your recovery words

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.

Typing recovery words from a printed PDF into the recovery tool
Type the numbered words from your printed PDF into the text area
Recovery tool after words have been entered, showing the share was recognized
The recovery tool recognizes the words and loads your share
3

Load the encrypted manifest

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.

4

Collect shares from other friends

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.

5

Recovery happens automatically

Once the threshold is met, decryption starts immediately.

Tip: Words are the easiest to share over the phone. If a friend can't send their share digitally, they can read the words aloud and you type them in.

Path C: I Have a Printed PDF with QR Code

If your device has a camera, scan the QR code on the PDF to import your share directly.

1

Open the recovery tool

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.

Browser asking for camera permission
Your browser will ask for permission to use the camera
Scanning a QR code from a printed PDF
Point your camera at the QR code on the printed PDF to import the share
2

Load the encrypted manifest

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.

Selecting MANIFEST.age from a folder
Select the MANIFEST.age file from where you stored it
3

Collect shares from other friends

Contact other friends and ask for their pieces. They can send their README.txt, or you can scan their QR code.

4

Recovery happens automatically

Once the threshold is met, decryption starts immediately.

About recovery:
  • Works entirely offline*
  • Nothing leaves the browser
  • Friends can be anywhere β€” they just need to send their README.txt files

Best Practices

Choosing Friends

  • Longevity: People likely to be reachable in 5–10 years
  • Geographic spread: Not all in the same place
  • Technical ability: Any mix is fine β€” the tool is designed for everyone
  • Relationships: Will they cooperate with each other?
  • Trust: A single piece reveals nothing, but you're trusting them with responsibility

Security Considerations

  • Don't keep all bundles together β€” that defeats the point of splitting
  • Consider printing README.pdf β€” paper survives digital disasters
  • Save project.yml if you want to regenerate bundles later

Storing Bundles Safely

Bundles are small (under 10 MB) and designed to be stored in everyday places. Here's what works well:

  • Email is a surprisingly good option. Most people keep the same email address for decades, and bundles are small enough to attach. Many email providers retain messages indefinitely.
  • Cloud storage (Google Drive, Dropbox, iCloud) works well as a secondary copy.
  • USB drives can work, but keep in mind that connectors change over time (USB-A is already giving way to USB-C) and flash memory can degrade if left unpowered for years. Not ideal as the only copy.
  • Paper is the most durable option. Printing 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.

Keeping Bundles Current

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.

Revoking Access

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:

  1. Create new bundles with a new set of friends and a fresh key
  2. Send new bundles to the friends you still trust
  3. Ask every remaining friend to delete their old bundle and replace it with the new one
Important: Old pieces still work with old archives. When you send a new bundle, be clear: delete the old one, keep only the new one. No version history, no "just in case."

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.

About project.yml

When you create bundles, your project is saved in a project.yml file. This file stores:

  • Friends' names and contact information
  • Your chosen threshold (e.g., 3 of 5)
  • A verification hash for checking if bundles match
  • Share checksums for verifying bundle integrity

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.

Understanding the Security

ReMemory composes well-established cryptographic tools rather than inventing its own. Here's what that means in practice.

What Protects Your Data

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.

What Could Go Wrong

A friend loses their bundle Fine, as long as enough other friends still have theirs. That's why you set the threshold below the total.
A friend leaks their piece publicly A single piece is useless without the others. Someone would still need threshold-1 more pieces to do anything.
Some friends can't be reached That's why you set the threshold below the total number of friends. If you chose 3-of-5, any three will do.
ReMemory disappears in 10 years recover.html still works β€” it's self-contained. No servers, no downloads, no dependencies on this project.
Browsers change dramatically The recovery tool uses standard JavaScript and the Web Crypto API β€” browser fundamentals, not trends.
You forget how this works Each bundle's README.txt explains everything. Your friends don't need to remember anything β€” it's all written down for them.

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.

How It Compares

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:

  • Handles files, not just text. Most Shamir tools only split passwords or short text. ReMemory encrypts entire files and folders.
  • Self-contained recovery tool. Each friend receives recover.html β€” a complete recovery tool that runs in any browser, offline.* No installation, no CLI needed.
  • Contact details included. Each bundle includes a list of other friends and how to reach them, so coordination doesn't depend on you being available.
  • No server dependency. Everything runs locally. There's no service to sign up for, no account to maintain, nothing that needs to stay online.

For a detailed comparison with other tools, see the full comparison table on GitHub.

CLI Alternative

There is also a command-line tool for those who prefer a terminal or need to automate bundle creation.

Read the CLI Guide

The CLI provides the same functionality, plus batch operations and scripting.

Advanced: Anonymous Mode

When holders should not know each other's identities, use anonymous mode:

  • People are labeled as "Share 1", "Share 2", etc.
  • No contact information is collected or stored
  • READMEs skip the "Other Share Holders" section
  • Bundle filenames use numbers instead of names

When to Use Anonymous Mode

This is useful when:

  • Holders should not know each other
  • You're testing quickly without entering names
  • You have another way to coordinate recovery
  • Privacy is a higher priority than ease of coordination

How to Enable

In the bundle creator, enable the Anonymous toggle in the Friends section:

  • The friend list is replaced by a share count
  • Set how many shares and the threshold
  • Bundles are named bundle-share-1.zip, bundle-share-2.zip, etc.

Recovery in Anonymous Mode

Recovery works the same way, but without the contact list. Holders see generic labels like "Share 1" instead of names.

Important: Without a built-in contact list, make sure holders know how to reach each other when recovery is needed.

Advanced: Multilingual Bundles

Each person can receive their bundle in their preferred language. Seven languages are supported: English, Spanish, German, French, Slovenian, Portuguese and Chinese (Taiwan).

How It Works

  • Each friend entry has a Bundle language dropdown
  • "Default" uses the current UI language
  • Override per person to mix languages
  • recover.html opens in the selected language
  • Anyone can switch languages at any time
Friend entry showing the bundle language dropdown in the web UI
Each friend has a language dropdown to set their bundle language
recover.pdf opened in Spanish
The recovery tool opens in the friend's selected language
recover.pdf opened in Spanish
Word lists are translated too (both languages work)

Advanced: Time-Delayed Recovery

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.

How to Enable

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.

Time lock setup in Advanced mode
The time lock option appears in Advanced mode

Recovery

When someone opens a time-locked bundle before the date, the recovery tool shows a waiting notice. Once the time passes, recovery proceeds normally.

Recovery tool showing a time lock waiting notice
The recovery tool waits until the time lock expires

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.

Experimental. Time-delayed recovery depends on the League of Entropy, a distributed network operated by serious organizations around the world. If this network stops operating before a time lock expires, that archive becomes unrecoverable. Bundles without a time lock are not affected.

How It Works

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.

Self-Hosting

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.