AssetDNA Vault · transparency

What we hold, what we never hold, and how you check.

A vault is only worth what a stranger can verify about it. This page states the estate as counts, states the design as a claim with the tests that enforce it, and points to the two pages that check an export without contacting us.

What we hold

Counts. No row leaves the database to make them.

Vaults
0
0 organisations and people holding one
Sealed items
0
live items; retired items are not counted
Ciphertext held
0 B
the padded size of every live item, summed
Anchors · 30 days
0
external timestamps on chain heads across the estate
Gifts waiting
0
sealed under a key we never held; carried until kept, withdrawn or expired
Gifts kept
0
opened on the recipient's device and re-sealed into a vault of their own
Email reminders
0
the one date per item an owner chose to disclose so we could email them on it
Beneficiaries named
0
people an owner named to receive something on an event; a fingerprint and a public key, no more
Release contracts live
0
waiting on a trigger, cooling off, or suspended for the owner's review
Releases delivered
0
keys served to the people the owner named, each one on both records
Guardian seats held
0
shares of an owner's key wrapped to another person and accepted; ciphertext on both sides
Vaults closed
0
closed by their owners; the rows are gone, each chain keeps the closing event
Plaintext bytes ever seen
0
not measured — see below

Figures computed 18 September 2026 at 06:34 UTC, refreshed at most every five minutes. Aggregates across every vault; no organisation, item or person is identified by them.

What we never hold

Zero plaintext bytes is a property of the design, computed as nothing.

The figure above is not a measurement that happens to be zero. There is no column to sum and no code path that could produce another number: every function that takes a key runs on your device, and the server imports only encoding and verification helpers. The server-sees table in docs/VAULT.md §4 is the contract; the tests are the proof.

  • src/lib/vault/core/core.test.ts
    NO PLAINTEXT

    serialises every upload object the ceremony produces and asserts no key, passphrase, Secret Key, kit word or item content appears in it

  • src/lib/vault/server.integration.test.ts
    (b) the database holds no plaintext

    walks the real API with a marker plaintext and asserts the database never contains it, nor a passphrase, Secret Key, vault key or private key

Plaintext
Every item is encrypted in your browser before it leaves the device. The server stores ciphertext framed to a size bucket, and learns the bucket, never the length.
Keys
The vault key is stored only wrapped to a person's identity; the item keys only wrapped under the vault key; the identity's private keys only sealed under a key derived from your passphrase. Nothing on the server opens anything on the server.
The recovery kit
Printed once, in your browser. The phrases that rebuild the vault key exist on paper and nowhere in our database.
Passphrases and Secret Keys
Neither is transmitted. The passphrase is typed into a page that derives keys locally; the Secret Key lives on the kit and, if you choose, on your device.
What we do hold in the clear, by the owner's choice

Two things, both typed by the owner for a reader they chose.

A published proof label
When an owner publishes a proof page for one item, they type a title and a name for it. That label is the one plaintext the row carries. Withdrawing the page removes it; the sealed record keeps only a hash of it.
A transfer note
When an owner sends an item to another vault, they may add a short note the recipient reads before accepting. The note is the sender's deliberate disclosure; the item itself travels sealed, its key wrapped to the recipient alone.

Beyond these: public keys and fingerprints, size buckets, commitments, who was granted what and when, recorded by user id rather than by email. The full table is the contract above.

How you check

Two pages, no account, no network.

/verify

Re-derives every hash of your export in the browser and checks the chain against its anchored head. Turn the network off first; the page works the same.

/vault/decrypt

Opens the same export with your passphrase and Secret Key, or two phrases from your kit, and decrypts every item on the device. It makes no request, and it says so.

This page describes a design and the tests that hold it. It does not describe an independent review, and none has been obtained. About the vault →