Recognize BBQr Binary 7z blob as paper-backup #673
Conversation
Adds 24 lines (10 in decoders.py + 14 in ux_q1.py). No bootloader or crypto change; reuses existing PSRAM/SFFile USB-restore path. A full .7z backup is a master-seed artifact, so the restore target is chosen from device state (master when blank, temporary otherwise) via not pa.is_secret_blank() - same rule as restore_backup_dev() - rather than the menu-level tmp flag, which is always True on a running device and would dead-end at "Cannot use master seed as temporary". Pairs with a standalone offline CLI that produces printable BBQr sheets from .7z backups; the device only needs this import-side recognition.
|
Great minds think alike! Coinkite is exactly where you are in terms of backups and data survival.
|
|
Next release (or maybe the next after that) will have the new stuff, so I'm going to close the PR, but we can keep discussing here. |
|
Awesome, Nice to hear this is exactly what I am straggling to find, would be happy to review and test as soon as arca becomes available, I have strong expertise in Linux kernel block and fs (mostly EXT4) layers. so hope to be useful reviewer. One of questions I have related to CC-Q firmware branches , hardware is amazing for cold secure storage device. I want to add specific features which are relevant to secure storage, but not relevant to core bitcoin signer use-case. For example:
IMHO it is not a good idea to add such features to core bitcoin signer branch because it bloat code base and increase attack surface, Edge branch also not a good candicate. So I am wondering may be having a dedicated branch called secure storage for this. What do you think? |
Coldcard Q is a perfect airgap secret storage device, thanks to SeedVault, Secure notes/Passwords features.
It is much safer than standard phone password storage apps, which makes it perfect
for storing important but rarely accessed secrets like
The only disadvantage of airgap secret storage is that user themselfs is responsible for backup maintenance.
Standard practice of engraving master seed on a steel plate no longer works because CC state is more
complicate than just master seed, so full backup is required.
Currently the only native backup medium available for Coldcard is microSD cards.
Even high quality SLC card has lifeexpectancy up to 10years, which may be not enouth.
That is why I created bbqr-paperark, which allow to use paper as an archive medium.
Paper gives use at 30+ years of storage guarantee and allow to implement the 3-2-1 backup strategy with two medium types, SDCard + paper backup.
It is not a good idea to bloat Coldcard code base to support paper backup creation on device, but adding 7 lines of code to support backup recovery via QR code is great compromise for user experience.
Pairs with a standalone offline CLI that produces printable BBQr sheets from .7z backups; the device only needs this import-side recognition[1]
Example
Please find an example backup https://github.com/dmonakhov/bbqr-paperark/blob/main/example
backup.7z- a real Coldcard (Testnet) backupbackup.paperark.pdf- the printable BBQr sheet produced byencodebackup.paperark.bbqr.txt- the ground-truth sidecar (one BBQr part per line)Its 12-word backup password is:
References: