KS
← All projectsKeystone

Keystone 3 firmware

Open-source device firmware for Keystone 3 hardware wallets.

BitcoinHardware walletsNormal
Repository coverage

532 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Full patches and Ollama analysis are reserved for ranked candidates.

29candidates29AI analyses
116commits · 30 days
155commits · 60 days
272commits · 180 days
532commits · 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.

41/100 average clarity
35Strong · 80–100
64Adequate · 60–79
201Thin · 40–59
232Opaque · 0–39
5security 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.
ww35126871751212026
soralit11499048
Adam Tucker9355063
aaron3011048
willwang1511025
John Boyd611088
bianminyan4500032
Qkin-Keystone2600036
qkin1200050
Greg Pfeil400071
stone wang300038
0xApprentice200028
Analysis record

Published AI watches

Last scanned 26 minutes ago

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
Moderate 64 AI analysisMessage 45 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Scope Zcash shielded signing to selected account

This commit fixes a bug in the Keystone 3 hardware wallet's Zcash shielded transaction signing. Previously, when a user reviewed and approved a transaction for one account, the device could accidentally authorize a spend from a different a…

Account-scoping enforcement added to shielded spend authorizationPrevents cross-account signing under same seedNew validation in PCZT check path before signing
3d14c7ddby Adam Tucker+166−296 files
Vendor flagged security relevance
Low 43 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(zcash): skip finalized dummy spends during signing

This commit fixes a bug in the Keystone hardware wallet's Zcash signing code. When signing a batch of Zcash transactions that include 'dummy' placeholder spends (zero-value decoy actions used for privacy), the signer could get stuck or fai…

Zcash privacy-spend signing bypass for finalized dummy actionsBatch-transport redaction state reproduced in regression testPotential signing failure / denial-of-service for Zcash PCZT transactions with dummy spends
9792998aby Adam Tucker+81−13 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

refactor(zcash): rename redacted PCZT signing helper

This commit is a simple rename of an internal function from `sign_pczt_to_pczt` to `sign_and_redact_pczt` in the Zcash Rust code. No behavior, logic, or security properties changed; it only makes the function name more descriptive. There i…

01bd8e2bby Adam Tucker+4−42 files
No security note in commit
Moderate 59 AI analysisMessage 100 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

feat(se): Move 2 W1 — SE generation detection, gen-isolated backend, gen-1 page-8 gate

