HSM policy

Last updated: 2026-07-07 · Source-backed CKBunker/COLDCARD documentation.

Direct answer: Design CKBunker COLDCARD HSM policies with spending limits, whitelists, users, local confirmation, logging, and boot-to-HSM.

The HSM policy is the rule set that makes CKBunker safe. The web app can ask for signatures; the COLDCARD decides whether a request matches the policy. Build the policy as if the attached computer might someday be compromised.

CKBunker spending rules
Spending rules are evaluated in order. Put narrow rules before broad fallback rules.

Rule controls

ControlPurpose
Max amountLimit the BTC amount a single transaction may spend.
Per-period amountRate-limit total spending over a velocity window. COLDCARD has no wall-clock time, so the period starts from policy use.
Destination whitelistAllow spending only to approved addresses, such as cold-storage or sweep destinations.
Multisig wallet nameScope a rule to a named multisig wallet, or to non-multisig only.
Authorizing usersRequire one or more named HSM users to approve an operation, including M-of-N patterns.
Local confirmationRequire a six-digit code entered by someone at the COLDCARD location. The code is tied to the PSBT.

Rule ordering

Multiple rules can exist. The device tests them in order and applies the first matching rule. Keep highly constrained rules first and avoid broad catch-all rules unless they are truly intended.

Important: A single empty rule can allow any transaction to be signed. No PSBT-signing rules means no PSBT will be signed.

Safe and unsafe examples

Users

HSM users are defined on the COLDCARD. Prefer TOTP secrets generated and shown by the COLDCARD itself. Avoid sending known passwords over the host when possible because that requires trusting the attached computer during setup.

CKBunker user management
Users can be required per rule, including M-of-N approval patterns.

Other policy settings

Compatibility note

The legacy CKBunker docs describe Mk3/Mk4 USB HSM workflows. Current COLDCARD HSM docs state that HSM mode is not provided on COLDCARD Q. Verify your exact model and firmware before designing a production policy.