CK
← All projectsCoinkite

COLDCARD firmware

Open-source firmware for COLDCARD Bitcoin signing devices.

BitcoinHardware walletsActive incident
Repository coverage

468 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

137security candidates209second-pass queue413AI analyses
55commits · 30 days
184commits · 60 days
253commits · 180 days
385commits · 365 days
Backfill bands
Aug 5 → Feb 6148 seen2 candidatesComplete
Feb 6 → Jun 684 seen8 candidatesComplete
Jun 6 → Jul 649 seen4 candidatesComplete
Jul 6 → Aug 525 seen4 candidatesComplete
Commit communication

Does the history explain itself?

Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.

36/100 average clarity
10Strong · 80–100
45Adequate · 60–79
195Thin · 40–59
218Opaque · 0–39
42security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
scgbckbone2551112271643
Peter D. Gray17020162818
Dmitry Monakhov212173
@Bibo-dochex923042
kdmukai111050
doc-hex111073
Piotr Duszynski111073
tadeubas606051
copilot-swe-agent[bot]504072
Danilo500079
hitechhayekian301081
Copilot300074
Analysis record

Published AI watches

Last scanned 41 minutes ago

Moderate 59 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Harden PSBTv2 parsing

This commit tightens how COLDCARD reads PSBTv2 (Partially Signed Bitcoin Transaction version 2) files. It now rejects several malformed or ambiguous encodings that could previously be accepted: extra key data attached to fields that should…

PSBT parser hardeningrejection of non-canonical compact-size encodingsenforcement of singleton key-data emptiness
5e0dbd0eby scgbckbone+90−113 files
Vendor flagged security relevance
Low 34 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

PSBTv2 per input required lock time calculation

This commit adds support in the COLDCARD firmware for a newer Bitcoin transaction format feature (PSBTv2) that lets each input specify its own required lock time. Before this change, the device did not correctly compute the final transacti…

PSBTv2 per-input locktime parsing and validation addedBIP-370 required locktime computation implementedIncompatible height/time locktime requirements rejected with assertion
2ea2e791by scgbckbone+191−336 files
No security note in commit
Low 46 AI analysisMessage 91 · Strong
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Add regression test for non-object JSON message-sign input

This commit only adds a new automated test to the COLDCARD firmware test suite. The test checks that when a user tries to sign a text file containing valid JSON that is not a JSON object (for example, a plain number, string, null, or list)…

Regression test for input validation of JSON message-signingTest comment explicitly references avoiding a device crash on malformed JSON inputTest requested during review of pull request #808, suggesting prior related code change
adb7baa8by copilot-swe-agent[bot]+32−01 file
No security note in commit
Moderate 56 AI analysisMessage 50 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

hygiene: duress wallet activate - wipe before getting slot data

This commit is a defensive hygiene fix in the COLDCARD hardware wallet's 'trick PIN' duress-wallet feature. It moves a memory-wipe routine so that it runs before the device looks up the duress wallet slot. The change reduces the window in …

secret-handling order-of-operations changeDelta Mode coercer/wipe scenarioduress wallet secret loading
aa645247by scgbckbone+3−31 file
Vendor flagged security relevance
Low 41 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

OVC clear stale outputs from new_outputs

This firmware update fixes a cleanup issue in the COLDCARD wallet's transaction signing code. Before finalizing a new Bitcoin transaction, the device now clears out leftover 'change output' records that may have been captured during a prev…

State not reset between signing attemptsStale change-output metadata reused in transaction finalizationOVC (Output Value Check) validation may be affected by leftover data
62163ccdby scgbckbone+3−01 file
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Drop ValueError message string to save flash space

This commit removes a human-readable error message from a ValueError exception to reduce the amount of flash storage used by the firmware. It is a minor code cleanup and does not change the security behavior of the code. The function still…

