{{define "title"}}Vault — CONTRA{{end}} {{define "brand"}}CONTRA{{end}} {{define "head"}}{{end}} {{define "content"}}

Your vault

{{/* The counterfoil — the server's half of the ticket, and everything on it is something the server already holds: that you have a session, which vaults you can reach, and their opaque ids. It prints on the tint block because that is what a counterfoil is, and it ends at the perforation below. */}}
{{/* Signing in is not unlocking. The session proved who you are; the keys come from a wrap this server cannot open, so the page asks again and does the work in the browser. */}}

Signing in proved who you are. Opening the vault needs your passphrase again, because the key comes from something this server cannot read.

{{/* Shown only when there is more than one vault to choose between. The labels come out of the keysets, so this list is built from names the server has never seen. */}}
{{/* The tear-line, and the only one in the app. Everything above it is what this server holds and could hand to anyone who stole it: a public key, opaque ids, counts, the times of day you connected. Everything below it was opened in this browser and the server has never seen a byte of it in the clear. Every product in this category has this boundary. Most would find it awkward to draw honestly, which is the reason to draw it. */}}
held by this server ↑opened only here ↓
{{/* Sharing. Hidden until the vault is open, because everything in it needs the vault key: sharing seals the keyset to somebody, and removing somebody re-seals every item under a new one. */}} {{/* PROTOCOL.md: the reprint flow must be obvious rather than buried, and the nag to enrol a second device lives beside it. Both are the mitigation for the one loss mode the Account Key introduced. */}}

Your printed kit — reprint the Account Key card, or issue a new recovery sheet. This device — approve another browser, or give this one your Account Key.

{{end}}