OPSEC52 / Week 9 — Hardware wallet OPSEC
A hardware wallet does exactly one thing well: it keeps your private key off an internet-connected computer. It does nothing about the photo of your seed phrase in your camera roll, the “recovery” website that just harvested your 24 words, the pre-initialized device a marketplace seller shipped you, or the person holding a wrench who wants your PIN. The device is a keypad; the secret is the seed and the passphrase in your head. Protect those, or the tamper-proof titanium box is theatre.
Threat model: malware swapping the receive address on your computer before you send; a phished or cloud-synced seed phrase; a supply-chain device pre-seeded before it reached you; theft or seizure of the device plus a coerced or shoulder-surfed PIN; a coercion (“$5 wrench”) attack against someone known to hold crypto; and single-point-of-failure backups.
The device is not the secret — the seed is
Every mistake people make with hardware wallets comes from one confusion: they treat the box as the vault. It isn’t. The box is a signing terminal. The actual vault is the 12/24-word seed (and, if you set one, the passphrase). Anyone who reconstructs the seed reconstructs the wallet — no device required. So the entire discipline reduces to: the seed must exist in exactly two places — the device, and an offline physical backup — and nowhere else.
That means it never becomes a photo, never a cloud note, never a password-manager entry, never a text file, never typed into any website. The single most common drain vector in 2026 is not a broken chip — it’s a “wallet validation / sync your seed” phishing page, or a support impersonator, harvesting words the user typed voluntarily. No legitimate wallet ever asks for your seed after setup. If a screen asks, it’s an attack, full stop.
Supply chain: initialize it yourself, or don’t trust it
Buy direct from the manufacturer, not a marketplace reseller, not a “discounted” listing. A pre-initialized device — one that arrives already showing a seed or a “use this PIN” card — is a trap: the seller kept a copy. A real device generates the seed in front of you on first boot, with tamper-evident packaging. If it’s already set up, wipe it and re-initialize from scratch; if it won’t let you, return it. Verify firmware authenticity through the official app before you ever put funds on it.
The passphrase is your coercion defense
A standard PIN protects against a thief who grabs the device. It does not protect against someone who forces you to unlock it. That’s what the optional passphrase (the “25th word” / hidden wallet) is for: the same seed plus different passphrases opens different wallets. You keep a small, plausible balance on the no-passphrase wallet, and the real holdings behind a passphrase that lives only in your memory. Under coercion you can open the decoy — the adversary sees a modest balance and a device that “worked.” A duress PIN (wipe-on-entry, on wallets that support it) is the harder version of the same idea. This is the one feature that turns a hardware wallet from anti-theft into anti-coercion.
Verify the address on the device screen — always
Clipboard-swapping and address-replacing malware is cheap and common. Your computer shows the address you think you’re sending to; the malware quietly substitutes the attacker’s. The hardware wallet’s whole point is that you confirm the destination on the device’s own screen, which the malware can’t touch. Check the first and last several characters every single time. For Monero specifically, confirm the address on-device and remember that subaddresses are your friend — a fresh receive subaddress per counterparty avoids linking payments on-chain.
Backups: split, offline, survivable
A seed written on the card that came in the box, kept in the same drawer as the device, is not a backup — it’s a second copy of the same single point of failure. Better: a metal backup (stamped/etched steel survives fire and water where paper doesn’t), stored geographically separate from the device. For higher stakes, split it — a passphrase held separately from the seed words means a thief who finds the metal plate still can’t spend. Never photograph the plate “just in case.” The “just in case” photo is how most self-custodians actually get drained.
Common mistakes
- Typing the seed into a website, app, or support chat — always an attack.
- Buying pre-owned or marketplace devices and trusting the included setup.
- Keeping the seed backup in the same place as the device (or in cloud/photos).
- Skipping the passphrase, so there’s no coercion story and no hidden wallet.
- Approving sends without reading the address on the device screen.
- Treating a hardware wallet as private — it protects keys, not linkage; on transparent chains your on-chain graph is still exposed (this is where Monero’s default privacy does the work a hardware wallet can’t).
This week’s drills
- Confirm your seed exists in exactly two places: the device and one offline physical backup. Delete every digital trace (photos, notes, password-manager entries).
- Set a passphrase (hidden wallet). Move real funds behind it; leave a small plausible balance on the passphrase-free wallet.
- Do a recovery dry-run on a spare/wiped device (or the recovery-check feature) so you know the backup works before you need it.
- Move your metal/paper backup to a location physically separate from the device.
- Next send: read the full destination address off the device screen, not the computer.
See also
- OPSEC52 Week 8 — Full-disk encryption (protecting data at rest on the machine that talks to your wallet)
- OPSEC52 Week 7 — Password manager compartmentalization (where your seed must never live)
OPSEC52 is xmr.club’s weekly OPSEC series. Series index: /opsec.
Curated by Cyber Satoshi