dc89513cby copilot-swe-agent[bot]+1−11 file
No security note in commit
Low 49 AI analysisMessage 60 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Add changelog entry for msgsign JSON crash fix

This commit only adds a changelog note saying a previous fix stopped the COLDCARD hardware wallet from crashing when a message-signing request was valid JSON but not a JSON object (for example, a number or string instead of a dictionary). …

Device crash on malformed message-signing inputInput vector includes NFC, QR, and SD card JSON filesValid JSON but wrong type (non-object) bypasses simple format checks
07afee0dby copilot-swe-agent[bot]+3−01 file
Vendor flagged security relevance
Informational 23 AI analysisMessage 65 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Fix uncaught AttributeError on non-object JSON in parse_msg_sign_request

This commit fixes a bug where the COLDCARD firmware's message-signing feature would crash with an uncaught error if a user supplied valid JSON that wasn't a structured object (for example, a plain number, string, list, or null). The fix ch…

uncaught exception in message parsing pathinput validation gap on JSON typepotential denial-of-service via malformed request
d55ddbceby copilot-swe-agent[bot]+3−01 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Signed for mk release.

This commit only updates the release signature file (signatures.txt) for the COLDCARD firmware. It adds two new file hashes for a v5.6.2-mk release and refreshes the PGP signature covering the file. There are no code changes, no bug fixes,…

e6d01c36by Peter D. Gray+10−81 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

Signed for q1 release.

This commit only updates a release signature file. It refreshes SHA-256 hashes for changelog files and adds hashes for two new firmware release files, then re-signs the file with a PGP signature. There are no code changes, no bug fixes, an…

a310e1ddby Peter D. Gray+16−141 file
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update block height

This commit simply updates a stored Bitcoin blockchain height number from 965,337 to 965,338. It is a routine, automatically generated data refresh with no code logic changes and no apparent security relevance.

3caf599eby Peter D. Gray+2−21 file
No security note in commit
Informational 15 AI analysisMessage 38 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

new policy w blank lines

This commit only edits the project's internal release notes file. It replaces a detailed list of upcoming changes with placeholder 'tbd' entries and adds a note asking contributors to leave blank lines between additions. There are no code …

3d8f90f1by Peter D. Gray+9−561 file
No security note in commit
Moderate 58 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update for new release

This commit is a release-notes-only update for the COLDCARD hardware wallet firmware. It moves many security-relevant bug fixes and hardening items from the current changelog into the historical release notes for versions 5.6.1 and 1.5.1Q,…

USB protocol encryption upgrade (ncry v3) with direction-separated keys and replay protectionPSBT tampering detection: re-verify staged bytes before signing after Virtual Disk overwriteFirmware update integrity: abort if staged image overwritten, reject images extending past world-checksum region
ea2b89bfby Peter D. Gray+272−1124 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 28 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

update block height

This commit simply updates a stored Bitcoin blockchain height number from 963,314 to 965,337, along with its timestamp. It is an automatic, routine data refresh with no code logic changes and no apparent security relevance.

15deb2f6by Peter D. Gray+2−21 file
No security note in commit
Moderate 59 AI analysisMessage 73 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: report staged firmware modification at upgrade approval

This commit fixes a bug in the COLDCARD firmware upgrade process. Previously, if someone tampered with the staged firmware after the user saw the approval prompt but before they confirmed, the device would crash with a bare internal error …

Tamper-detection failure path hardened: assert replaced with user-facing failure storyDefense-in-depth assertion added to PIN-changing flowTest coverage added for tamper-abort message
ef73cf58by scgbckbone+6−64 files
No security note in commit
Informational 2 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bump ckcc to latest master

This commit only updates a linked external code library (a Git submodule called ckcc-protocol) to a newer version. The actual code changes inside that library are not shown in the commit diff, and no security-related information was provid…

ec1c9417by scgbckbone+1−11 file
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

tweaks