This is a large firmware commit for the Keystone 3 hardware wallet that restructures how the secure element (SE) chip is used. It introduces a generation-aware backend so the firmware can support two different SE configurations (gen-1, the…

Generation-aware SE backend with fail-closed NULL backend for UNPROVISIONED/INVALID chipsLegacy page-8 PIN-hash wipe gated to gen-1 only to avoid erasing gen-2 R_wrappedPer-account lifecycle status pages for atomic crash recovery of create/change-PIN/delete
57a92dcdby aaron+2163−16736 files
Vendor flagged security relevance
Moderate 54 AI analysisMessage 100 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix(zcash): sign shielded PCZTs without RoleSigner to fit the device stack

This commit fixes a crash in the Keystone hardware wallet when signing certain advanced Zcash transactions. The previous code used a heavy upstream signing helper that needed too much memory, causing the device to reset during an Orchard-t…

Stack overflow / device reset in signing task due to excessive stack usage by upstream RoleSignerReplacement of heavy upstream signer with lean in-repo low_level_signer to fit device stack budgetAddition of consensus-critical NU6.3 v6 Orchard/Ironwood sighash domains in pczt_ext
11592ebcby Adam Tucker+603−2173 files
No security note in commit
Low 37 AI analysisMessage 45 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Add Zcash batch signing for shielded PCZTs

This commit adds a new Zcash batch-signing feature for shielded transactions and fixes a UI bug where Zcash signing could freeze if the response QR code could not be generated. The changes introduce new Rust code to validate, parse, and si…

New batch signing path for Zcash shielded PCZTs with 35-message limitAtomic batch semantics: any invalid message aborts the whole batchPreflight check `ensure_pczt_has_signable_shielded_action` prevents silent no-signature results
745330f6by Adam Tucker+2201−5232 files
Vendor flagged security relevance
Low 35 AI analysisMessage 62 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

feat: update dice roll entropy ui

This commit updates the user interface and internal checks for generating wallet seed phrases using dice rolls as a source of randomness. It enforces a minimum number of dice rolls depending on the desired seed strength: at least 50 rolls …

Enforces minimum entropy input length based on target mnemonic strengthAdds server-side/model-layer validation in addition to UI gatingPrevents generation of 256-bit seeds from insufficient dice-roll entropy
7bc4d7d8by soralit+158−168 files
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

leap sunset

This commit removes support for the 'Leap' wallet from the Keystone 3 firmware. It deletes the Leap wallet icon and asset, removes Leap-related text strings from Chinese, Japanese, and Korean font files, and updates the Rust dependency ver…

920e9830by ww3512687+609−88123 files
No security note in commit
Low 29 AI analysisMessage 100 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

feat(zcash): enable Zcash for SLIP 39 wallets with 33-word shares

This commit changes how the Keystone hardware wallet enables Zcash for SLIP 39 wallets. Previously, Zcash was completely disabled for all SLIP 39 wallets. Now it is allowed when the SLIP 39 shares are 33 words long (256-bit entropy), but s…

Relaxation of a security-motivated disablement based on entropy lengthNew entropy-length gate for Zcash supportPotential risk if entropy length check is bypassed or miscalculated
2729141bby John Boyd+46−269 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 50 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Remove the redundant code and comments related to TON

This commit removes the special 'TON-only wallet' feature from the Keystone 3 firmware. It deletes code that let users create or import a TON-native 24-word seed phrase separate from the normal BIP39 wallet. After this change, TON is handl…

No security-relevant signals present in the diff or commit metadataFeature removal, not a vulnerability patchNo mention of CVE, security advisory, researcher credit, or exploit in commit message
abe8f0b7by ww3512687+91−169342 files
No security note in commit
Moderate 61 AI analysisMessage 67 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

feat: improve update security, support X Layer, and refresh Zodl wallet integration

This firmware update for the Keystone 3 hardware wallet is billed as a security improvement. The most important change is a complete rewrite of the bootloader/firmware update path: it now uses SHA-256 and a signed/length-prefixed 'bootupda…

Bootloader/firmware update verification upgraded from MD5 to SHA-256 with length-prefixed magic headerAUTO_REBOOT_AFTER_COPY_FILE path removed from USB MSC SCSI handler, eliminating host-triggered reboot on file copyUSB endpoint address validation added across DCD, USBD core, and class drivers to prevent out-of-bounds EP array access
c42b3eebby ww3512687+3821−98482 files
Vendor flagged security relevance
Moderate 57 AI analysisMessage 0 · Opaque
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

boot update

This commit is a large firmware update for the Keystone 3 hardware wallet, primarily adding a bootloader update mechanism and hardening the USB stack. It introduces a way to overwrite the device's bootloader from a specially formatted regi…

New bootloader self-update path from application flash with magic-number header, SHA-256 hash, and CRC32 verificationFlash encryption enabled for production builds using OTP-derived AES-CBC key/IVUSB control endpoint hardening: request length validation, descriptor bounds checks, endpoint address validation, stall-on-invalid requests
4df8c325by ww3512687+3369−73160 files
No security note in commit
Informational 20 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: zcash transparent is not signing

This is a one-line build-configuration fix for the Keystone hardware wallet's Zcash signing code. Previously, transparent Zcash transaction signing was only enabled when the 'multi_coins' feature was active. The change also enables it when…

No memory-safety issues visible in the diffNo cryptographic algorithm changesNo input validation changes
18300002by soralit+1−11 file
No security note in commit
Low 41 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: zcash transparent is not signing

This is a one-line build-configuration fix for the Keystone hardware wallet's Zcash transparent transaction signing. Previously, the code that signs the transparent (non-shielded) part of a Zcash PCZT transaction was only compiled when the…

Functional bug in cryptographic signing pathBuild-feature conditional compilation errorCould produce invalid/incomplete transaction signatures
635fc76eby soralit+1−11 file
No security note in commit
Low 32 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: slip39 passphrase create failed issue

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-Bitco…

Conditional compilation (#ifdef) restructure around cryptographic key derivationSLIP39 passphrase creation failure addressedCardano BIP32-ED25519 key derivation path corrected
ee96e5a6by soralit+9−71 file
No security note in commit
Moderate 59 AI analysisMessage 40 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

fix: psbt output parsing

This commit fixes how the Keystone 3 hardware wallet parses Bitcoin PSBT (Partially Signed Bitcoin Transaction) outputs. The change adds verification that an output's Bitcoin address actually matches the public key and derivation path clai…

Missing cryptographic verification of PSBT output scriptPubKey against wallet-derived keysTrusting attacker-supplied PSBT output metadata (bip32_derivation) without script validationPotential address spoofing / change-address manipulation in hardware wallet transaction display
7b971924by soralit+224−422 files
No security note in commit
Informational 19 AI analysisMessage 57 · Thin
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

feat: adjust change output ui

This commit changes how the Keystone hardware wallet labels Bitcoin transaction outputs on its screen. It adds a new 'is_mine' flag and shows 'Change' or 'Receive' labels next to outputs that belong to the user's own wallet. The goal appea…

UI now explicitly marks wallet-owned outputs as Change or Receive, reducing risk of user misidentifying change outputs as payments to third partiesParsedOutput gains an explicit is_mine field instead of inferring ownership only from path presenceNo input validation, parsing, cryptographic, or signing logic is modified
80702379by soralit+50−76 files
No security note in commit
Moderate 61 AI analysisMessage 90 · Strong
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Add zeroize crate and implement zeroing of sensitive data

This commit is a defensive security hardening patch for the Keystone 3 hardware wallet firmware. It adds the `zeroize` Rust crate and explicitly clears sensitive memory buffers (mnemonics, seeds, passwords, RSA seeds, entropy, SLIP39 share…

Sensitive memory zeroization added for seeds, mnemonics, passwords, RSA seeds, entropy, and SLIP39 sharesUnsafe C string/buffer operations replaced with bounded _s variantsRust FFI panic paths removed and replaced with error-return paths in arweave module
141243eeby ww3512687+726−49524 files
Vendor flagged security relevance
Moderate 59 AI analysisMessage 60 · Adequate
KS KeystoneKeystone 3 firmware BitcoinHardware wallets

Update dependencies to include `zeroize` crate and refactor RSA-related code for improved error handling and memory management. Add tests for RSA key generation and validation, ensuring proper seed length checks and memory clearing after use.

This commit hardens how a hardware wallet (Keystone 3) handles sensitive RSA prime numbers used for Arweave transactions. It adds explicit length checks on seeds and prime inputs, switches to a safer memory-clearing helper (`zeroize` in Ru…

Input validation added for RSA seed lengths (16/32/64 bytes) and prime lengths (256 bytes)Sensitive intermediate buffers now cleared with `zeroize` (Rust) and `memset_s`/`CLEAR_ARRAY` (C)Removed unused `RSA::from_secret` that parsed fixed offsets from arbitrary-length `secret` slices
c54a4bfaby ww3512687+234−13111 files
Vendor flagged security relevance
Repository ledger

Explore captured commits

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

Routine changeMerge pull request #2260 from KeystoneHQ/replace-lvgl-randby Soralit · 230abd77 · Aug 5, 2026 · 2 filesMessage 58 · ThinTriage 0Details
Commit message · Soralit

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

replace lvgl rand

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was security-ranked
merge-commit duplicate discount
Routine changereplace lvgl randby ww3512687 · f7d64fb8 · Aug 5, 2026 · 2 filesMessage 28 · OpaqueTriage 0Details
Commit message · ww3512687

replace lvgl rand

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Routine changefix(simulator): return password error on PIN mismatch in SimulatorLoadAccountSecretby soralit · 6bec6930 · Aug 4, 2026 · 1 fileMessage 85 · StrongTriage 18Details
Commit message · soralit

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

SimulatorLoadAccountSecret returned SUCCESS even when the stored password
did not match. This made the duplicate-PIN check (CheckPasswordExisted ->
VerifyAccountPassword) always treat any new PIN as a duplicate of an
existing account, so setting a PIN for the second account and onwards
failed with 'Duplicate PIN code detected'.

Return ERR_KEYSTORE_PASSWORD_ERR on mismatch, matching the real-device
behavior (LoadAccountSecretFromSE returns ERR_KEYSTORE_AUTH on HMAC
failure, which VerifyAccountPassword maps to ERR_KEYSTORE_PASSWORD_ERR).

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was security-ranked
access control
Routine changefix: improve Solana message handlingby soralit · 756df0e7 · Aug 4, 2026 · 7 filesMessage 57 · ThinTriage 0Details
Commit message · soralit

fix: improve Solana message handling

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Routine changefix: address Solana review findingsby soralit · e1752174 · Aug 4, 2026 · 11 filesMessage 57 · ThinTriage 7Details
Commit message · soralit

fix: address Solana review findings

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 security-ranked
parser or protocol path
Routine changechore: remove implementation planby ww3512687 · 4620fe94 · Aug 4, 2026 · 1 fileMessage 47 · ThinTriage 0Details
Commit message · ww3512687

chore: remove implementation plan

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was security-ranked
seed or entropy pathdocumentation-only discount
Security candidatefix: remove insecure PRNG fallbackby ww3512687 · 17c78e30 · Aug 4, 2026 · 3 filesMessage 80 · StrongModerate 64Details
Commit message · ww3512687

fix: remove insecure PRNG fallback

Remove trezor-crypto's unused LCG and weak fallback so device builds must link the platform random_buffer implementation. Keep a simulator-only standard library stub.

Co-authored-by: Nikolaus Heger <nheger@gmail.com>

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was security-ranked
entropy or randomnesscryptography-sensitive pathseed or entropy path
AI analysis · Moderate 64/100

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 could silently fall back to the weak generator, which would make wallet backup seeds predictable. Now the weak generator is gone for hardware builds, so a missing proper random source causes the build to fail instead of silently producing insecure seeds. The simulator still keeps a simple software-only stub for testing.

Routine changefeat: rename matic to polby soralit · 88132d72 · Jul 31, 2026 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · soralit

feat: rename matic to pol

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Routine changechore: update ciby soralit · 39cfff13 · Jul 31, 2026 · 1 fileMessage 40 · ThinTriage 12Details
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 security-ranked
boot or update path
Routine changefix: regular AI code review and fixby soralit · e2c0ef31 · Jul 30, 2026 · 76 filesMessage 57 · ThinTriage 19Details
Commit message · soralit

fix: regular AI code review and fix

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 security-ranked
signing or wallet pathparser or protocol path
Routine changefix: guard Solana USB pubkey service for non-web3 buildsby John Boyd · 9d04150d · Jul 28, 2026 · 1 fileMessage 85 · StrongTriage 7Details
Commit message · John Boyd

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

CheckSolPathSupport is only compiled under WEB3_VERSION, but the USB
pubkey service introduced with the sol-cli feature calls it
unconditionally, so cypherpunk and btc-only production builds fail to
link. Compile the Solana path only for web3 firmware and answer the
request with the existing "Unsupported coin type" error elsewhere.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was security-ranked
parser or protocol path
Routine changefeat(zcash): tag outputs to the wallet's own address as Mineby John Boyd · 9eb7f4c3 · Jul 28, 2026 · 5 filesMessage 85 · StrongTriage 0Details
Commit message · John Boyd

feat(zcash): tag outputs to the wallet's own address as Mine

The review screen previously computed shielded output ownership via the
IVK scope check and then discarded the external-scope result, so an
output paying the wallet's own external Orchard or Ironwood receiver
rendered like a payment to a foreign address. Propagate the ownership
flag through ParsedTo and DisplayTo and render a "Mine" tag on output
rows, with the existing "Change" tag taking precedence for
internal-scope outputs.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Routine changeoptimize sol derivation path allocationby ww3512687 · 9c3efd94 · Jul 28, 2026 · 1 fileMessage 45 · ThinTriage 7Details
Commit message · ww3512687

optimize sol derivation path allocation

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was security-ranked
parser or protocol path
Routine changerefactor: remove unused QR code protocolsby soralit · 28dd305d · Jul 28, 2026 · 7 filesMessage 57 · ThinTriage 0Details
Commit message · soralit

refactor: remove unused QR code protocols

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Routine changechore: upgrade rust versionby soralit · 82a48133 · Jul 28, 2026 · 21 filesMessage 47 · ThinTriage 19Details
Commit message · soralit

chore: upgrade rust version

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was security-ranked
boot or update pathparser or protocol path
Routine changesupport sol cliby ww3512687 · 77833f49 · Jul 27, 2026 · 16 filesMessage 28 · OpaqueTriage 19Details
Commit message · ww3512687

support sol cli

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was security-ranked
signing or wallet pathparser or protocol path
Routine changechore: update change logby soralit · c224a7f5 · Jul 24, 2026 · 2 filesMessage 40 · ThinTriage 0Details
Commit message · soralit

chore: update change log

40/100 · ThinMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was security-ranked
documentation-only discount
Routine changechore: bump versionby soralit · 62a5d952 · Jul 24, 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
Routine changeFix Zcash wallet preparation on unlockby Adam Tucker · dd034199 · Jul 24, 2026 · 4 filesMessage 45 · ThinTriage 0Details
Commit message · Adam Tucker

Fix Zcash wallet preparation on unlock

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Routine changeUse released UR crates 1.0.8by Adam Tucker · fa0add39 · Jul 23, 2026 · 2 filesMessage 45 · ThinTriage 0Details
Commit message · Adam Tucker

Use released UR crates 1.0.8

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Routine changePreserve Zcash account firmware version (#37)by Adam · 20d7ea2d · Jul 22, 2026 · 3 filesMessage 68 · AdequateTriage 12Details
Commit message · Adam

Preserve Zcash account firmware version (#37)

* Preserve Zcash account firmware version

* Keep UR dependencies at 1.0.7

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was security-ranked
signing or wallet path
Routine changePreserve PCZT v1 response encodingby Adam Tucker · acf3611a · Jul 22, 2026 · 5 filesMessage 45 · ThinTriage 12Details
Commit message · Adam Tucker

Preserve PCZT v1 response encoding

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was security-ranked
signing or wallet path
Routine changechore: bump to beta versionby soralit · 72b77ca7 · Jul 22, 2026 · 1 fileMessage 57 · ThinTriage 0Details
Commit message · soralit

chore: bump to beta version

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Routine changechore: update keystone-sdk-rust versionby soralit · 88793d72 · Jul 22, 2026 · 2 filesMessage 57 · ThinTriage 0Details
Commit message · soralit

chore: update keystone-sdk-rust version

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Routine changetest(zcash): harden v1 PCZT end-to-end coverageby Adam Tucker · 2c54cb53 · Jul 21, 2026 · 3 filesMessage 67 · AdequateTriage 8Details
Commit message · Adam Tucker

test(zcash): harden v1 PCZT end-to-end coverage

67/100 · AdequateMessage clarity
✓ 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 security-ranked
defensive validation