KS
← All projectsKeystone

Keystone 3 firmware

Open-source device firmware for Keystone 3 hardware wallets.

BitcoinHardware walletsNormal
Repository coverage

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

119security candidates294second-pass queue551AI analyses
9commits · 30 days
37commits · 60 days
279commits · 180 days
504commits · 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
72Adequate · 60–79
211Thin · 40–59
235Opaque · 0–39
39security 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.
soralit11634116248
Adam Tucker931193263
aaron30430248
Soralit959154
ww351268717652176026
willwang15215025
John Boyd626088
github-actions[bot]323076
Aaron Chen222068
Qkin-Keystone26126036
qkin12112050
Greg Pfeil414071
Analysis record

Published AI watches

Last scanned 5 minutes ago

Low 42 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2293 from KeystoneHQ/merge/v3.1.0

This is a large firmware release merge (v3.1.0) for the Keystone 3 hardware wallet. The visible changes are mostly a major FreeRTOS kernel upgrade (from v10.x to v11.3.0), build-system improvements, and user-facing feature tweaks such as b…

FreeRTOS kernel major version upgrade (10.x -> 11.3.0) with MPU hardeningSwitch from ARM_CM4F non-MPU port to ARM_CM4_MPU portNew MPU configuration flags: configTOTAL_MPU_REGIONS=8, configENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY=1, configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS=0
0c0ae467by stone+59616−26981300 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 48 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci (#2292)

This commit only updates a Git submodule pointer in a release-tracking file. The actual code change is a one-line pointer update from one commit hash to another in a file named 'keystone3-firmware-release'. There is no visible security-rel…

90d1c789by Soralit+1−11 file
No security note in commit
Informational 15 AI analysisMessage 40 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

chore: update ci

This commit only updates a Git submodule pointer (keystone3-firmware-release) from one commit hash to another. No source code, build scripts, CI configuration, or security-related files are changed in the visible diff. There is no evidence…

a7f6db29by Soralit+1−11 file
No security note in commit
Moderate 58 AI analysisMessage 28 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

release 3.1.0

This is a large firmware release commit (version 3.1.0) for the Keystone 3 hardware wallet. The most significant change visible in the diff is a major upgrade of the FreeRTOS real-time operating system kernel from version 10.x to 11.3.0, c…

FreeRTOS major version upgrade (10.x → 11.3.0) with MPU port enabledNew MPU sandbox task/runtime/validator files addedconfigENFORCE_SYSTEM_CALLS_FROM_KERNEL_ONLY=1 and configALLOW_UNPRIVILEGED_CRITICAL_SECTIONS=0 set
2b007a29by Soralit+59615−26980300 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.8 (#2291)

This commit is a routine version-bump merge for release v3.0.8. It only updates changelogs, a Git submodule pointer, and a build version number. There is no code change visible in the diff and nothing that suggests a security fix or vulner…

b5e8f9fcby github-actions[bot]+18−24 files
No security note in commit
Low 47 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.6 (#2290)

This firmware update adds support for Solana's new V1 transaction format and changes how oversized or malformed transaction details are displayed. The code introduces a dedicated parser for V1 messages with strict size and structure checks…

New parser enforces hard limits on V1 message fields and rejects malformed 0x81-prefix payloads instead of falling back to message signingCompute-budget instructions in V1 are explicitly ignored to prevent fee-display spoofingUI pagination change for large transaction details reduces truncation risk
87b78ae1by github-actions[bot]+564−2812 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

pin to new release config (#2285)

This commit only updates a Git submodule pointer (keystone3-firmware-release) from one commit hash to another. There is no code change visible in the diff, no description of what the new release config contains, and no security-related inf…

bc01c889by Aaron Chen+1−11 file
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

update the release repo (#2282)

This commit simply updates a Git submodule pointer for the project's release repository. There is no visible code change, no description of any security issue, and no indication this is anything other than a routine release-tracking update.

3ac7e802by Aaron Chen+1−11 file
No security note in commit
Moderate 59 AI analysisMessage 76 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge release v3.0.4 (#2279)

This is a routine firmware release merge (v3.0.4) for the Keystone 3 hardware wallet. The bulk of the changes are UI tweaks, new feature support (Solana CLI, Lace Wallet), and hardening fixes found during an internal 'regular AI review'. T…

NUL-byte rejection in EIP-712 typed data parsingC-string conversion hardening against NUL bytesNull-pointer and UTF-8 validation added to UR parsing entry points
6ab436a2by github-actions[bot]+4960−548845 files
No security note in commit
Informational 13 AI analysisMessage 59 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Build fix (#2273)

This commit is a routine build-system and code-formatting fix. It resets cached CMake build options so each build starts from known defaults, makes cbindgen header-generation failures visible instead of silently ignored, runs Rust formatti…

8568a657by stone wang+8−145 files
No security note in commit
Low 44 AI analysisMessage 36 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

limit file count (#2272)

This commit adds a hard cap on how many files the device will list from its SD card when loading multi-signature Bitcoin wallet data. It also tightens up null-pointer and length checks while scanning directories. The likely goal is to prev…

Unbounded directory listing now bounded by FATFS_MAX_FILE_NUMBERNull-pointer guards added for fileName, number, and path parametersLength checks added before copying filenames into caller buffers
de6879c3by stone wang+31−146 files
No security note in commit
Low 46 AI analysisMessage 73 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2268 from KeystoneHQ/regular-review-fix

This commit tightens which old-style Bitcoin-like transactions the Keystone hardware wallet will accept. It now rejects raw protobuf Bitcoin (BTC) and Dogecoin (DOGE) legacy UTXO transactions, allowing only Bitcoin Cash (BCH), Dash (DASH),…

Deprecation of raw-protobuf Bitcoin transaction handlingRejection of unsupported legacy UTXO variants at multiple entry pointsShift from coin_code string matching to protobuf variant matching for legacy path eligibility
1c70d3d4by Soralit+134−166 files
No security note in commit
Moderate 61 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: mark legacy utxo transaction as deprecated and disable btc legacy transactions

This commit disables the older, raw-protobuf signing path for Bitcoin and Dogecoin transactions in the Keystone 3 hardware wallet firmware. It keeps the legacy path active only for Bitcoin Cash (BCH), Dash (DASH), and Litecoin (LTC). The c…

Disables a legacy transaction parsing/signing code path for Bitcoin and DogecoinAdds explicit rejection checks before raw transaction parsing, checking, signing, and view routingSwitches discriminator from coin_code string to protobuf transaction variant to prevent spoofing
1fcd2346by Soralit+134−166 files
No security note in commit
Moderate 63 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2264 from KeystoneHQ/regular-review-fix

This firmware update is a routine 'regular review fix' that hardens how the Keystone 3 hardware wallet checks and displays several cryptocurrency transactions before signing. The most important security changes are: (1) the sign button is …

Sign slider disabled until parse success prevents premature approvalArweave DataItem tag-count mismatch now rejected in pre-checkAvalanche transaction re-validated by type in pre-check, tampered asset ID rejected
87c7e7e2by Soralit+623−20423 files
No security note in commit
Moderate 67 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2263 from KeystoneHQ/driver-optimize

This commit updates the hardware random number generator (TRNG) driver in a cryptocurrency hardware wallet firmware. It adds detection for a physical fault/attack signal from the TRNG and, if triggered, wipes the random data and aborts via…

Added TRNG fault/attack status detection (TRNG_IT_RNG0_ATTACK)Zeroization of sensitive local buffer and output buffer on TRNG failureAssertion abort on detected TRNG attack condition
a409efe0by Soralit+29−51 file
No security note in commit
Moderate 59 AI analysisMessage 18 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

driver optimzie

This commit updates the hardware random number generator (TRNG) driver in a cryptocurrency hardware wallet firmware. It adds detection for a physical tamper/attack signal from the TRNG chip and, if an attack is detected, wipes the random d…

New check of TRNG_IT_RNG0_ATTACK tamper/attack interrupt statusFailure path now zeroes output and local buffer before abortingAddition of ASSERT guards and secure memset_s usage
25f3d951by ww3512687+29−51 file
No security note in commit
Moderate 61 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: regular ai review fix

This firmware update for the Keystone 3 hardware wallet fixes several security and safety issues found during an internal AI-assisted review. The most important changes are: (1) the signing slider is now disabled until a transaction is ful…

Signing slider disabled until parse success prevents approval of malformed transactionsArweave DataItem tag-count mismatch rejected in pre-check before confirmation pageAvalanche transaction re-validated by type during fingerprint check
edbeae79by soralit+623−20423 files
No security note in commit
High 76 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2262 from KeystoneHQ/regular-review-fix

This firmware update fixes several security and safety issues found during a regular AI-assisted code review. The most important changes are: (1) Zcash wallet data is now encrypted with a key derived from the wallet seed and a fresh random…

Zcash UFVK encryption key changed from sha256(password) to seed-derived BIP32 keyZcash UFVK IV changed from deterministic seed-derived value to fresh TRNG-generated IV per blobZcash UFVK storage format now uses magic-prefixed blob with embedded IV and rejects legacy blobs
04d942ffby Soralit+1852−52633 files
No security note in commit
High 80 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: regular AI review and fix

This firmware update fixes several security and safety issues found during an internal AI-assisted review. The most important changes are: (1) Zcash wallet data was being encrypted with a key derived from the user's login password and a fi…

Zcash UFVK encryption key changed from sha256(login password) to seed-derived BIP32 keyZcash UFVK IV changed from deterministic seed-derived value to fresh TRNG-generated IV per encryptionNew 'z2' UFVK blob format stores IV with ciphertext; legacy blobs rejected/migrated
776d8832by soralit+1852−52633 files
Vendor flagged security relevance
Moderate 59 AI analysisMessage 58 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Merge pull request #2260 from KeystoneHQ/replace-lvgl-rand

This commit replaces the on-screen keyboard shuffle and a word-list randomizer so they use the device's true random-number generator (TRNG) instead of LVGL's weaker pseudo-random function. The change is defensive: it removes a source of pr…

Replaced pseudo-random generator with hardware TRNG in security-sensitive shuffle operationsRemoved fixed-range modulo reduction bias source (`lv_rand(0, 2048) % n`)Changed include from LVGL UI library to device TRNG driver in utility code
230abd77by Soralit+8−32 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.

Lower-priorityfix(zcash): validate empty shielded bundle balancesby Adam Tucker · 5e05a21a · Jul 21, 2026 · 1 fileMessage 62 · AdequateModerate 59Details
Commit message · Adam Tucker

fix(zcash): validate empty shielded bundle balances

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
defensive validation
AI analysis · Moderate 59/100

This commit adds a validation check for Zcash PCZT (Partially Created Zcash Transaction) parsing in the Keystone hardware wallet firmware. It ensures that if an Orchard or Ironwood shielded bundle contains no actions, its declared value sum must be zero. Previously, a malformed or malicious transaction with an empty shielded bundle but a non-zero value sum might have been accepted, potentially allowing incorrect balance reporting or transaction signing.

Security candidatechore: update ciby soralit · 7f2c4423 · Jul 21, 2026 · 1 fileMessage 40 · ThinInformational 10Details
Commit message · soralit

chore: update ci

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

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 mundane build or release pipeline tweak.

Lower-priorityfix(zcash): require an owned singleton inputby Adam Tucker · 4277d422 · Jul 21, 2026 · 2 filesMessage 57 · ThinModerate 57Details
Commit message · Adam Tucker

fix(zcash): require an owned singleton input

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Moderate 57/100

This commit changes how the Keystone hardware wallet validates Zcash PCZT (partially-created transaction) files before signing. Previously, under a 'batch' policy it required at least one shielded input belonging to the wallet. After the change, the wallet also accepts a transaction as 'mine' if it contains an owned transparent input, even when there are no signable shielded actions. The title says the fix 'requires an owned singleton input.' The practical effect is to broaden the cases where the wallet will proceed with signing, while still rejecting transactions that have no inputs controlled by the wallet at all. The commit does not describe this as a security fix in its message, but the change is in a security-sensitive signing-check path.

AI review queuedrefactor(zcash): simplify unsupported PCZT helpersby Adam Tucker · 0f0dc78a · Jul 21, 2026 · 3 filesMessage 62 · AdequateInformational 14Details
Commit message · Adam Tucker

refactor(zcash): simplify unsupported PCZT helpers

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 14/100

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 change and no security fix or vulnerability introduced.

AI review queuedrefactor(zcash): display shielded pool namesby Adam Tucker · 83ac1e21 · Jul 21, 2026 · 4 filesMessage 57 · ThinInformational 15Details
Commit message · Adam Tucker

refactor(zcash): display shielded pool names

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 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. There is no security-relevant change: the strings shown to users remain identical ('Orchard' and 'Ironwood'), and no transaction validation logic is altered.

Security candidatefix(zcash): defer checked batch cleanup after signingby Adam Tucker · 3b8995fa · Jul 20, 2026 · 1 fileMessage 62 · AdequateLow 42Details
Commit message · Adam Tucker

fix(zcash): defer checked batch cleanup after signing

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 boundary
AI analysis · Low 42/100

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 finished. The comment in the code says this prevents the destructor from 'overtaking' the signing task, which suggests the old code could have freed memory while signing still needed it. That kind of use-after-free or premature-free bug can corrupt data or crash the device during a transaction, and in security-sensitive signing code it could theoretically affect signature correctness or leak secrets.

Lower-priorityfix(zcash): initialize batch parse fingerprintby Adam Tucker · 56df2725 · Jul 20, 2026 · 1 fileMessage 57 · ThinLow 35Details
Commit message · Adam Tucker

fix(zcash): initialize batch parse fingerprint

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Low 35/100

This commit fixes a small but meaningful bug in the Keystone hardware wallet's Zcash batch transaction screen. A 32-byte fingerprint buffer (`sfp`) was used without being initialized to zero. The code then fills it via `GetZcashSFP`, but if that function fails or does not fully write all 32 bytes, leftover memory contents could be used. In a security device, using uninitialized memory for a fingerprint/checksum can lead to incorrect verification results, unpredictable behavior, or in the worst case leak sensitive memory contents. The fix simply ensures the buffer starts as all zeros.

Lower-priorityfix(zcash): guard batch refresh display stateby Adam Tucker · c634f1ca · Jul 20, 2026 · 1 fileMessage 57 · ThinLow 33Details
Commit message · Adam Tucker

fix(zcash): guard batch refresh display state

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Low 33/100

This is a small, defensive fix in the Zcash batch transaction screen of a Keystone hardware wallet. It adds a check that a UI display object actually exists before continuing to refresh the screen. Without the guard, the refresh function could potentially use a null (uninitialized) object, which on embedded devices can lead to a crash or undefined behavior. There is no direct evidence in the commit that this is exploitable as a security vulnerability, but null-pointer issues in firmware UI paths can sometimes be triggered by malformed transaction data and affect device availability.

AI review queuedfix(zcash): size UFVK buffers for terminatorsby Adam Tucker · 5f158dd3 · Jul 20, 2026 · 6 filesMessage 57 · ThinModerate 59Details
Commit message · Adam Tucker

fix(zcash): size UFVK buffers for terminators

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 · Moderate 59/100

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 end of the string. In several places it also copied data using the maximum length rather than the actual buffer size. The patch adds a dedicated buffer size constant that includes space for the terminator and uses it consistently. If left unfixed, this could lead to truncated or missing terminator bytes, which in a security device can cause crashes, incorrect key handling, or in worst-case scenarios memory corruption that an attacker might exploit.

Lower-priorityfix the cn and ru words wrap and too long issueby aaron · 2dfd881d · Jul 20, 2026 · 1 fileMessage 45 · ThinInformational 20Details
Commit message · aaron

fix the cn and ru words wrap and too long issue

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

This commit fixes a UI text display problem where Chinese and Russian labels in the on-screen keyboard hint box could wrap awkwardly or become too long. It introduces a helper that only enables text wrapping/scrolling when the label is wider than 408 pixels. There is no direct security vulnerability in the diff; it is a cosmetic/layout fix.

AI review queuedadd 3.0.0 changelogby bianminyan · 15bf55fd · Jul 20, 2026 · 3 filesMessage 38 · OpaqueInformational 15Details
Commit message · bianminyan

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

This commit only adds a changelog entry and bumps the firmware version number from 2.5.0 to 3.0.0. It contains no actual code changes, bug fixes, or security patches. The changelog mentions vague 'security policy' and 'forgot passcode' improvements, but the commit itself does not implement them.

AI review queuedSet Zcash batch limit to 40by Adam Tucker · 7fd64609 · Jul 18, 2026 · 2 filesMessage 45 · ThinInformational 18Details
Commit message · Adam Tucker

Set Zcash batch limit to 40

45/100 · ThinMessage clarity
✓ 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 18/100

This commit simply raises the maximum number of Zcash transactions that can be processed in one batch from 35 to 40. It updates a constant, the matching documentation, and a unit test. There is no indication of a security vulnerability being fixed.

Security candidateRelease Zcash batch review widgets before signingby Adam Tucker · 2982da56 · Jul 18, 2026 · 1 fileMessage 45 · ThinLow 35Details
Commit message · Adam Tucker

Release Zcash batch review widgets before signing

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

This commit fixes a potential memory/resource issue in the Zcash batch signing flow on the Keystone 3 hardware wallet. Before opening the signature view, the code now explicitly frees (destroys) the on-screen review widgets. Without this cleanup, the device could run low on memory or leave stale UI objects around while trying to display the signing screen, which might cause a crash or unexpected behavior during a transaction.

AI review queuedRestore Zcash batch limit to 35by Adam Tucker · 480e0cd1 · Jul 18, 2026 · 2 filesMessage 45 · ThinLow 27Details
Commit message · Adam Tucker

Restore Zcash batch limit to 35

45/100 · ThinMessage clarity
✓ 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 · Low 27/100

This commit lowers the maximum number of Zcash transactions that can be processed in one batch from 40 to 35. It is a small, defensive adjustment to keep memory usage within safe limits on the hardware wallet. There is no direct evidence in the commit that this fixes an active security bug or vulnerability; it appears to be a precautionary resource-limit change.

AI review queuedSet Zcash batch limit to 40by Adam · 51cae26e · Jul 18, 2026 · 2 filesMessage 45 · ThinInformational 18Details
Commit message · Adam

Set Zcash batch limit to 40

45/100 · ThinMessage clarity
✓ 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 18/100

This commit simply raises the maximum number of Zcash transactions that can be processed in one batch from 35 to 40 on a specific firmware variant. It updates a constant, the matching documentation, and a unit test. There is no indication in the commit that this fixes a security vulnerability.

AI review queuedReduce Zcash batch limit to 35by Adam Tucker · 13662ea0 · Jul 18, 2026 · 2 filesMessage 45 · ThinLow 27Details
Commit message · Adam Tucker

Reduce Zcash batch limit to 35

45/100 · ThinMessage clarity
✓ 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 · Low 27/100

This commit lowers the maximum number of Zcash transactions that can be processed in one batch from 50 to 35. It appears to be a defensive hardening change to reduce memory pressure or processing load on the hardware wallet during batch signing, rather than a fix for a known exploitable bug. There is no direct evidence in the commit or supplied references that this resolves a specific security vulnerability.

Lower-priorityshorten the words on others language to fix the UI issueby aaron · 95cf02e6 · Jul 17, 2026 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · aaron

shorten the words on others language to fix the UI issue

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

This commit shortens translated on-screen text strings for several languages so they fit the device's user interface. It is a cosmetic localization fix with no security relevance.

AI review queuedfix the verifying ps hang on wrong password in btc only multi-sigby aaron · 2037a16a · Jul 17, 2026 · 2 filesMessage 50 · ThinLow 30Details
Commit message · aaron

fix the verifying ps hang on wrong password in btc only multi-sig

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing or wallet pathsecond-pass: broader security terminologysecond-pass: security-sensitive path
AI analysis · Low 30/100

This commit fixes a user-interface bug in the Bitcoin-only multi-sig wallet screens of the Keystone 3 hardware wallet firmware. If a user entered the wrong device-unlock password while the lock screen was shown over these multi-sig views, the lock screen would get stuck showing 'Verifying' instead of returning to the password entry and showing the failed-attempt count. The fix makes the wrong-password result update the lock screen, matching the correct-password path. It is a denial-of-usability issue, not a theft-of-funds vulnerability.

Lower-priorityapply the fix for the model overlap issue on proverownership pageby aaron · 029efbdd · Jul 17, 2026 · 1 fileMessage 50 · ThinModerate 59Details
Commit message · aaron

apply the fix for the model overlap issue on proverownership page

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

This commit fixes a UI bug in the Keystone 3 hardware wallet where a password-entry modal did not fully cover the screen and did not block touch input on empty areas. Because taps could pass through to buttons on the page underneath, a user might accidentally confirm or trigger an action while entering a password. The patch makes the modal cover its parent completely and marks it as clickable so it absorbs touches.

AI review queuedupdate the font charactarby aaron · 1efd952c · Jul 17, 2026 · 9 filesMessage 35 · OpaqueInformational 15Details
Commit message · aaron

update the font charactar

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a routine font update for the Keystone 3 hardware wallet firmware. It adds, removes, and reorders Chinese, Japanese, and Korean font glyphs (for example adding characters meaning 'weak' and 'rights') and updates the corresponding translation data file. There is no code logic change and no security-relevant behavior.

AI review queuedupdate the mutiple language fontby aaron · 003beb9c · Jul 17, 2026 · 24 filesMessage 45 · ThinInformational 15Details
Commit message · aaron

update the mutiple language font

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
second-pass: unusually broad change
AI analysis · Informational 15/100

This commit is a routine update of the on-device font files for multiple languages (Chinese, German, Spanish, Japanese, Korean, Russian). It adds a few new characters, tweaks some glyph bitmaps, and adjusts the generated font metadata to match newer LVGL version conventions. There is nothing in the changes that affects security, cryptography, wallet logic, or user data handling.

Security candidatefix the issue of uvfk not changed if changed passwordby aaron · 6d8e2d9d · Jul 16, 2026 · 4 filesMessage 50 · ThinModerate 64Details
Commit message · aaron

fix the issue of uvfk not changed if changed password

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Moderate 64/100

This commit fixes a bug in the Keystone 3 hardware wallet's Zcash support: when a user changed their login password, the encrypted Zcash 'unified full viewing key' (UFVK) was not re-encrypted with the new password. That meant the stored UFVK could only be decrypted with the old password, which could lock the user out of Zcash functions or, in some edge cases, leave sensitive key material protected by a stale credential. The patch adds a routine to re-derive and re-encrypt the UFVK whenever the password changes, and also repairs stale ciphertext automatically at the next login.

AI review queuedfeat: modify Lace Walletby soralit · 468209b6 · Jul 16, 2026 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · soralit

feat: modify Lace Wallet

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 commit is a routine user-interface update for the Lace wallet integration. It moves the Lace wallet icon into the 'Bitcoin Wallets' submenu, removes a separate Lace entry that previously showed both Bitcoin and Cardano support, and now lists Lace only under Cardano. There is no security-relevant change in the diff.

Lower-priorityuse DestroyAccount if the AccountDataCheck found issuesby aaron · d7d53646 · Jul 15, 2026 · 1 fileMessage 50 · ThinModerate 55Details
Commit message · aaron

use DestroyAccount if the AccountDataCheck found issues

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

This commit changes how a hardware crypto wallet (Keystone 3) cleans up a damaged or half-finished user account. Previously, the boot-time cleanup routine erased the account's stored pages but did not always run the same full deletion path used for normal account deletion. The patch makes the boot-time cleanup call the standard DestroyAccount function instead, so the same steps (erasing secure-element keys, clearing public info, clearing passphrase, and resetting wallet data hash) happen consistently. This reduces the chance that a partially deleted account leaves sensitive fragments behind after an unexpected reboot.

AI review queuedchore: add lace walletby soralit · 1a46dcad · Jul 15, 2026 · 9 filesMessage 40 · ThinInformational 15Details
Commit message · soralit

chore: add lace wallet

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 commit adds support for a new cryptocurrency wallet called 'Lace' to the Keystone hardware wallet firmware. It includes a new icon, a new entry in the wallet list, and logic to recognize Lace as a Cardano (ADA) and Bitcoin (BTC) wallet. There is no indication of a security fix or vulnerability.