This commit only edits the draft release changelog file. It rewords two upcoming feature descriptions and fixes line wrapping for another entry. No source code, firmware logic, or security behavior was changed.

e166ffddby Peter D. Gray+8−41 file
No security note in commit
Moderate 62 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: reject non-ASCII BIP-39 passphrases

This update fixes a bug where COLDCARD wallets would accept BIP-39 passphrases containing non-ASCII characters (like accented letters or emojis) or non-printable characters. Because different wallet software normalizes such characters diff…

Behavioral fix that prevents silent derivation of incompatible wallet seedsInput validation added for BIP-39 passphrase across USB, UI, saved-passphrase restore, and note/password lanesRejection of non-printable ASCII and non-ASCII Unicode characters
c1a67660by scgbckbone+155−147 files
Vendor flagged security relevance
High 74 AI analysisMessage 60 · Adequate
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: capture single-sig segwit change

This commit fixes two related security bugs in the COLDCARD hardware wallet's protection against a known 'BIP-143 amount swap' attack. First, the wallet was recording the claimed amount of a segwit input to its secure cache as soon as a tr…

Fixes deferred persistence of UTXO amount cache until after successful signingFixes missing capture of single-sig segwit change outputs (p2wpkh and p2sh-p2wpkh)Prevents cache poisoning by cancelled/malicious PSBT previews
8979a8a5by scgbckbone+322−806 files
Vendor flagged security relevance
Moderate 66 AI analysisMessage 45 · Thin
CK CoinkiteCOLDCARD firmware BitcoinHardware wallets

bugfix: Reject duplicate singleton PSBT keys

This update fixes a bug in how the COLDCARD wallet reads PSBT files (the standard format for passing Bitcoin transactions between devices). Previously, if a PSBT contained the same special 'singleton' key twice in the same section, the dev…

PSBT parser now rejects duplicate singleton keysNew test cases for duplicate keys in global/input/output mapsChangelog labels the change as a bugfix
cb6df8daby scgbckbone+30−13 files
No security note in commit
Repository ledger

Explore captured commits

Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.

AI review queuednitsby Peter D. Gray · 863e0d85 · Sep 19, 2025 · 1 fileMessage 0 · OpaqueLow 30Details
Commit message · Peter D. Gray

nits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Low 30/100

This tiny code change fixes a likely bug in the COLDCARD's NFC feature. Previously, after an NFC operation finished and the device wiped sensitive data, the code continued running in a loop instead of stopping. The added 'break' makes it exit the loop immediately after wiping. This could prevent repeated or unnecessary NFC transmissions of sensitive wallet data, reducing the chance of leaking secrets or leaving the device in an unexpected state.

AI review queuedownershipby Peter D. Gray · 2109ab4a · Sep 18, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

ownership

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a routine test update and build timestamp refresh. It adds a new test parameter to exercise wallet-name handling with both short and long names (including spaces), and bumps the firmware build date and version. There is no security-relevant code change.

AI review queuedbugby Peter D. Gray · e5dce710 · Sep 18, 2025 · 1 fileMessage 0 · OpaqueInformational 23Details
Commit message · Peter D. Gray

bug

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 23/100

This commit fixes a Python indentation bug in the COLDCARD firmware's export function. The exception handlers for missing microSD card and write failures were placed outside the code block that actually tries to write, meaning they would never catch those errors. The fix simply indents them so they sit inside the try block. Without the fix, if a write fails, the user may see an unhandled error instead of a friendly message, and the normal cleanup/return path after a write may not run as intended.

Security candidatetxout explorer do not yikes on big QRsby scgbckbone · 0237fd29 · Sep 18, 2025 · 8 filesMessage 45 · ThinLow 36Details
Commit message · scgbckbone

txout explorer do not yikes on big QRs

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathauthentication path
AI analysis · Low 36/100

