oc · vault
bitcoin-bound · ciphertext-only · zero lock-in

the password manager
that can't read your data.

Every entry is encrypted in your browser under a key only your passphrase unlocks. We store ciphertext and nothing that opens it. Sign in with a Bitcoin wallet or an email code.

· bip-322 identity· aes-256-gcm in your browser· on-chain paid· no fiat
§ what you can store

eight entry types. every secret you actually have.

Each entry is encrypted on its own with AES-256-GCM under your vault key. Mix and match. There is no per-type quota.

passwords
every login. one vault.

Username, password, URL, notes. Generate a 24-character password in two clicks. Copy with one. No browser extension required — the dashboard is the autofill.

totp codes
live 2fa codes. authy without the cloud.

Paste a base32 secret or an `otpauth://` URI. The 6-digit code rotates every 30 seconds, visible in the list view at a glance. Survives phone loss; never sees a Google or Authy cloud.

api keys
github · openai · stripe · aws · coinbase.

Never paste your `OPENAI_API_KEY` into a browser tab again. Never email a Stripe live key to a coworker. Never type your AWS access key into a shell history. Pulls into your terminal via the CLI; never typed into the URL bar.

cards
card numbers, cvv, pin — masked until you need them.

Cardholder, number, expiry, CVV, PIN, billing ZIP. The list view shows only the last four digits; the rest stays sealed until you reveal it. Copy the number with one click and the clipboard self-wipes 30 seconds later.

identities
the form-filler details you retype on every signup.

Name, email, phone, company, address — the block of personal data every checkout and signup asks for. Kept in one encrypted entry instead of scattered across a dozen browser autofill profiles you do not control.

recovery codes
github · gmail · 1password kit · every wall-of-codes service makes you keep.

Every service emits a wall of 8-character recovery codes that are "important — save these somewhere safe." This is somewhere safe. Encrypted, and there in any browser you sign in from.

secure notes
will. wifi password. ssh key. license keys. medical records.

Anything you would type into a notes app, encrypted before it is saved.

small files
passport scan. tax forms. id documents.

Up to ~1 MB of binary payload per entry. The file becomes ciphertext on disk and stays ciphertext in transit.

what NOT to put in here

Bitcoin (or any cryptocurrency) seed phrases. The whole point of self-custody is that the seed never touches a connected device. Put your seed on metal — Coldcard tap-seed, Seedplate, Steelplate, Bitkey, Hodlr, Cobo Tablet, hand-stamped washers — and keep it in a safe. The vault supports a "seed phrase" entry type only for edge cases (BIP-39 passphrases that are NOT the full seed, non-Bitcoin recovery phrases, etc.). We will not market vault as "the place for your seed," and you should not treat it as one.

> If you came here to store a Bitcoin seed: please don't. Go here first. Software is the wrong layer.

> Every entry is sealed client-side with AES-256-GCM under a vault key your browser holds. OC sees ciphertext only. Lose the cloud → your local copy keeps working. Lose your passphrase → unlock with the recovery code from setup. Lose both → no recovery, by design; we hold only the sealed blob.

§ how it works

four steps. one passphrase.

You are the only one who can read what you store. OC keeps ciphertext and passes it between your devices.

  1. [01]

    connect

    Open vault.ochk.io and sign in to your OrangeCheck identity — a single BIP-322 signature from a Bitcoin wallet, or an email one-time code. No password to choose, no second account to create.

  2. [02]

    add a secret

    Password, 2FA code, API key, card, note, or small file. Your browser encrypts it before it is saved. Plaintext never leaves the tab.

  3. [03]

    sync or export

    Free: it stays in this browser, and you can back it up to a file any time. Paid: 7,000 sats per 30 days or 70,000 sats per year, on-chain, syncs it to every device you sign in on.

  4. [04]

    unlock anywhere

    Any browser, any device. Sign in, then enter your vault passphrase. Signing in fetches the sealed key; only your passphrase or recovery code opens it.

§ why it exists

the key never leaves your browser. we hold only ciphertext.

Every entry is encrypted in your browser under a key your passphrase unlocks. Our servers keep the ciphertext and nothing that opens it.

systemaccountmaster passwordrecoveryexport formatpayment
1Passwordrequiredyes (KDF-protected)recovery kit + secret keyproprietary 1puxcard · subscription
Bitwardenrequiredyes (KDF-protected)emergency contactjson (cleartext or encrypted)card · subscription
LastPassrequiredyes (KDF, weak by default)account-recovery flowcsv (cleartext)card · subscription
Apple iCloud Keychainapple id requireddevice passcodeapple-mediatednone (locked-in)bundled w/ icloud
self-hosted KeePassXCnoneyes (file passphrase)you keep the filekdbx (open)free · self-managed
oc vaultorangecheck sign-inpassphrase (generated by default)passphrase or recovery codeencrypted backup (open)sats · on-chain · no card on file

> All of vault.ochk.io’s data gets an attacker ciphertext and your key sealed under scrypt (N=217). A generated passphrase is six random words, about 50 bits, out of practical reach at that cost. A passphrase you choose is only as strong as you make it.

no backdoor

Your passphrase never reaches us and we cannot reset it. Your recovery code is the only other way in.

take it with you

An encrypted backup holds your key and every entry under a passphrase you choose. It opens anywhere with that passphrase and open code.

Read the underlying protocol design at oc-lock-protocol/WHY.md — the self-vault idea OC Vault is built around.

§ questions worth asking

the four objections we hear most. addressed up front.

do I need a bitcoin wallet to use this?
No. Sign in with an email code, or with Google or GitHub. A Bitcoin wallet (BIP-322) is the option that needs nobody else, and you can link one later without losing anything. Either way, your entries open with your vault passphrase, not your sign-in.
what if vault.ochk.io disappears tomorrow?
Keep an encrypted backup from settings: one file holding your vault key and every entry, sealed under a passphrase you choose. It restores on any device with open code (scrypt, AES-256-GCM), no server involved.
can OC read my entries?
No. We hold ciphertext only. The vault key is derived from your passphrase, in your browser; cloud-sync blobs are double-encrypted so we don't even see entry names or types — just random envelope ids and timestamps. Full database access recovers ciphertext that requires your passphrase to decrypt.
how is this different from just using LastPass or 1Password?
They encrypt under a master password too. A breach of the vendor's database — like LastPass in 2022 — exposed weak master passwords to offline guessing. OC Vault suggests a generated passphrase (six random words, about 50 bits) and stretches it with scrypt, so a stolen database is not a practical target. You can choose your own; it is then only as strong as you make it. You also pay in sats, with no card on file.

> More questions on /pricing — and the underlying protocol design is at oc-lock-protocol.

§ open by construction

open code underneath.

OC Vault is the commercial product. The cryptography under it is MIT-licensed, on npm, and works without us.

§ open your vault

bitcoin-bound.
ciphertext-only.
yours by construction.

Free in your browser. Cloud sync is 7,000 sats per 30 days or 70,000 sats per year, prepaid on-chain. No card, no auto-renew.

with thanks to bram kanstein — whose work on bitcoin as sovereignty layer shaped the premise.