Plain-language notes on how Coldvault protects your seed — and what the words on the screen actually mean. Nothing here is secret; it is the same design whether or not you are signed in. Tap any question to expand it.
Coldvault involves two different secrets, and almost every security question comes from confusing them.
Your seed — your recovery words — is your wallet’s real key. Whoever holds it controls the coins. Your wallet created it; Coldvault only stores an encrypted copy. It carries about 256 bits of entropy.
Your keyword is the password that encrypts that stored copy. Its only job is to stop someone who steals the encrypted database from reading your seed. It is not part of your wallet and never touches it.
Why this matters: the “you need at least 128 bits” rule you may have read is about the seed / key, not the keyword. Two different jobs, two different bars — see the next section.
“Bits” measure how many guesses an attacker needs — each extra bit doubles it. 84 bits is about 1.9 × 1025 guesses (19 septillion).
The 128-bit bar you have heard of is for raw cryptographic keys, which an attacker can test at full hardware speed — billions per second, no slowdown — plus a safety margin for future and quantum computers. Your keyword is not attacked that way.
Before a single keyword guess can even be checked, Coldvault runs it through PBKDF2 450,000 times (next section). That makes every guess about 450,000× slower. At 84 bits, a 100-GPU cracking farm would need hundreds of billions of years. There is no realistic attack.
| Generated keyword | Approx. entropy |
|---|---|
| 7 words + number + symbol | ~84 bits |
| 12 words | ~143 bits |
| 16 words | ~187 bits |
A BIP39 recovery phrase drawn from a fixed 2,048-word list. 24 words = 256 bits of entropy; 12 words = 128 bits, which is still far beyond brute force. Coldvault accepts every standard length — 12, 15, 18, 21 or 24 for BIP39, and 20 or 33 for the Shamir-style shares (SLIP-39) that some hardware wallets produce — so store whatever your wallet actually gave you rather than padding it. This is your wallet — anyone with the words (plus your passphrase, if you use one) can spend your coins.
Coldvault never generates your seed and never keeps it in the clear. You bring your existing phrase; it is encrypted on the server before it reaches the database, and it is wiped from the screen when you leave.
The weak-wallet stories you may have read (for example “Milk Sad”) were about wallets that generated seeds with too little randomness, making them crackable. Coldvault does not generate seeds, so that whole class of bug does not apply here.
AES-256 is the cipher that actually encrypts your seed — the same algorithm used to protect top-secret government data, with a 256-bit key.
GCM adds tamper-detection: it can tell if the stored ciphertext was altered, and a wrong keyword fails cleanly — you simply get “no vault matches,” never a partial or garbled leak. That leaves an attacker no “oracle” to probe.
Every vault gets its own random salt and nonce, so two vaults encrypted with the same keyword still look completely different on disk.
A KDF (key-derivation function) turns your human keyword into the 256-bit key that AES needs. PBKDF2 does it by hashing the keyword over and over — here, 450,000 times.
That repetition is the point: it makes every guess an attacker tries about 450,000× more expensive, while costing you only a fraction of a second once. This is exactly why an 84-bit keyword is safe — the KDF multiplies the attacker’s cost enormously.
The round count is stored per vault, so raising it later never breaks vaults you already saved — each keeps the number it was created with until you re-save it.
Coldvault deliberately keeps as little as possible:
• Your keyword is used once in memory to derive the key, then discarded — never stored, never logged.
• Only ciphertext reaches the database; your seed never appears in a database query or log.
• Keyword and seed are sent by POST, never in the URL, so they do not land in browser history or server access logs.
• Pages are served no-store, so the browser will not cache them, and fields are wiped when you leave or switch tabs.
PIN (optional) is just a convenient place to keep a device PIN alongside the phrase. Coldvault stores it as one more secret; it is not part of the encryption.
Passphrase (optional) is the BIP39 “25th word.” Combined with your recovery words it derives a completely separate, hidden wallet. It is a wallet feature, not a Coldvault feature.
So: if your wallet uses one, store the exact same passphrase here — character for character, or it opens a different (empty) wallet. Storing an existing wallet? Type the passphrase it already uses, or leave the field blank. Do not invent a new one here.
60-second reveal timer. Once a vault is decrypted on screen it hides itself after 60 seconds. Tap the clock to reset it and keep it open. Switching browser tabs or reloading the page also re-locks it at once — the decrypted words are never left sitting on a page you could reload into.
13-minute idle logout. If you do not interact for 13 minutes, a “Still there?” prompt appears with a 60-second countdown; ignore it and you are signed out. Any click or keypress before then quietly keeps your session alive.
Because the keyword is never stored, nobody — including us — can recover or reset it. Lose it and that vault’s contents are gone for good. That is the trade for zero-trace security: no backdoor, no “forgot password” email.
So save your keyword in a password manager the moment you create it. And remember it only protects the copy stored here — your real backup is still your seed phrase, kept safely offline.
If you saved your backup codes — the eight codes shown once when you signed up — you are fine. On the sign-in screen, type a backup code into the code box instead of the 6-digit number. Each code works once.
Once you are in, open Security and use Replace authenticator device to pair a new phone. You scan a fresh QR and confirm a code from it before anything changes, so you cannot lock yourself out. Then use New backup codes to replace the set you have been eating into. Both actions ask for a current code first, so someone who finds your screen unlocked cannot quietly take the account over.
Worth knowing: each 6-digit code can only be used once. So if you sign in with a code and then straight away enter that same code to authorise a Security action, it will be refused. Wait for your authenticator app to roll over to the next code — up to 30 seconds — and use that one. The same goes for backup codes: each is good for a single use.
If you have no backup codes left and no authenticator, there is no automatic reset — by design there is no email or SMS recovery to attack. Your vaults are still safe: they are encrypted with your keyword, which has nothing to do with the authenticator. But the account cannot be opened without help from whoever runs the server.
A vault can be opened by more than one person, and each of you uses your own keyword. You never learn theirs and they never learn yours — there is no shared password to pass around, and changing your own keyword does not disturb anybody else's.
Be clear about what you are giving away. Anyone you invite can open the vault immediately and sees the full seed phrase. This is for someone who should have access today — a spouse or an equal partner in the funds. It is not the way to leave something to an heir who should only get in later; that needs a different arrangement entirely.
They can read it, not rewrite it. Only the vault's owner can change what it contains, or invite and remove people. Everybody else can open it and read the seed, and that is all. A vault is a backup, so an accidental overwrite by somebody else would be the kind of damage you would not notice until the day you actually needed it.
Handing a vault over. If somebody else should be in charge of it — a partner taking over the finances, say — you can transfer ownership to anybody who already has access. They then decide who can open it, and they can remove you. You keep being able to read it with your own keyword. You cannot undo it yourself afterwards: only the new owner can hand it back.
You can take access away — but not what they have seen. Remove beside someone's name stops them opening the vault ever again, and it does so properly: the vault is re-encrypted under a brand new key, so even a saved copy of their old entry is useless. What it cannot do is un-see anything. If they ever opened the vault they already have your seed phrase, and no software can take that back — if that worries you, move the funds to a new wallet.
One consequence to know before you remove somebody. Replacing the key invalidates everybody's entry, and only yours can be rebuilt, because only you have typed a keyword. So if three of you share a vault and you remove one, the third person needs a fresh invite too. The app tells you exactly who will be affected before you confirm.
The invite code is a key, not a message. It opens the vault on its own for as long as it lives, which is 72 hours. So hand it over in person if you possibly can, and never send it by email or chat. It is shown to you exactly once, because it is not kept anywhere — if it goes astray, cancel it and make another.
Why a guest's keyword has to be strong. A shared vault is only as strong as its weakest keyword, since any one of them opens it. That is why a new keyword has to clear a minimum strength before it is accepted, however strong yours already is. Use the generator.