This update fixes a user-interface crash in the COLDCARD hardware wallet when it tries to display very large QR codes. Before the change, certain long transaction outputs (for example, OP_RETURN data or unusual scripts) could make the on-device QR generator fail and throw an error, interrupting transaction review. The patch catches that failure, shows a 'QR too big' placeholder instead, and lets the user keep reviewing the transaction. It is a denial-of-service-style reliability fix rather than a theft-of-funds vulnerability.

Lower-prioritybugfix: ownership check needed re-run for values near maxby scgbckbone · e8ba25fd · Sep 18, 2025 · 11 filesMessage 50 · ThinLow 46Details
Commit message · scgbckbone

bugfix: ownership check needed re-run for values near max

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 46/100

This commit fixes a bug in the COLDCARD hardware wallet's address-ownership cache. When users tried to verify they owned an address with a very high index (near the cache limit of about 760), the first check could wrongly fail and only succeed on a second attempt. The patch also refactors how addresses are saved to the cache so exports starting in the middle of the range don't leave gaps, and it tightens BIP-21 URL parsing. The bug is a reliability issue rather than a direct theft path, but it could mislead a user into thinking a valid receive address is not theirs.

AI review queueddocs & nitsby scgbckbone · 3efeb4f1 · Sep 18, 2025 · 6 filesMessage 0 · OpaqueInformational 15Details
Commit message · scgbckbone

docs & nits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a minor cleanup and documentation update for the COLDCARD firmware. It adds a short document explaining a BIP-21 wallet parameter, replaces a hardcoded number with a named constant, tweaks on-screen text to fit smaller screens, and updates tests to match the new display strings. There is no security fix or vulnerability here.

AI review queuedownership: search particular named wallet via BIP-21 wallet query paramby scgbckbone · 8b3603b1 · Sep 18, 2025 · 7 filesMessage 50 · ThinInformational 20Details
Commit message · scgbckbone

ownership: search particular named wallet via BIP-21 wallet query param

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 20/100

This commit adds a new feature to Coldcard hardware wallets: when verifying ownership of a Bitcoin address, users can now include a wallet name in the BIP-21 URL (for example, bitcoin:address?wallet=my_wallet). This tells the Coldcard to search only that specific multisig wallet, rather than checking all wallets. It is a user-facing convenience feature, not a security fix, and does not appear to introduce any obvious vulnerability.

AI review queuededitby Peter D. Gray · 9e762d29 · Sep 18, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

edit

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a trivial one-word edit to a changelog file. It changes a parenthetical note about a feature requiring an updated companion tool. There is no code change and no security relevance.

Security candidaterestore backup via USBby scgbckbone · de043f22 · Sep 18, 2025 · 8 filesMessage 28 · OpaqueModerate 59Details
Commit message · scgbckbone

restore backup via USB

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Moderate 59/100

This commit adds a new USB command that lets a connected computer restore a COLDCARD wallet backup onto the device. The user must confirm on the device screen, and the backup file's checksum is verified. However, because restoring a backup replaces the wallet seed, the feature is security-sensitive. The commit also blocks this command in HSM (unattended signing) mode, which is a good protective measure. There is no direct evidence of a vulnerability in the patch, but the feature increases the attack surface available over USB.

AI review queuededitsby Peter D. Gray · 20ce5f2b · Sep 18, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

edits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is just a documentation polish and a build timestamp update. It rewords the upcoming release changelog and bumps an auto-generated date/version marker in a source file. There are no code behavior changes and no security fixes or new features implemented here.

Lower-priorityrename files on SD card via List Filesby scgbckbone · 3353f3d4 · Sep 18, 2025 · 3 filesMessage 45 · ThinInformational 22Details
Commit message · scgbckbone

rename files on SD card via List Files

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 22/100

This commit adds a small new feature to the COLDCARD hardware wallet: users can now rename files stored on the device's SD card through the on-device menu. The change is a user-experience enhancement, not a security fix. It includes basic input validation to block slashes and spaces in filenames, and adds automated tests for the new behavior.

