rememory is a free, open source data security & privacy project written in Go and released under Apache-2.0. It has 1,452 GitHub stars, 79 forks and 20 open issues, and was last pushed 14 days ago. On this registry it ranks #20 of 22 tracked projects in Data Security & Privacy, with 5 head-to-head comparisons available.

What is rememory?

ReMemory is an Apache-2.0 licensed encryption tool written in Go that seals your files with age encryption, splits the decryption key into separate pieces held by people you trust, and lets a threshold of those people unlock the archive together without any server being involved.

What it is

ReMemory is a file-encryption and key-management tool built on the age encryption format. You encrypt your files, then split the resulting key into a chosen number of pieces and distribute them to people you select. Each recipient receives a self-contained bundle containing a browser-based recovery tool called recover.html, which runs offline and requires neither a server nor the ReMemory project itself to exist at the moment of recovery. The split is mathematical rather than commercial: any threshold number of pieces can reconstruct the key, while a single piece reveals zero information.

The concrete problem it solves is the single-point-of-failure of ordinary secret storage. Password manager recovery codes, cryptocurrency seeds, important documents, and instructions for loved ones normally sit behind one key held by one person, which means one failure — death, incapacity, a lost device — can destroy access permanently. ReMemory replaces that single holder with a group you define, whether that is 2-of-2 for a couple, 2-of-3 for a small circle, or 3-of-5 for a wider group, and it belongs to the age-encryption, digital-estate-planning, and disaster-recovery space.

Key capabilities

  • Encrypts files with age encryption, producing a MANIFEST.age archive.
  • Splits the decryption key across a configurable number of recipients with a configurable unlock threshold.
  • Ships a self-contained recover.html recovery tool of roughly 300 KB that runs in any browser, works offline, and needs no server or project dependency.
  • Produces ZIP bundles containing README.txt with each person's unique piece and a contact list, plus a print-formatted README.pdf.
  • Embeds the encrypted archive directly inside recover.html for smaller archives; only archives over 10 MB ship MANIFEST.age separately.
  • Supports recovery by dragging README files onto the page, or by dragging an entire bundle.
  • Offers time-locked archives on an experimental basis, which require a brief internet connection at recovery time.

Who uses it and how

  • Couples and small circles configure 2-of-2 or 2-of-3 so that no single person can open the archive alone.
  • Wider groups such as families use 3-of-5, distributing bundles across people who may not know each other.
  • People doing digital-estate planning seal password manager recovery codes, cryptocurrency seeds, and instructions for loved ones.
  • Disaster-recovery planners rely on the offline-first design, where recipients recover files without network access or any running service.
  • Self-hosters and automation users run the Docker image on port 8080 with a rememory-data volume, or drive the CLI from scripts.

Getting started

Install with Homebrew via brew install eljojo/rememory/rememory, download the rememory-linux-amd64 binary, run nix run github:eljojo/rememory, or run the self-hosted image with docker run -d --name rememory -p 8080:8080 -v rememory-data:/data ghcr.io/eljojo/rememory:latest. Browser users can create bundles directly at eljojo.github.io/rememory/maker.html, where everything runs locally and files never leave the device.

How it compares

No list of paid products being replaced is provided for ReMemory, and no similar tools are named in the facts. On the evidence available, it stands alone in this registry, with its distinguishing property being that recovery depends on none of the project's own infrastructure.

When to use it — and when not to

Choose ReMemory when the threat you care about is loss of access and you are willing to operate something yourself: a self-hoster must run and maintain the Docker container and its rememory-data volume. Do not choose it if you want a hosted service with central account recovery, because bundle custody belongs entirely to your recipients and a lost bundle cannot be regenerated by anyone else. The time-locked feature is explicitly experimental and breaks the offline promise by requiring internet access at recovery time, so treat it as unproven compared with the standard path.

project readme (upstream, from github) — read inline

🧠 ReMemory

A digital safe with multiple keys, held by people you trust.

ReMemory protects your files and divides the key among people you choose. You decide how many must come together to open it. Each person gets a self-contained recovery tool that works offline, in any browser.*

* Time-locked archives need a brief internet connection at recovery time.

Recovery works without this project

Each person receives a bundle containing recover.html — a browser-based recovery tool. No servers. No dependencies. No need for this project to exist when recovery happens.

Download demo bundles to try the recovery process yourself.

