A future-proof, human-recoverable, zero-infrastructure cryptographic inheritance protocol.
ReMemory encrypts your files, splits the decryption key among friends, and gives them a self-contained offline tool to reconstruct it together when needed.
Recovery works in any browser, fully offline, without ReMemory or the internet.
Each friend receives a bundle containing recover.htmlβa self-contained recovery tool that runs entirely in their browser. No servers. No dependencies. No need for this project to exist in 20 years.
Your friends can recover your secrets with nothing but a web browser and their bundles. That's it.
Download demo bundles to try the recovery tool yourself. See the User Guide for a complete tutorial.
graph TB
subgraph seal["β SEAL (you do this once)"]
A[Your Secrets] --> B[Encrypt with age]
B --> C[Split key into 5 shares]
C --> D1[Alice's personalized bundle]
C --> D2[Bob's personalized bundle]
C --> D3[Carol's personalized bundle]
C --> D4[David's personalized bundle]
C --> D5[Eve's personalized bundle]
end
subgraph recover["β‘ RECOVER (friends do this together)"]
R1[Alice opens recover.html] --> R2[Her share is pre-loaded!]
R2 --> R3[Adds Bob's share]
R3 --> R4[Adds Carol's share]
R4 --> R5{3 of 5 shares}
R5 -->|Threshold met| R6[Auto-decrypts!]
R6 --> R7[Download files]
end
D1 -.-> R1
D2 -.-> R3
D3 -.-> R4
The key insight: any 3 shares can reconstruct the key, but 2 shares reveal nothingβnot "very little," mathematically zero information.
See the User Guide for a complete tutorial.
rememory init my-recovery-2026
cd my-recovery-2026You'll be prompted to enter your friends' names and contact information:
How many friends will hold shares? [5]: 5
How many shares needed to recover? [3]: 3
Friend 1:
Name: Alice
Email: alice@example.com
Phone (optional): 555-1234
Friend 2:
Name: Bob
...
Place sensitive files in the manifest/ directory:
cp ~/Documents/recovery-codes.txt manifest/
cp ~/Documents/crypto-seeds.txt manifest/
echo "The safe combination is 12-34-56" > manifest/notes.txtrememory sealThis encrypts your manifest, creates shares, and generates distribution bundles:
Archiving manifest/ (3 files, 1.2 KB)...
Encrypting with age...
Splitting into 5 shares (threshold: 3)...
Verifying reconstruction... OK
Sealed:
β output/MANIFEST.age
β output/shares/SHARE-alice.txt
β output/shares/SHARE-bob.txt
β output/shares/SHARE-carol.txt
β output/shares/SHARE-david.txt
β output/shares/SHARE-eve.txt
Generating bundles for 5 friends...
Bundles ready to distribute:
β bundle-alice.zip (5.4 MB)
β bundle-bob.zip (5.4 MB)
β bundle-carol.zip (5.4 MB)
β bundle-david.zip (5.4 MB)
β bundle-eve.zip (5.4 MB)
Saved to: output/bundles
Send each friend their bundle. Each bundle contains:
| File | Purpose |
|---|---|
README.txt |
Instructions + their share + contact list |
README.pdf |
Same content, formatted for printing |
MANIFEST.age |
Your encrypted secrets |
recover.html |
Browser-based recovery tool (~5 MB, self-contained) |
A single share reveals absolutely nothing. But tell your friends to keep their bundle safe anywayβit's their responsibility to you.
Why ReMemory?
We all have digital secrets that matter: password manager recovery codes, cryptocurrency seeds, important documents, or 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 solves this with cryptographic guarantees:
- No single point of failure β Your secrets require multiple friends 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, servers, or ReMemory itself
- Designed for non-technical friends to succeed under stress β 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βhow a single moment can permanently change everythingβ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 also been reminded that our brains are more fragile than we like to think. What if the next accident is different?
ReMemory is my answer to these questions: a way to ensure the people I trust can access what matters, even if I can't help them.
What Friends Receive
Each friend's README.txt contains everything they need:
================================================================================
REMEMORY RECOVERY BUNDLE
For: Alice
================================================================================
!! YOU CANNOT USE THIS FILE ALONE
You will need help from other friends listed below.
!! CONFIDENTIAL - DO NOT SHARE THIS FILE
This document contains your secret share. Keep it safe.
NOTA PARA HISPANOHABLANTES:
Si no entiendes inglΓ©s, puedes usar ChatGPT u otra inteligencia artificial
para que te ayude a entender estas instrucciones y recuperar los datos.
--------------------------------------------------------------------------------
WHAT IS THIS?
--------------------------------------------------------------------------------
This bundle allows you to help recover encrypted secrets.
You are one of 5 trusted friends who hold pieces of the recovery key.
At least 3 of you must cooperate to decrypt the contents.
--------------------------------------------------------------------------------
OTHER SHARE HOLDERS (contact to coordinate recovery)
--------------------------------------------------------------------------------
Bob - bob@example.com - 555-2345
Carol - carol@example.com
David - david@example.com - 555-4567
Eve - eve@example.com
--------------------------------------------------------------------------------
HOW TO RECOVER (PRIMARY METHOD - Browser)
--------------------------------------------------------------------------------
1. Open recover.html in any modern browser
2. Drag and drop this README.txt file
3. Collect shares from other friends (they drag their README.txt too)
4. Once you have enough shares, the tool will decrypt automatically
5. Download the recovered files
Works completely offline - no internet required!
--------------------------------------------------------------------------------
YOUR SHARE
--------------------------------------------------------------------------------
-----BEGIN REMEMORY SHARE-----
Version: 1
Index: 1
Total: 5
Threshold: 3
Holder: Alice
...
-----END REMEMORY SHARE-----
Recovery Methods
- Any friend opens
recover.htmlfrom their bundle - Friends drag & drop their README.txt files
- Once threshold is met, decryption happens automatically
- Download the recovered files
No installation required. Works on any modern browser. Fully offline.
If the browser tool doesn't work for some reason:
# Download rememory from GitHub releases
rememory recover \
--shares alice-readme.txt,bob-readme.txt,carol-readme.txt \
--manifest MANIFEST.age \
--output recovered/See the User Guide for a complete tutorial.
You store things in a Project
my-recovery-2026/
βββ project.yml # Configuration (friends, threshold)
βββ manifest/ # Your secret files (ADD FILES HERE)
β βββ README.md
β βββ ... your files ...
βββ output/
βββ MANIFEST.age # Encrypted archive
βββ shares/ # Individual share files
β βββ SHARE-alice.txt
β βββ ...
βββ bundles/ # Distribution packages
βββ bundle-alice.zip
βββ ...
Threat Model
ReMemory assumes:
- Your friends will only cooperate after you're gone (or when needed)
- At least threshold friends will keep their bundle safe
- Your computer is trusted at the time you run
seal - The browser used for recovery is not compromised at recovery time
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 Audit for an overview on security.
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 |
A single share reveals absolutely nothing about your secret, even to a cryptography expert. This is a mathematical guarantee of Shamir's Secret Sharingβany fewer than threshold shares contains zero information about the original secret.
Failure Scenarios
| What if... | Result |
|---|---|
| A friend loses their bundle? | Fine, as long as threshold friends remain |
| A friend leaks their share publicly? | Harmless without threshold-1 other shares |
| ReMemory disappears in 10 years? | recover.html still worksβit's self-contained |
| Browsers change dramatically? | recover.html is plain HTML + WASM 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 |
Development
make build # Build binary
make test # Run unit tests
make test-e2e # Run browser tests (requires: npm install)
make build-all # Cross-compile for all platformsApache-2.0
Copyright 2026 JosΓ© Albornoz
ReMemory implements a protocol built on:
- age β Modern file encryption by Filippo Valsorda
- HashiCorp Vault's Shamir implementation β Battle-tested secret sharing
- Cobra β CLI framework
The protocol was originally designed in a Google Doc in 2023.