|
1 | | -# ColdPhrase — Offline, Single-File Cold Storage for Crypto Seed Phrases |
| 1 | +<div align="center"> |
| 2 | + |
| 3 | +<img src="assets/hero.svg" alt="ColdPhrase — offline single-file seed-phrase vault" width="880"> |
| 4 | + |
| 5 | +# ColdPhrase |
| 6 | + |
| 7 | +**Offline, single-file cold storage for crypto seed phrases.** |
| 8 | +Argon2id + AES-256-GCM in one self-contained HTML file — with a duress decoy and an optional Snake-game disguise. |
| 9 | + |
| 10 | +<p> |
| 11 | + <img alt="license: MIT" src="https://img.shields.io/badge/license-MIT-black"> |
| 12 | + <img alt="runtime deps: 0" src="https://img.shields.io/badge/runtime%20deps-0-black"> |
| 13 | + <img alt="offline: 100%" src="https://img.shields.io/badge/offline-100%25-black"> |
| 14 | + <img alt="KDF: Argon2id 256MiB" src="https://img.shields.io/badge/KDF-Argon2id%20256MiB-black"> |
| 15 | + <img alt="cipher: AES-256-GCM" src="https://img.shields.io/badge/cipher-AES--256--GCM-black"> |
| 16 | + <a href="https://github.com/morpheusadam/coldphrase/stargazers"><img alt="GitHub stars" src="https://img.shields.io/github/stars/morpheusadam/coldphrase?style=social"></a> |
| 17 | +</p> |
| 18 | + |
| 19 | +</div> |
2 | 20 |
|
3 | 21 | > Encrypt a wallet recovery phrase into **one self-contained HTML file** that decrypts |
4 | 22 | > **fully offline** — no server, no install, no dependencies at runtime. Hardened with |
5 | 23 | > **Argon2id + AES-256-GCM**, a **duress decoy**, tamper detection, and a network-blocking CSP. |
6 | 24 |
|
7 | | - |
8 | | - |
9 | | - |
10 | | - |
11 | | - |
12 | | - |
13 | 25 | ColdPhrase turns a Trust Wallet / MetaMask–style **BIP39 seed phrase** (or any secret text) |
14 | 26 | into a portable `wallet-secret.html`. Double-click that file in any browser, type your |
15 | 27 | password, and the phrase appears — decrypted in memory only, on a machine that can be |
@@ -61,6 +73,31 @@ attacker who steals it into a memory-hard offline brute-force against a strong p |
61 | 73 | See **[docs/CRYPTOGRAPHY.md](docs/CRYPTOGRAPHY.md)** for the full scheme and |
62 | 74 | **[docs/BENCHMARKS.md](docs/BENCHMARKS.md)** for cracking-cost math. |
63 | 75 |
|
| 76 | +### How hard is it to break? |
| 77 | + |
| 78 | +The cipher is never the target — only your password is. Behind Argon2id's memory-hard wall, |
| 79 | +entropy is everything: |
| 80 | + |
| 81 | +<div align="center"><img src="assets/entropy-chart.svg" alt="Brute-force time by password entropy — from ~4 hours for a weak password to ~480 billion years for the generated one" width="880"></div> |
| 82 | + |
| 83 | +--- |
| 84 | + |
| 85 | +## Screenshots |
| 86 | + |
| 87 | +<table> |
| 88 | + <tr> |
| 89 | + <td width="50%"><b>Builder — encrypt a phrase</b><br><img src="assets/screenshots/builder.png" alt="ColdPhrase builder"></td> |
| 90 | + <td width="50%"><b>Snake-game cover</b><br><img src="assets/screenshots/snake.png" alt="Snake game cover"></td> |
| 91 | + </tr> |
| 92 | + <tr> |
| 93 | + <td width="50%"><b>Recover — unlock screen</b><br><img src="assets/screenshots/unlock.png" alt="Unlock screen"></td> |
| 94 | + <td width="50%"><b>Decrypted output</b><br><img src="assets/screenshots/output.png" alt="Decrypted phrase grid"></td> |
| 95 | + </tr> |
| 96 | +</table> |
| 97 | + |
| 98 | +The wallet file opens as the Snake game on the left; typing your secret word reveals the |
| 99 | +unlock screen. All screens are theme-aware (dark shown). |
| 100 | + |
64 | 101 | --- |
65 | 102 |
|
66 | 103 | ## Quick start |
@@ -162,6 +199,14 @@ BIP39 mnemonic encryption · Argon2id · AES-256-GCM · WebCrypto · Trust Walle |
162 | 199 | MetaMask recovery phrase · hardware-free cold wallet · plausible deniability · duress password · |
163 | 200 | self-custody · air-gapped encryption · single-file HTML encryptor · zero-dependency. |
164 | 201 |
|
| 202 | +## Star history |
| 203 | + |
| 204 | +If ColdPhrase is useful to you, a ⭐ helps other self-custodians find it. |
| 205 | + |
| 206 | +<a href="https://star-history.com/#morpheusadam/coldphrase&Date"> |
| 207 | + <img src="https://api.star-history.com/svg?repos=morpheusadam/coldphrase&type=Date" alt="ColdPhrase star history" width="600"> |
| 208 | +</a> |
| 209 | + |
165 | 210 | ## License |
166 | 211 |
|
167 | 212 | MIT — see [LICENSE](LICENSE). Bundled third-party components retain their own licenses. |
|
0 commit comments