graph TB
    subgraph seal["① SEAL (you do this once)"]
        A[Your Files] --> B[Encrypt with age]
        B --> C[Split key into 5 pieces]
        C --> D1[Alice's bundle]
        C --> D2[Bob's bundle]
        C --> D3[Camila's bundle]
        C --> D4[Dominique's bundle]
        C --> D5[Elias's bundle]
    end

    subgraph recover["② RECOVER (friends do this together)"]
        R1[Alice opens recover.html] --> R2[Her piece is pre-loaded]
        R2 --> R3[Drags Bob's file]
        R3 --> R4[Drags Camila's file]
        R4 --> R5{3 of 5 pieces}
        R5 -->|Threshold met| R6[Files unlocked]
        R6 --> R7[Download files]
    end

    D1 -.-> R1
    D2 -.-> R3
    D3 -.-> R4

Any 3 pieces can reconstruct the key, but a single piece reveals nothing — not "very little," mathematically zero information.

The number of people and the threshold are up to you: 2-of-3 for a small circle, 3-of-5 for a wider group, or 2-of-2 for a couple.


Two Ways to Use ReMemory

🌐 Web UI (recommended)

Create bundles in your browser — no installation required.

Everything runs locally. Your files never leave your device.

The bundle creator — add friends, add files, generate

💻 CLI and Docker

For automation, scripting, or if you prefer the terminal.

# macOS (Homebrew)
brew install eljojo/rememory/rememory

# Linux (x86_64)
curl -Lo rememory https://github.com/eljojo/rememory/releases/latest/download/rememory-linux-amd64
chmod +x rememory
sudo mv rememory /usr/local/bin/

# Docker (self-hosted)
docker run -d \
  --name rememory \
  -p 8080:8080 \
  -v rememory-data:/data \
  ghcr.io/eljojo/rememory:latest

# Nix
nix run github:eljojo/rememory

See the CLI User Guide or the Self-Hosted Guide for complete documentation.


Try It First

Before protecting real secrets, try the recovery process:

  1. Download demo bundles (5 friends, any 3 can recover)
  2. Open bundle-alice/recover.html in your browser
  3. Alice's piece is pre-loaded — drag two more README files onto the page. Dragging an entire bundle works too.
  4. When enough pieces are combined, the files unlock

This is the closest thing to what a real recovery feels like.


What Friends Receive

Each friend gets a ZIP bundle containing:

File Purpose
README.txt Instructions, their unique piece, contact list
README.pdf Same content, formatted for printing
MANIFEST.age Your encrypted files (only included separately when over 10 MB)
recover.html Recovery tool (~300 KB), runs in any browser. For smaller archives, everything is embedded — just open this file

A single piece reveals nothing. But tell your friends to keep their bundle somewhere safe — it's their responsibility to you.

Example README PDF — page 1

More pages

Example README PDF — page 2 Example README PDF — page 3


FAQ

Why ReMemory?

We all 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?

Traditional approaches fail:

  • Give one person everything → Single point of failure and trust
  • Split files manually → Confusing, error-prone, no encryption
  • Use a password manager's emergency access → Relies on 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 secrets alone
  • Offline and self-contained — recovery works without internet or servers*
  • Designed for non-technical people — clear instructions, not cryptographic puzzles
Why I Built This

Two things drove me to create ReMemory.

First, I watched a documentary about Clive Wearing, a man who has lived with a 7-second memory since 1985. Seeing how fragile memory can be made me think about what would happen to my digital life if something similar happened to me.

Second, I've had several concussions from cycling accidents. Each time, I've been lucky to recover fully. But each time, I've been reminded that our brains are more fragile than we like to think.

ReMemory is my answer: a way to ensure the people I trust can access what matters, even if I can't help them.

Threat Model

ReMemory assumes:

  • Your friends will only cooperate when needed
  • At least threshold friends will keep their bundle safe
  • Your device is trusted when you create bundles
  • The browser used for recovery is not compromised

ReMemory does NOT rely on:

  • Any server or cloud service
  • Any ReMemory website or infrastructure
  • Any long-term availability of this project
  • The internet during recovery

See the Security Review for details.

Cryptographic Guarantees
Component Algorithm
Encryption age (scrypt passphrase mode)
Key derivation scrypt (N=2²⁰, r=8, p=1)
Secret sharing Shamir's Secret Sharing over GF(2⁸)
Integrity SHA-256 checksums
Passphrase 256 bits from crypto/rand
Time lock (optional) drand tlock (BLS12-381 IBE, inner layer)

A single piece reveals nothing about your secret. This is a mathematical guarantee of Shamir's Secret Sharing — any fewer than threshold pieces contain zero information about the original secret.

Time-Delayed Recovery (Experimental)

You can set a waiting period when creating bundles. Even with enough pieces, the files stay locked until the date you chose — for example, 30 days, 6 months, or a specific date.

This uses the League of Entropy (drand), a distributed randomness beacon run by organizations around the world. At recovery time, a brief internet connection is needed — not to send data, but to verify that enough time has passed.

CLI: rememory seal --timelock 30d (or 6m, 1y, 2027-06-15T00:00:00Z) Web: Enable under "Advanced options" in the bundle creator.

Important caveats:

  • Recovery requires internet access (to check the drand beacon)
  • If the League of Entropy stops operating before your time lock expires, recovery won't work
  • Without the time lock, recovery works fully offline — the time lock adds this one dependency
Failure Scenarios
What if... Result
A friend loses their bundle? Fine, as long as threshold friends remain
A friend leaks their piece publicly? Harmless without threshold-1 other pieces
ReMemory disappears in 10 years? recover.html still works — it's self-contained
Browsers change dramatically? Pure JavaScript with no external dependencies
You forget how this works? Each bundle's README.txt explains everything
Some friends can't be reached? That's why you set threshold below total friends
Time lock used, but no internet at recovery? Wait and try again — data is safe, just needs the beacon check
League of Entropy shuts down? Time-locked archives become unrecoverable — only a risk if you use the time lock feature
Development

readme truncated — read the full docs on github

Frequently asked questions

Is rememory free to use?

rememory is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does rememory do?

a digital safe with multiple keys, held by people you trust

What is rememory written in?

rememory is primarily written in Go. Its source is publicly available at https://github.com/eljojo/rememory, and it has 1,452 GitHub stars.