03Docs12 entries · 5 partsDocsThe protocol, written down. Each entry states what the rule is, why it is that way, and which file in the source repository it was transcribed from — so the documentation can always be checked against the thing it documents.Haven v3 · Application layer · L7Part IFoundations3I.01What Haven isAn application-layer protocol that keeps encrypted media on public infrastructure and derives the key to it from what a reader holds.I.02What Haven refuses to knowThe protocol's security posture is defined not by what it protects, but by what it is structurally unable to learn.I.03Four networks, one rule setHaven contributes no infrastructure. It defines how four public networks compose into a single coherent guarantee.Part IIThe Rule Set4II.01The access ruleA canister on the Internet Computer derives a decryption key if and only if a public EVM balance meets a stated threshold. Nothing else participates.II.02Key derivation and epochsThe VetKD preimage binds chain, token, threshold and epoch into a single derivation — one key per corpus per month, not one per file.II.03The entity shapeEvery surface reads and writes the same container — Ident32 keys, typed attributes, a payload, and a content type — enforced at the precompile, not by convention.II.04Attestation and holder identityA holder's identity is not a profile they create. It is the image the gating contract already publishes about itself.Part IIISurfaces3III.01arkiv-chain — the indexA Rust execution node running a modified reth, with entity state held in a precompile-addressed trie and queried via a custom JSON-RPC namespace.III.02haven-aol — keys and accessA Motoko canister on the Internet Computer that owns VetKD derivation, EIP-712 recovery, and the approval cache. It has no UI, no uploads, and no storage.III.03dapp, cli, mobile — the clientsThree independent clients obey the same rule set in three languages. They share no library, no backend, and no database — only the contracts defined by the access rule and the entity shape.Part IVContracts1IV.01Candid and typed dataThe only IPC between surfaces is Candid update/query calls and EIP-712 typed structs. There is no second channel.Part VOperations1V.01Verify it yourselfEvery claim the protocol makes is independently verifiable with a curl command and a public RPC. Here are the commands.