KS
← All projectsKeystone

Keystone 3 firmware

Open-source device firmware for Keystone 3 hardware wallets.

BitcoinHardware walletsNormal
Repository coverage

534 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.

109security candidates287second-pass queue263AI analyses
117commits · 30 days
157commits · 60 days
274commits · 180 days
533commits · 365 days
Backfill bands
Aug 5 → Feb 6260 seen14 candidatesComplete
Feb 6 → Jun 6117 seen7 candidatesComplete
Jun 6 → Jul 639 seen4 candidatesComplete
Jul 6 → Aug 5115 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.

42/100 average clarity
35Strong · 80–100
64Adequate · 60–79
203Thin · 40–59
232Opaque · 0–39
37security 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.
Adam Tucker931142163
aaron30410148
ww351268717551102026
soralit1153467048
willwang1523025
John Boyd623088
Qkin-Keystone26113036
qkin12110050
Greg Pfeil412071
Daira-Emma Hopwood211085
Soralit210058
bianminyan4503032
Analysis record

Published AI watches

Last scanned 17 minutes ago

Moderate 59 AI analysisMessage 28 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

replace lvgl rand

This commit swaps out the LVGL graphics library's pseudo-random number generator for the device's hardware true random number generator (TRNG) in two places: shuffling the on-screen numeric keypad and shuffling recovery-word lists. The old…

Replacement of non-cryptographic PRNG with hardware TRNG in security-sensitive shuffle routinesFisher-Yates shuffle of on-screen PIN keypad now uses TrngGetFisher-Yates shuffle of mnemonic word array now uses TrngGet
f7d64fb8by ww3512687+8−32 files
No security note in commit
Informational 19 AI analysisMessage 85 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(simulator): return password error on PIN mismatch in SimulatorLoadAccountSecret

This commit fixes a bug in the firmware's simulator (a software stand-in used for testing, not the real hardware wallet). When checking a stored account password/PIN, the simulator was accidentally returning 'success' even when the passwor…

Incorrect success return on authentication failure in simulator-only codeMismatch between simulator and real-device authentication error semanticsFunctional regression in multi-account PIN creation in simulator builds
6bec6930by soralit+4−11 file
No security note in commit
Low 49 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: address Solana review findings

This commit improves how Keystone 3's Solana app recognizes and displays certain transaction types. It adds support for the Solana Compute Budget program so those instructions are no longer labeled as 'Unknown,' and it adds parsing for Sol…

Previously unknown Compute Budget instructions are now parsed and labeled, reducing the chance a user approves a transaction they cannot understand.Off-chain signing messages are parsed with format and length validation, so wallet-connect-style sign-in messages are shown as text rather than misinterpreted as transactions.Unknown program accounts are surfaced explicitly in the UI instead of being hidden inside a generic 'Unknown' instruction list.
e1752174by soralit+343−5711 files
No security note in commit
Informational 12 AI analysisMessage 47 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: remove implementation plan

This commit only deletes a planning document from the repository's docs folder. No firmware code, build scripts, or cryptographic logic were changed. The deleted file described a previously completed security-hardening task about removing …

