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.
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
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
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
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
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 …
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
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…
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
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
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,…
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…
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.
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 …
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
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.
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
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…
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.
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
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
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
Expand any commit for its author, full message, clarity score, changed files, triage signals, analysis, and source link.
AI review queuedfix testsby Peter D. Gray · 6a347609 · Feb 24, 2026 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
fix tests
0/100 · OpaqueMessage clarity
✓ Mentions testing or verification! 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 only updates automated test scripts to navigate a new 'Buried Settings' submenu that was apparently added to the COLDCARD user interface. It does not change any firmware code, cryptography, or security behavior. There is no security issue here.
AI review queuedUpdatesby Peter D. Gray · d0576a20 · Feb 24, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Updates
0/100 · OpaqueMessage clarity
! Generic or placeholder subject! Too few words to establish purpose! No meaningful explanatory body
This commit only adds two lines to an upcoming-release changelog. It describes future user-interface enhancements: showing a BIP-39 passphrase on screen after it takes effect, and adding a new 'Buried Settings' submenu for rarely used settings. There is no code change, no bug fix, and no security patch in the diff itself.
AI review queuedburied settings menuby Peter D. Gray · dfd52e5c · Feb 24, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Peter D. Gray
buried settings menu
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit simply reorganizes two existing user-preference settings ('Home Menu XFP' and 'Menu Wrapping') from the main Settings menu into a new submenu called 'Buried Settings'. There is no change to how these settings work, no new functionality, and no security-related code change.
AI review queuedUpdatedby Peter D. Gray · 6fd47d4c · Feb 24, 2026 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
Updated
0/100 · OpaqueMessage clarity
! Generic or placeholder 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 only updates a text file documenting the device's on-screen menu structure and a small test script that prints that menu tree. It adds new menu entries (like 'Restore Seed XOR', 'Key Expression', 'Nuke Device'), reorganizes some settings under a 'Buried Settings' submenu, and updates shortcut labels. There are no firmware code changes, no cryptographic changes, and no changes to how the device protects secrets or handles transactions.
Security candidatetest we show BIP-39 passphraseby Peter D. Gray · 06879c59 · Feb 24, 2026 · 1 fileMessage 55 · ThinInformational 11Details
Commit message · Peter D. Gray
test we show BIP-39 passphrase
55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
access controlcryptography-sensitive path
AI analysis · Informational 11/100
This commit only adds a single line to a test file. It checks that when a user adds a BIP-39 passphrase to create a temporary seed, the COLDCARD device displays the passphrase back to the user on screen. This is a test-only change and does not modify the firmware itself. It is not a security fix or vulnerability.
Security candidateshow BIP-39 passphrase on-screenby Peter D. Gray · 21392bd3 · Feb 24, 2026 · 1 fileMessage 45 · ThinInformational 23Details
Commit message · Peter D. Gray
show BIP-39 passphrase on-screen
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
access controlseed or entropy path
AI analysis · Informational 23/100
This change makes the COLDCARD hardware wallet display the user's BIP-39 passphrase on the device's own screen after it is applied. This is a deliberate UX change, not a hidden bug. It could slightly increase the risk that someone physically near the device (or a camera) sees the passphrase, but it only appears after the user has already entered it and only on the local screen. The commit does not introduce a remote or software vulnerability.
AI review queuededitsby Peter D. Gray · e4d23269 · Feb 24, 2026 · 1 fileMessage 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
This commit only edits the wording of an upcoming-release changelog file. No code, firmware logic, or security behavior was changed. It is a documentation/markdown edit with no security relevance.
! 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 · Low 33/100
This commit adds a new user-facing 'Nuke Device' feature to the COLDCARD hardware wallet. It lets the owner deliberately wipe the seed and permanently brick the secure element, rendering the device unusable. The change also removes some unreachable cleanup code from the existing seed-clearing routine. There is no evidence in the commit of a hidden or malicious trigger; it appears to be an intentional, user-initiated self-destruct function.
Security candidateallow cancel from tx explorer goto indexby scgbckbone · 7ca3baae · Feb 17, 2026 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · scgbckbone
allow cancel from tx explorer goto index
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Informational 18/100
This small change lets users cancel out of a 'go to index' prompt in the COLDCARD's transaction explorer instead of being forced to enter a number. It is a minor user-experience fix with no direct security impact visible from the code change.
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 15/100
This commit adds a small user-interface convenience to the COLDCARD transaction explorer: users can now press the '2' key to jump directly to a specific input or output index, instead of paging through items one screen at a time. It also fixes a minor edge case where pressing the left/back key from the first page could produce a negative starting index. There is no security-relevant change here.
✓ Subject identifies a change! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
signing or wallet pathauthentication path
AI analysis · Informational 19/100
This commit adds a new on-device 'Transaction Input Explorer' feature for the COLDCARD hardware wallet. It lets users inspect the inputs (UTXOs) being spent before approving a transaction, alongside the existing output explorer. The change is primarily a user-interface enhancement and does not appear to fix a security vulnerability. It also includes related display improvements and test coverage.
Lower-priorityadd note to "Verify Backup" that proper verify is attainable via Restore Backupby scgbckbone · dbf9482f · Feb 11, 2026 · 1 fileMessage 60 · AdequateInformational 15Details
Commit message · scgbckbone
add note to "Verify Backup" that proper verify is attainable via Restore Backup
60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100
This commit only changes the user-facing message shown after a backup file CRC check. It adds a note explaining that the CRC check only catches accidental corruption, not deliberate tampering, and that a more thorough verification can be done by starting a restore and stopping after decryption. There is no code behavior change, no security fix, and no vulnerability introduced.
Lower-prioritybugfix: empty notes in hobbled modeby scgbckbone · ecd796b3 · Feb 10, 2026 · 4 filesMessage 45 · ThinInformational 21Details
Commit message · scgbckbone
bugfix: empty notes in hobbled mode
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 21/100
This commit fixes a minor bug where entering the Secure Notes menu on a COLDCARD device, while in a restricted 'hobbled' mode with no saved notes, caused a crash ('yikes') instead of showing a friendly 'none saved yet' message. It is a denial-of-service-style UI bug, not a security vulnerability that can be exploited by an attacker.
Lower-prioritybugfix: fwd slash in multisig name caused export to yikes. Replace fwd slash with dash in export filenamesby scgbckbone · b1fe2cca · Feb 10, 2026 · 3 filesMessage 50 · ThinLow 30Details
Commit message · scgbckbone
bugfix: fwd slash in multisig name caused export to yikes. Replace fwd slash with dash in export filenames
50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Low 30/100
This update fixes a bug where giving a multisig wallet a name containing a forward slash (like '2/3 me/her/it') would crash the COLDCARD device when exporting wallet files to a microSD card. The slash is now replaced with a dash in the exported filename, preventing the crash. It is a reliability fix rather than a security vulnerability that could be exploited remotely.
AI review queuednit: tx nVersion serialization is signed integerby scgbckbone · 5d9ab625 · Feb 10, 2026 · 1 fileMessage 45 · ThinLow 29Details
Commit message · scgbckbone
nit: tx nVersion serialization is signed integer
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 29/100
This commit fixes a small data-formatting inconsistency in how the COLDCARD firmware reads and writes the transaction version number inside PSBT v2 files. The code now treats the version as a signed 32-bit integer, matching the Bitcoin protocol, instead of an unsigned 32-bit integer. The practical security impact is likely low because the value is still 4 bytes on the wire and the same bits are produced for all common positive version values. It mainly matters if someone deliberately uses a negative version number, which is unusual and would previously have been misinterpreted as a very large positive number.
Lower-priorityadd missing QR tests for tmp secret importby scgbckbone · 7dbbf29b · Feb 6, 2026 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · scgbckbone
add missing QR tests for tmp secret import
55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100
This commit only adds and updates automated software tests for importing temporary secrets via QR code on the COLDCARD hardware wallet. It does not change any production firmware code, wallet behavior, or security controls. There is no vulnerability or security fix here.
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100
This commit only changes test code in the COLDCARD firmware repository. It expands automated tests for importing secret seed phrases and private keys to cover additional input methods such as QR codes and SeedQR. There are no changes to the actual firmware or wallet code that users rely on, so this commit does not introduce or fix a security vulnerability on its own.
Lower-priorityimprove UX responsivness for Key Expressionby scgbckbone · 88e4a5e8 · Feb 6, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · scgbckbone
improve UX responsivness for Key Expression
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100
This commit adds a simple 'Generating...' progress message on screen while the COLDCARD device prepares a key expression export file. There is no security-relevant change; it is purely a user experience improvement to reassure the user that the device is busy.
Lower-priorityallow resetting block_h in CCC menuby scgbckbone · 910c0961 · Feb 2, 2026 · 3 filesMessage 45 · ThinInformational 22Details
Commit message · scgbckbone
allow resetting block_h in CCC menu
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 22/100
This change adds a small user-interface convenience to the COLDCARD's 'Check Chain Check' (CCC) spending-policy feature. It lets a user reset the stored blockchain block height back to its default value from the 'Last Violation' debug screen. The change is described by the vendor as an 'Enhancement' in the changelog, not as a security fix. There is no indication in the commit that it corrects a vulnerability.
AI review queuedunified multisig importby scgbckbone · a3d5485f · Feb 2, 2026 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · scgbckbone
unified multisig import
28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100
This commit is a user-interface refactor for importing multisignature wallet setups on the COLDCARD. It replaces three separate menu items ('Import from File', 'Import from QR', 'Import via NFC') with a single 'Import' option that then asks the user to choose the source. The underlying import logic is essentially unchanged, and there is no indication this fixes a security bug or introduces a vulnerability.
Security candidateUSB send keystrokes for all BIP-85 secret typesby scgbckbone · 366670b4 · Jan 21, 2026 · 5 filesMessage 45 · ThinInformational 19Details
Commit message · scgbckbone
USB send keystrokes for all BIP-85 secret types
45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
AI analysis · Informational 19/100
This commit adds a new convenience feature: after deriving a secret using the BIP-85 standard, the COLDCARD can now type that secret out as USB keyboard keystrokes for all supported secret types (seed words, xprv, WIF, hex, password). Previously this USB typing was only available for password-type secrets. The change also cleans up how the on-screen prompt offers the '(6)' keystroke option. There is no direct evidence in the commit that this fixes a security bug; it appears to be a user-experience feature addition.
AI review queuedfix: remove unnecessary total_out counting in output_iterby scgbckbone · 0fffb07e · Jan 21, 2026 · 1 fileMessage 62 · AdequateLow 25Details
Commit message · scgbckbone
fix: remove unnecessary total_out counting in output_iter
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 25/100
This commit removes a local variable called total_out that was being incremented while iterating over transaction outputs in a PSBT (Partially Signed Bitcoin Transaction) parser. The variable was apparently unused and is described as 'unnecessary.' There is no direct evidence in the commit that this change fixes a security vulnerability; it appears to be a minor cleanup or optimization.
AI review queuednitby Peter D. Gray · 4e91d2ca · Jan 2, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · Peter D. Gray
nit
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 is a tiny code cleanup in the COLDCARD simulator's Unix launcher. It moves the '-e' flag so it always appears before the command to run, instead of being added separately in two branches. There is no security-relevant change.
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100
This is a small cleanup change to the COLDCARD simulator's command-line logging behavior. It makes the `--log` option place its log file in the same per-process directory used by the `--segregate` option, instead of always using a hard-coded `/tmp/cc-simulators/<pid>/` path. The README is updated to match. There is no security-relevant change here.
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100
This commit simply removes the project's Docker-based build instructions and Dockerfile. It also tweaks one git clone command in the README to use shallow submodules. There is no change to the actual COLDCARD firmware code, no bug fix, and no security patch.