Lower-prioritylower Mk4 default wrap-around from 16 to 10 (same as Q)by scgbckbone · 4d2349fe · Sep 18, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · scgbckbone

lower Mk4 default wrap-around from 16 to 10 (same as Q)

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit changes a user-interface preference on the COLDCARD Mk4 hardware wallet: how many menu items a list must have before the up/down keys wrap around from top to bottom. The threshold is lowered from 16 to 10, matching the Q model. It is a cosmetic/UX consistency change, not a security fix.

AI review queuedlittle bugby Peter D. Gray · 54dcf2dc · Sep 17, 2025 · 2 filesMessage 0 · OpaqueLow 38Details
Commit message · Peter D. Gray

little bug

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 38/100

This commit fixes a small parsing bug in how COLDCARD handles BIP-21 payment URLs (the 'bitcoin:...' links used to request payments). Previously, the code looked for a colon anywhere in the entire string to decide whether a URL protocol like 'bitcoin:' was present. Now it only checks the first 16 characters. The change also updates tests so they exercise both URLs with and without the 'bitcoin:' prefix, including one with a colon inside the label text. The bug could have caused a BIP-21 URL containing a colon later in the string—such as in a label like 'total due: 500'—to be split incorrectly, potentially misinterpreting the address or parameters.

Lower-prioritybugfix: premature wipe while exporting secret material via NFC - only first export loop (0th) was actually sending databy scgbckbone · bbac20b4 · Sep 17, 2025 · 2 filesMessage 50 · ThinModerate 57Details
Commit message · scgbckbone

bugfix: premature wipe while exporting secret material via NFC - only first export loop (0th) was actually sending data

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Moderate 57/100

This commit fixes a bug in the COLDCARD hardware wallet's NFC export feature. When exporting secret material (like a seed or private key) over NFC, the device was supposed to keep broadcasting the data in a loop until the user aborted or the recipient confirmed it was read. Due to a logic error, the device would wipe the temporary secret from its NFC chip after the very first loop, even though the user was still trying to export it. This meant subsequent NFC reads would fail or return nothing, making the export unreliable. The fix ensures the wipe only happens when the user actually aborts the operation.

Lower-prioritydecouple wiping NFC chip from `ux_animation` routineby scgbckbone · 3291faa3 · Sep 17, 2025 · 1 fileMessage 50 · ThinLow 41Details
Commit message · scgbckbone

decouple wiping NFC chip from `ux_animation` routine

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 41/100

This change moves the cleanup step that wipes sensitive data from the NFC chip so it happens when sharing is complete, rather than inside a lower-level animation routine. The old code only wiped the chip when the user aborted the NFC operation, which could mean secret data sat on the NFC chip longer than intended after a normal, successful share. The patch makes wiping happen reliably at the end of a successful share, but removes the wipe that used to occur on abort, so the security behavior depends on whether abort paths now clean up elsewhere.

Lower-prioritybugfix: selftest MicroSD testby scgbckbone · 98420f8a · Sep 17, 2025 · 2 filesMessage 45 · ThinInformational 18Details
Commit message · scgbckbone

bugfix: selftest MicroSD test

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 18/100

This commit fixes a small bug in the COLDCARD's built-in self-test for the MicroSD card slot. The test was accidentally using the wrong value returned by a helper function, which meant the self-test could fail or behave incorrectly even though the hardware was fine. It is a routine bugfix in factory diagnostics, not a security vulnerability that attackers can exploit.

AI review queuedversion bumpby Peter D. Gray · 5b26b306 · Sep 16, 2025 · 3 filesMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray

version bump

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a routine version bump and changelog tidy-up for the COLDCARD firmware. It changes two Makefile version numbers (5.4.3 → 5.4.4 for Mk4, 1.3.3Q → 1.3.4Q for Q1) and rewrites the draft release notes. No code, cryptographic, or security logic is modified.