Deleted document references a prior security-hardening task (issue #2255 / PRNG fallback removal)No source-code or build-system changes in the diff
4620fe94by ww3512687+0−1041 file
No security note in commit
Moderate 64 AI analysisMessage 80 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: remove insecure PRNG fallback

This commit removes a weak, predictable random-number generator that was bundled as a backup inside the firmware's SLIP-39 code. Previously, if the device's proper hardware random source was accidentally left out of a build, the firmware c…

Removal of deterministic LCG PRNG (random32)Removal of weak-symbol random_buffer fallbackRemoval of unused random helper APIs
17c78e30by ww3512687+108−693 files
Vendor flagged security relevance
Informational 10 AI analysisMessage 40 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci

This commit is described as a routine CI (continuous integration) update with only one line changed in a release-related file. No code changes affecting wallet security, cryptography, or user funds are visible, and no security relevance is…

39cfff13by soralit+1−11 file
No security note in commit
Moderate 63 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: regular AI code review and fix

This is a large, routine code-quality and hardening patch for the Keystone 3 hardware wallet firmware. It tightens how transactions are parsed and displayed for several cryptocurrencies (Arweave, Avalanche, Bitcoin, Cosmos, Ethereum, Solan…

Arweave: duplicate required tags now rejected, malformed/trailing Avro data now rejectedArweave: DataItem tag count mismatch now rejectedAvalanche: trailing transaction bytes now rejected via parsed_size checks
e2c0ef31by soralit+3998−142676 files
No security note in commit
Informational 19 AI analysisMessage 85 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: guard Solana USB pubkey service for non-web3 builds

This commit fixes a firmware build problem, not a runtime security bug. The Solana USB public-key service was calling a function that only exists in the multi-coin 'web3' firmware variant, so the more limited 'cypherpunk' and 'bitcoin-only…

Build/link-time failure fix for conditional feature compilationExplicit error response added for unsupported coin type on non-web3 buildsNo input validation, memory safety, or cryptographic changes observed
9d04150dby John Boyd+10−01 file
No security note in commit
Low 33 AI analysisMessage 45 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

optimize sol derivation path allocation

This commit refactors how a Solana cryptocurrency derivation path is stored while parsing a USB request. Previously, the code dynamically allocated a small heap buffer inside a helper function and returned it to the caller, which then had …

Eliminates heap allocation for a fixed-size derivation-path bufferRemoves manual free responsibility from caller, reducing memory leak / use-after-free riskSwitches helper return type from pointer to bool to enforce explicit success/failure handling
9c3efd94by ww3512687+12−201 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: upgrade rust version

This commit upgrades the Rust compiler toolchain from one nightly version to a newer one and adjusts code to keep the project building and tests passing. It does not fix a known security bug or change how user funds are protected. Most of …

82a48133by soralit+511−1321 files
No security note in commit
Low 36 AI analysisMessage 28 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

support sol cli

This commit adds Solana CLI support to the Keystone 3 hardware wallet firmware. It introduces a new USB command that lets a connected computer request public keys for specific Solana derivation paths, and it reworks how USB responses are s…

New USB command exposes public-key export for a specific coin type and derivation pathAdded NULL/empty checks before returning generated UR data and before using cached passwordMoved several UR result sends from synchronous to asynchronous (task-queue based) dispatch
77833f49by ww3512687+282−2016 files
No security note in commit
Informational 17 AI analysisMessage 68 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Preserve Zcash account firmware version (#37)

This commit is a small, non-security code change. It updates a Zcash wallet test to verify that the firmware version string is preserved when account data is encoded and decoded, and it switches two Rust library dependencies from the publi…

Dependency source changed from crates.io to a third-party Git repository (valargroup/keystone-sdk-rust)No mention of vulnerability, CVE, security fix, or researcher attribution in commit message or diffChange is limited to a unit test assertion and dependency source pinning
20d7ea2dby Adam+11−73 files
No security note in commit
Low 28 AI analysisMessage 45 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Preserve PCZT v1 response encoding

This commit changes how the Keystone hardware wallet handles Zcash PCZT (partially-created transaction) files. Previously, after checking and signing a transaction, the device always returned the result in the newer v2 format. Now it remem…

Behavioral change in serialization format selectionNew parsing helper reads wire version from raw bytesTest coverage added for v1 preservation
acf3611aby Adam Tucker+136−245 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

refactor(zcash): use shielded pool display directly

This commit is a minor code cleanup in the Zcash shielded-transaction handling code. It removes temporary variables named `pool_label` and instead uses the existing `pool` value directly when building error messages. There is no change to …

9074e087by Adam Tucker+22−334 files
No security note in commit
Low 37 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(zcash): allow transparent-only V6 PCZTs

This commit changes how Keystone's Zcash transaction handling treats version 6 (V6) PCZTs. Previously, all V6 Zcash transactions were rejected in the non-cypherpunk (transparent-only) code path. The patch now allows V6 transactions as long…

Guard relaxation: V6 PCZTs no longer blanket-rejected in transparent-only buildsBoundary enforcement remains for shielded Sapling/Orchard/Ironwood contentUnknown transaction versions still rejected
ba4ecf28by Adam Tucker+127−954 files
No security note in commit
Informational 10 AI analysisMessage 40 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci

This commit is described as a routine CI (Continuous Integration) update with only one line changed in one file. No diff content is available, and there are no verified references suggesting any security relevance. It appears to be a munda…

7f2c4423by soralit+1−11 file
No security note in commit
Informational 14 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

refactor(zcash): simplify unsupported PCZT helpers

This is a simple code cleanup: three internal helper functions in the Zcash PCZT handling code are renamed to remove the word 'legacy' from their names. The actual behavior and security checks stay exactly the same. There is no functional …

0f0dc78aby Adam Tucker+6−63 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

refactor(zcash): display shielded pool names

This commit is a small code cleanup in the Zcash transaction handling code. It replaces a custom `label()` method on the `ShieldedPool` type with Rust's standard `Display` trait, so the pool name prints the same way in error messages. Ther…

83ac1e21by Adam Tucker+16−194 files
No security note in commit
Low 42 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(zcash): defer checked batch cleanup after signing

This patch changes when a Zcash batch signing screen frees a sensitive internal data structure. Instead of destroying the data immediately when the page is cleared, it now schedules the cleanup to run after the signing operation has finish…

Use-after-free / premature-free risk in cryptographic signing pathAsync deferred cleanup introduced to avoid race with FIFO signing taskInline comment explicitly describes security-relevant ordering constraint
3b8995faby Adam Tucker+32−11 file
No security note in commit
Moderate 59 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(zcash): size UFVK buffers for terminators

This commit fixes a buffer sizing bug in the Keystone hardware wallet's Zcash support. The code previously treated the maximum string length and the buffer size as the same number, leaving no guaranteed room for the null terminator at the …

Off-by-one buffer sizing for null terminator in Zcash UFVK handlingUse of string-length constant instead of buffer-size constant in strcpy_s and memset_s callsInconsistent buffer declarations across account manager and GUI code
5f158dd3by Adam Tucker+14−136 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 queuedadd 2.3.8 changelogby bianminyan · 9fedaaae · Feb 5, 2026 · 3 filesMessage 38 · OpaqueTriage 0Details
Commit message · bianminyan

add 2.3.8 changelog

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI review queuedfix nabox ui bugby ww3512687 · 78f1f09d · Feb 5, 2026 · 1 fileMessage 28 · OpaqueInformational 16Details
Commit message · ww3512687

fix nabox ui bug

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 16/100

This commit removes the Nabox wallet from an internal list of Ethereum-compatible (EVM) wallets in the Keystone 3 firmware's user interface. The title calls it a 'UI bug' fix. The change is one line: Nabox is no longer treated as an EVM wallet, which likely changes which blockchain options or connection flows are shown to users when they select Nabox. There is no direct evidence in the commit of a security vulnerability, exploit, or data leak.

AI review queuedfix ui bugsby ww3512687 · bd3ef28a · Feb 5, 2026 · 2 filesMessage 0 · OpaqueInformational 15Details
Commit message · ww3512687

fix ui bugs

0/100 · OpaqueMessage clarity
! Very short subject! 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 fixes a user-interface bug in the Keystone 3 firmware. It adds a missing entry for the 'Bull' wallet in the wallet tutorial list and corrects a typo in the icon array from 'walletXBull' to 'walletBull'. There is no security-relevant change visible in the diff.

AI review queuedsupport bull walletby ww3512687 · b5333cd0 · Feb 5, 2026 · 16 filesMessage 28 · OpaqueInformational 18Details
Commit message · ww3512687

support bull wallet

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 18/100

This commit adds support for a new software wallet called 'BULL' to the Keystone 3 hardware wallet firmware. It is a feature addition: new icon, new menu entries, new localized strings, and wiring the wallet into existing Bitcoin QR-code export flows. There is no indication of a security bug or vulnerability in the changes.

AI review queuedfix nabox wallet connect walletby ww3512687 · 0f4453ea · Feb 5, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · ww3512687

fix nabox wallet connect wallet

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 · Informational 15/100

This commit changes which cryptocurrency filters are shown for the Nabox wallet in the wallet connection screen. It expands the filter categories from just 'Other' to include Bitcoin, Ethereum, Solana, and Other. This is a UI/UX fix with no apparent security relevance.

AI review queuedfix: buildby soralit · b7dfc923 · Feb 3, 2026 · 1 fileMessage 2 · OpaqueInformational 11Details
Commit message · soralit

fix: build

2/100 · OpaqueMessage clarity
✓ Uses a recognizable type or scope! 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 11/100

This is a one-line build fix in a hardware wallet firmware file. It adds two extra arguments (NULL and 0) to a function call so it matches the current definition of get_keystone_connect_wallet_ur. There is no visible security change in behavior.

Lower-priorityFix bugs in Japanese languagesby ww3512687 · c24f405d · Feb 3, 2026 · 3 filesMessage 45 · ThinTriage 0Details
Commit message · ww3512687

Fix bugs in Japanese languages

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedtest: add unit tests for generate_crypto_multi_accounts functionby ww3512687 · 8803db52 · Feb 3, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · ww3512687

test: add unit tests for generate_crypto_multi_accounts function

72/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds new automated unit tests for an existing function called generate_crypto_multi_accounts. It does not change any production code, so it cannot introduce a security vulnerability or fix one. The tests check that the function accepts certain cryptocurrency key paths, rejects an unsupported path, and handles empty input.

AI review queuedfix: improve formatting for SOL_BIP44_PREFIX handling in generate_crypto_multi_accountsby ww3512687 · 16207624 · Feb 3, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · ww3512687

fix: improve formatting for SOL_BIP44_PREFIX handling in generate_crypto_multi_accounts

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 · Informational 15/100

This commit is purely a code-formatting cleanup. It rewrites a single match arm in a Rust function so the condition and function call are split across multiple lines, matching the style of the surrounding code. No logic, constants, or behavior changed.

AI review queuedfix: remove duplicate SOL_BIP44_PREFIX constantby ww3512687 · f07b5a80 · Feb 3, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · ww3512687

fix: remove duplicate SOL_BIP44_PREFIX constant

57/100 · ThinMessage clarity
✓ 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 · Informational 15/100

This commit removes an accidentally duplicated constant definition for Solana's BIP44 derivation path prefix. In Rust, defining the same constant twice in the same scope is a compile-time error, so the duplicate would have prevented the code from compiling. The fix simply deletes the extra line, restoring normal compilation. There is no runtime security risk.

AI review queuedfeat: update ada export to keystoneby soralit · 9940188d · Feb 2, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · soralit

feat: update ada export to keystone

57/100 · ThinMessage clarity
✓ 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 · Informational 15/100

This commit adds Cardano (ADA) support to the Keystone wallet connection/export feature. It simply includes an additional public key path and an icon in two UI lists. There is no security-relevant change visible in the diff.

AI review queuedfeat: add ADA to keystone nexusby soralit · ff5b52d6 · Feb 2, 2026 · 2 filesMessage 57 · ThinInformational 17Details
Commit message · soralit

feat: add ADA to keystone nexus

57/100 · ThinMessage clarity
✓ 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 · Informational 17/100

This commit adds support for the Cardano (ADA) cryptocurrency to the Keystone hardware wallet's 'Keystone Connect' feature. It introduces a new derivation path and a helper function to format ADA extended public keys for wallet connection. There is no indication in the commit of a security bug or fix; it appears to be a routine feature addition.

Lower-priorityFix bugs in Japanese and German languagesby ww3512687 · 85eb43b6 · Feb 2, 2026 · 3 filesMessage 45 · ThinTriage 0Details
Commit message · ww3512687

Fix bugs in Japanese and German languages

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI review queuedfix spanish bugby ww3512687 · 65119e48 · Feb 2, 2026 · 3 filesMessage 28 · OpaqueInformational 19Details
Commit message · ww3512687

fix spanish bug

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: opaque commit messagesecond-pass: security-sensitive path
AI analysis · Informational 19/100

This commit fixes Spanish-language display issues in the wallet's user interface. It updates several Spanish translations to be shorter or clearer, and slightly increases the height of two UI containers so the longer Spanish text fits without being cut off. There is no security vulnerability here—it's purely a localization and layout bug fix.

Security candidatefix: ci buildby soralit · 6e1e3119 · Jan 21, 2026 · 1 fileMessage 40 · ThinInformational 19Details
Commit message · soralit

fix: ci build

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 19/100

This commit is a build-system fix, not a security patch. It wraps a Zcash-related condition in a compile-time feature flag so that firmware builds that do not include the Web3 feature can compile. There is no direct evidence in the commit that this change fixes a vulnerability; it appears intended to restore continuous integration builds.

AI review queuedbtc only language completeby ww3512687 · ecff8ede · Jan 21, 2026 · 5 filesMessage 35 · OpaqueTriage 0Details
Commit message · ww3512687

btc only language complete

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI review queuedupdate the wallet list to support Naboxby ww3512687 · 50d0a669 · Jan 21, 2026 · 5 filesMessage 45 · ThinInformational 18Details
Commit message · ww3512687

update the wallet list to support Nabox

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 · Informational 18/100

This commit adds support for the Nabox wallet app in Keystone 3 firmware. It changes which cryptocurrency account data is shared with Nabox, switches the data format to a newer 'Keystone Connect' style, and exposes the device's serial number and firmware version during pairing. There is no direct evidence this is a security fix or vulnerability; it appears to be a routine wallet-integration update.

AI review queuedadd 2.3.6 changelogby bianminyan · aae1dd50 · Jan 21, 2026 · 3 filesMessage 38 · OpaqueTriage 0Details
Commit message · bianminyan

add 2.3.6 changelog

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI review queuedfix: ci buildby soralit · 7533e107 · Jan 21, 2026 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · soralit

fix: ci build

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This is a tiny code-movement patch that shifts a variable declaration earlier in a function so the code compiles under CI. It does not change what the program does, only where a local variable is declared. There is no security relevance visible in the commit.

AI review queuedstyle: run cargo fmtby soralit · ff1edce8 · Jan 21, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · soralit

style: run cargo fmt

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! 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 purely a code-formatting cleanup. It removes one debug-print logging statement and adjusts brace style to match Rust's standard formatter. There is no functional change, no bug fix, and no security-relevant behavior change.

AI review queuedfeat: hide zcash on slip39 wallet for keystoneby soralit · 2443c20a · Jan 21, 2026 · 5 filesMessage 57 · ThinInformational 19Details
Commit message · soralit

feat: hide zcash on slip39 wallet for keystone

57/100 · ThinMessage clarity
✓ 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 · Informational 19/100

This commit changes the Keystone hardware wallet firmware so that Zcash features are hidden or blocked when the wallet was created using a SLIP39 seed (a type of multi-share recovery phrase). The code now returns an 'unsupported' error for Zcash transaction checks on SLIP39 wallets and swaps in a wallet-list image that does not show Zcash. There is no evidence in the commit of a vulnerability being fixed; it reads as a product-level feature restriction.

Lower-prioritychore: bump versionby soralit · 5dfd85e4 · Jan 21, 2026 · 1 fileMessage 40 · ThinTriage 0Details
Commit message · soralit

chore: bump version

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Security candidatefix: keystone slip39 not support zcashby soralit · 2ff0478e · Jan 21, 2026 · 7 filesMessage 57 · ThinInformational 17Details
Commit message · soralit

fix: keystone slip39 not support zcash

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 17/100

This commit fixes a product limitation: Keystone 3 hardware wallets using a SLIP39-style recovery phrase could not connect to the Keystone mobile app for Zcash. The patch removes Zcash from the list of coins shared when a SLIP39 wallet is used, and it makes the underlying Rust code accept a missing Zcash seed fingerprint. There is no direct evidence this is a security vulnerability; it appears to be a compatibility/functional bug fix.

Lower-priorityfix: unit testsby soralit · e048d87e · Jan 21, 2026 · 1 fileMessage 50 · ThinTriage 0Details
Commit message · soralit

fix: unit tests

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
documentation-only discount
Security candidatefix: slip39 passphrase create failed issueby soralit · ee96e5a6 · Jan 21, 2026 · 1 fileMessage 57 · ThinLow 32Details
Commit message · soralit

fix: slip39 passphrase create failed issue

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
access controlcryptography-sensitive path
AI analysis · Low 32/100

This commit fixes a build-configuration bug that could prevent creating or saving public key information when using a SLIP39 passphrase. The old code accidentally skipped the normal key-derivation path for certain crypto types in non-Bitcoin-only builds, which could leave required public key data unset and cause account setup to fail. The patch restructures the conditional compilation so each build variant (Cypherpunk, Web3, Bitcoin-only) follows the correct derivation branch.