Foundations

How the vault is encrypted

Envelope encryption, split keys, and the on-chain condition that governs when they can be put back together.

3 min readUpdated 16 Aug 2026
On this page

The vault has a harder problem than the wallet. A wallet key only ever needs to be used by one person. A vault key needs to become usable by a different person, later, under a condition neither of them can fake.

Envelope encryption

  1. 01

    A key per item

    Every item gets its own freshly generated 32-byte key, produced on your device. No key is reused across items.

  2. 02

    Encrypted with authenticated encryption

    XChaCha20-Poly1305, which both conceals the contents and detects tampering — a modified ciphertext fails loudly rather than decrypting to something else.

  3. 03

    Bound to its identity

    The plaintext envelope carries the owner, the item id and a version, and all three are re-checked on decrypt. A ciphertext moved between items or replayed from an older version fails.

  4. 04

    Only ciphertext is stored

    The encrypted payload goes to storage. The plaintext never leaves the device.

Splitting the key

The item key itself is then split using Shamir secret sharing into several shares, distributed to separate parties. A minimum number of shares — the threshold — is required to reconstruct it, and any smaller number reveals nothing at all about the key. Not a partial key, not a head start on brute force. Nothing.

Cipher
XChaCha20-Poly1305 (authenticated)
Key size
256-bit, random per item
Key splitting
Shamir secret sharing over the item key
Where the key is never stored

On-chain. Solana state is public — the chain holds the condition, never the secret.

The gate

Reassembly is conditional. Before shares are released to an heir, the on-chain inheritance account is read live and must show:

  • The claim status is finalized, and
  • The requester is the confirmed heir for that estate.

Read live, every time, with no cached verdict. That is what makes a cancelled claim close the vault instantly: an heir who was authorised a second ago is not authorised now, because there is no stored "authorised" to rely on.

The owner's own access follows the mirror rule — available while the estate is active, closed once it has finalized.

Files

The same design, applied to bytes. A file is encrypted on device with its own key before upload; the stored object is ciphertext. A checksum recorded at encryption time is verified on retrieval, so a corrupted or substituted object is detected rather than silently decrypted.

What the storage sees

Ciphertext, and the metadata needed to list it: item titles, categories, types, sizes and timestamps. Titles and categories are deliberately unencrypted so a list can be rendered — which is why naming discipline matters. See what your heir sees before release.

Being precise about the trust model

The wallet's inheritance is enforced entirely by a program on Solana. The vault's release cannot be, because a blockchain cannot hold a secret — anything on it is public.

So the vault distributes key shares across separate parties and gates their release on the chain. That is genuinely different from a service holding your data and promising to release it responsibly, and it is genuinely weaker than the purely on-chain guarantee the assets enjoy.

The current share distribution, and the work to widen it to more independent parties, is described honestly in known limitations. Read it before you decide how much to put in the vault.

Keep reading

Still stuck?

Tell us what you were doing and what you expected — never your recovery phrase, private key, or a vault passphrase. Nobody from Legacy Wallet will ever ask for those.

Opens a support ticket and emails you the link. We reply by email, usually within a couple of days.