AI review queuedimprovementsby Peter D. Gray · d9a601e8 · Sep 16, 2025 · 5 filesMessage 18 · OpaqueLow 49Details
Commit message · Peter D. Gray

improvements

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Low 49/100

This commit makes several small changes to the COLDCARD firmware. It removes a debug print statement that exposed internal warnings, blocks certain key-teleport QR codes when the device is in a restricted 'hobbled' mode, and removes a 'has_secrets' safety check from wallet export menu items in hobbled mode. The changes appear to be hardening and UI consistency fixes rather than a clear security patch, but one change weakens an access-control predicate while others strengthen restrictions.

AI review queuednotesby Peter D. Gray · bc49347a · Sep 16, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

notes

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit adds a new test file with only comments and TODO items. It contains no actual code changes, no bug fixes, and no security patches. It is purely a placeholder for future tests of a 'hobble' restricted-access mode.

Security candidatenitsby Peter D. Gray · 3f24307d · Sep 16, 2025 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

nits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Informational 15/100

This commit is a minor code cleanup ('nits'). It moves a helper function, adds a comment, and removes an unused local import. There is no change to user-facing behavior or security logic.

Security candidateforgotten pinby Peter D. Gray · 8d84979d · Sep 16, 2025 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · Peter D. Gray

forgotten pin

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
access controldocumentation-only discount
AI analysis · Informational 15/100

This commit only updates user documentation. It fixes a typo in a menu path and adds a new section explaining what to do if a user forgets their 'Bypass PIN' for the Spending Policy feature: perform a factory reset via 'Destroy Seed' and restore from backup. There is no code change and no security vulnerability is being fixed.

Security candidatenitsby Peter D. Gray · 1a1daf32 · Sep 16, 2025 · 3 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray

nits

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
authentication path
AI analysis · Informational 15/100

This commit contains only trivial non-code changes: a comment rewording, a stylistic Python list change with identical behavior, a typo fix in a user-facing message, and a hyphenation fix in a test file docstring. There is no security-relevant change.

Security candidatebug noteby Peter D. Gray · 6b1c38fe · Sep 16, 2025 · 1 fileMessage 0 · OpaqueLow 41Details
Commit message · Peter D. Gray

bug note

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
boot or update path
AI analysis · Low 41/100

A developer added a comment in the COLDCARD MK4 bootloader code flagging that a function reads a configuration byte from a secure chip but does not check whether the read operation failed. If the read fails, the function could return an uninitialized or garbage value. This is a code-quality and potential security issue, but the patch only adds a comment—it does not fix the bug.

Security candidatehobbled mode support for spending policyby Peter D. Gray · c3a454ab · Sep 16, 2025 · 13 filesMessage 45 · ThinLow 37Details
Commit message · Peter D. Gray

hobbled mode support for spending policy

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathauthentication path
AI analysis · Low 37/100

This commit adds a new 'hobbled mode' feature to the COLDCARD hardware wallet firmware. It lets a user set a 'Spending Policy' that restricts what the device can do even when the main PIN is entered. The policy can limit access to seed words, backups, secure notes, and certain signing operations. A special bypass PIN is required to disable or change the policy. The change is a feature addition, not a fix for a known vulnerability, and the commit message and code comments describe it as a user-controlled self-protection mechanism.

AI review queuedimprove --eff handlingby Peter D. Gray · ab1b6562 · Sep 16, 2025 · 1 fileMessage 28 · OpaqueInformational 18Details
Commit message · Peter D. Gray

improve --eff handling

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 18/100

This commit changes a developer-only simulator script so that when the '--eff' flag is used, settings are kept in memory during a single run instead of being completely disabled. Previously the flag made all settings loading and saving do nothing, which meant pre-login values were lost while the simulator was running. The change makes the simulator behave more realistically for testing. It does not affect real COLDCARD hardware or production firmware.