Glossary

Key terms used in Bitcoin Witness and in Bitcoin self-custody verification. BIP numbers link to the canonical specification.

Air-gapped
A device with no inbound or outbound network path: no WiFi, no Bluetooth, no Ethernet connected to an external network. Bitcoin Witness enforces this at four independent layers: a hardware overlay disabling the wireless chip, a kernel module blacklist, firmware deletion from /lib/firmware/, and active rfkill block all enforcement. Each layer is independently verifiable, and the station's air-gap check confirms the device's live network and radio state when the menu starts, on every return to the menu, and again before each workflow.
BIP32
Bitcoin Improvement Proposal 32. Defines hierarchical deterministic (HD) wallets: a single master seed can derive an arbitrarily deep tree of child keys, all deterministically reproducible from the original seed. Every derivation path used in Bitcoin (BIP44, BIP49, BIP84, BIP86) is a BIP32 path. Bitcoin Witness passes all five official BIP32 test vectors, including vectors 3–4, which test leading-zero retention in key derivation.
BIP39
Bitcoin Improvement Proposal 39. Defines how a random entropy value is encoded as a mnemonic phrase: 12, 15, 18, 21, or 24 words drawn from a standard 2,048-word English wordlist. The wordlist and checksum algorithm are well-specified. The phrase is the canonical backup of a wallet's master seed. Bitcoin Witness passes all 24 official Trezor BIP39 test vectors (12-, 18- and 24-word) and includes the BIP39 wordlist with a SHA-256 integrity check.
BIP84
Bitcoin Improvement Proposal 84. Defines the derivation path m/84'/0'/0' for native SegWit (P2WPKH) wallets. Receive addresses start with bc1q. This is the most common path for modern single-signature Bitcoin wallets and is the default derivation path in Sparrow, Electrum, and most hardware wallets manufactured after 2018.
BIP86
Bitcoin Improvement Proposal 86. Defines the derivation path m/86'/0'/0' for Taproot (P2TR) single-key wallets. Receive addresses start with bc1p. Supported by Coldcard, Sparrow, and Bitcoin Witness. Taproot transactions are cheaper on-chain in certain multisig configurations and provide improved privacy by making all script types look identical in the transaction graph.
Confidence Report
Bitcoin Witness's verification output artifact. After deriving your wallet's receive addresses, the station generates a timestamped document containing the addresses, derivation paths, master fingerprint, and a SHA-256 hash of the report itself. The report is optionally GPG-signable with the operator's own key, printable, and structured for storage with estate documents. It proves your wallet derives what it claims, without revealing your seed to any network-connected device.
Hardware wallet vs verification station
A hardware wallet (Coldcard, Trezor, Ledger, Foundation Passport) stores private keys in tamper-resistant hardware and signs transactions. It does not independently verify that the addresses it shows are correct. You are trusting its firmware. A verification station derives those same addresses independently, from the same seed, using separate hardware running separate code, confirming the math matches. Bitcoin Witness is a verification station that can also sign PSBTs. It does not store private keys between sessions.
LUKS
The standard Linux block-device encryption mechanism, defined in the LUKS2 specification. Bitcoin Witness uses LUKS2 with AES-XTS-plain64 to encrypt /home at rest (a loop-file container, not the whole card): the root and boot partitions stay in plaintext, which is why nothing secret is ever written outside /home. The volume is unlocked by passphrase at boot, via /etc/crypttab and systemd-ask-password. A forgotten passphrase means re-provisioning from the mnemonic backup. LUKS protects against device theft, not against passphrase loss.
Mnemonic / seed phrase
The 12, 15, 18, 21, or 24 words generated by the BIP39 standard that encode a wallet's master seed. Anyone holding these words controls the corresponding Bitcoin. Bitcoin Witness handles the mnemonic only in RAM on an air-gapped device. It is never written to any network-connected storage, never echoed to a log file, and shredded from memory on exit. The phrase is the canonical backup, and any software wallets are derived from it. The LUKS passphrase is separate: it is chosen at setup and is not recoverable from the mnemonic. Forgetting it means re-provisioning from the mnemonic backup.
PSBT
A standard format for passing an unsigned or partially-signed Bitcoin transaction between wallets and signing devices. A watch-only wallet constructs the PSBT. It is transferred to an air-gapped signer via USB, and the signer adds its signature and returns the completed PSBT for broadcast. Bitcoin Witness imports PSBTs via USB, signs them offline using Electrum or Sparrow, then independently verifies that every signature uses a deterministic nonce (RFC6979 for ECDSA, BIP340 for Taproot) before exporting. This nonce check is the defense against Dark Skippy-class covert-channel attacks.
Source-available
A license model where source code is publicly readable and auditable but redistribution or commercial use may require a separate license, distinct from OSI open source, which grants redistribution rights by definition. Bitcoin Witness scripts are source-available, auditable plaintext: every line of bash and Python is readable as written, with no compiled binaries, no minification, and no obfuscated payloads. The companion tool xpubverify is MIT-licensed and free to redistribute.
Witness signature
In Segregated Witness (SegWit, activated August 2017), the signature data authorizing a transaction is moved out of the transaction body into a separate witness field. This reduces the effective size of transactions, enabling the block capacity increase, and eliminates transaction malleability for SegWit inputs. The name "Bitcoin Witness" derives from this: the station verifies the witness data (the cryptographic proof of ownership) that underlies every SegWit transaction.
xpub / zpub
An extended public key encodes a BIP32 public key plus chain code, allowing any number of child public keys, and therefore receive addresses, to be derived without access to the private key. An xpub uses version bytes 0x0488B21E (BIP32 default). A zpub uses SLIP-132 version bytes 0x04B24746, signalling BIP84 native SegWit derivation. Multisig cosigner keys use the capitalised SLIP-132 variants, Ypub (P2WSH-in-P2SH) and Zpub (P2WSH), which Bitcoin Witness also derives. Export the xpub or zpub from your hardware wallet and import it into a watch-only wallet to monitor balances without exposing your seed.
xpubverify
Bitcoin Witness's free, MIT-licensed companion tool. A single Python script (no dependencies beyond the Python standard library) that derives Bitcoin addresses from an xpub or zpub and compares them to the addresses your hardware wallet displays on-screen. Run it on any machine with Python 3.8+. No seed required. The source is auditable in a single reading session. Bitcoin Witness bundles the same derivation logic on air-gapped hardware with a guided workflow, a Confidence Report, and PSBT signing.