Skip to content

feat(legacy): Digital Legacy Letter (encrypted 'in case I die' vault) - #116

Merged
slaveofcode merged 1 commit into
developfrom
feat/legacy-letter
Aug 2, 2026
Merged

feat(legacy): Digital Legacy Letter (encrypted 'in case I die' vault)#116
slaveofcode merged 1 commit into
developfrom
feat/legacy-letter

Conversation

@slaveofcode

Copy link
Copy Markdown
Owner

New client-side tool + Legacy category. Write an encrypted letter — final words + account passwords — that family opens only when the time comes.

Security (all in-browser)

  • Content encrypted under a random 256-bit DEK with AES-256-GCM.
  • DEK has two independent recovery paths: a PBKDF2 (250k) password wrap, and a Shamir Secret Sharing split over GF(256) into N shares needing any K (e.g. 3 of 5). No single relative can open it alone; survives lost shares.
  • The vault file never contains the shares; unrecoverable-by-design warning; tip to give one share to a lawyer/executor.

Why not auto-release on death

A purely client-side tool can't detect death without a server holding your data — so handoff is human-arranged via the password/shares (the honest, zero-infrastructure trigger). Documented in the FAQ.

Verify

  • npx vitest run → 624 passed (20 new: shamir 8 + vault 12, real WebCrypto round-trips) · lint 0 errors · build 183 pages (EN+ID tool, EN+ID category hub, OG image).
  • Bahasa content uses 'Surat Wasiat Digital' / 'tool' loanword (no 'alat').

A new client-side tool + 'Legacy' category. Write a private letter (final words +
account passwords) that family can open only when the time comes.

- Content encrypted with a random 256-bit DEK (AES-256-GCM). The DEK has two
  independent recovery paths: a PBKDF2-derived password wrap, and a Shamir Secret
  Sharing split over GF(256) into N family shares needing any K (e.g. 3 of 5).
- Pure, unit-tested libs: shamir.lib (8 tests), crypto.lib, vault.lib (12 tests) —
  round-trips both paths, rejects wrong password/insufficient shares, share
  checksum + tamper detection, file never contains the shares.
- Thin Create/Open island; 'unrecoverable by design' warning; executor-share tip.
- EN + Bahasa SEO content (ID: 'Surat Wasiat Digital', no 'alat'). Auto /id/ +
  category hub + OG image via existing pipeline. status: beta.

Note: true auto-release-on-death isn't possible purely client-side (needs a server
holding data); handoff is human-arranged via the password/shares by design.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubfx4XocHcECaL8twp9zsr
@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Aug 2, 2026

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Updated (UTC)
✅ Deployment successful!
View logs
goodwebtools dd24592 Aug 02 2026, 02:37 AM

@slaveofcode
slaveofcode merged commit d4dda95 into develop Aug 2, 2026
1 of 2 checks passed
@slaveofcode
slaveofcode deleted the feat/legacy-letter branch August 2, 2026 02:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant