TZ
← All projectsTrezor

Trezor firmware

Firmware monorepo for Trezor One, Model T, and Safe devices.

BitcoinHardware walletsNormal
Repository coverage

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

1137security candidates374second-pass queue2939AI analyses
278commits · 30 days
710commits · 60 days
1666commits · 180 days
2692commits · 365 days
Backfill bands
Aug 5 → Feb 61298 seen115 candidatesComplete
Feb 6 → Jun 6775 seen58 candidatesComplete
Jun 6 → Jul 6217 seen13 candidatesComplete
Jul 6 → Aug 5360 seen54 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.

67/100 average clarity
650Strong · 80–100
1558Adequate · 60–79
1040Thin · 40–59
7Opaque · 0–39
1security candidate 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.
tychovrahe343134322564
Roman Zeyde679216622372
obrusvit25896236364
PrisionMike11169109272
Andrew Kozlik833481268
Petr Susil1048287
Jakub Janků591838180
Martin Pastyřík26823173
cepetr264106222059
M1nd3r24689227071
Ioan Bizău23076230059
Lukas Bielesch856784067
Analysis record

Published AI watches

Last scanned 30 minutes ago

Informational 15 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): add new line on Eckhart address mismatch screen

This commit is a cosmetic UI fix for the Trezor hardware wallet's Eckhart layout. It adds a line break so that a support URL appears on its own line when the device shows an address mismatch warning. There is no security-relevant change to…

99cb0ffdby Michal Kazda+1−01 file
No security note in commit
Informational 18 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): use buttons__cancel in Delizia menu to cancel PIN setup

This is a tiny user-interface wording fix in the Trezor hardware wallet firmware. It changes the label on one menu button from a long translated phrase ('cancel setup') to a shorter generic word ('Cancel') so that translations fit on scree…

UI wording change onlyNo logic or cryptographic changeNo changelog entry (suggests minor fix)
7a1b8121by Michal Kazda+1−11 file
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(crypto): update `crypto/Makefile` to use `-std=gnu11`

This commit simply changes the C language standard version used to compile the crypto library from GNU C99 to GNU C11. It is a routine build-system update with no security-relevant code change and no functional impact on its own.

fafc7d72by Roman Zeyde+1−11 file
No security note in commit
Low 46 AI analysisMessage 93 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(crypto): ensure `secp256k1_context` alignment

This commit fixes how a memory buffer used by the secp256k1 cryptographic library is aligned in memory. The library requires the buffer to be aligned for any data type, but the previous code used a plain byte array, which could be misalign…

Memory alignment hardening for cryptographic context bufferUndefined behavior mitigation in secp256k1-zkp preallocated context creationPotential platform-dependent misalignment risk removed
93860f05by Roman Zeyde+7−11 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): improvements to English copy

This commit is a routine text cleanup for the Trezor hardware wallet's on-screen English messages. It fixes punctuation, removes unnecessary line breaks, and makes small wording tweaks (for example, changing 'PIN will be required' to 'A PI…

1dbc2c3cby Michal Kazda+22−422 files
No security note in commit
Moderate 59 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): app root packet downgrade protection

This commit adds downgrade protection for a new 'app root packet' system in Trezor firmware. Previously, the code had a TODO note saying downgrade protection needed to be considered. The change makes the device remember the timestamps of p…

Replaces a TODO comment ('!@# TODO: Consider downgrade protection') with concrete timestamp-based anti-downgrade checksAdds per-ring timestamp state to prevent rollback of root-of-trust packetsAdds chain_timestamp field and 90-day drift bound to root packet format
4a9cf168by cepetr+335−3112 files
No security note in commit
Moderate 67 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/rust): discard low-order keys in THP handshake

This commit fixes a cryptographic edge case in Trezor's THP (Trezor Host Protocol) handshake. It now rejects Curve25519 public keys that are all zeros or that produce an all-zero shared secret. A zero public key can cause the Diffie-Hellma…

Curve25519 zero/low-order public key rejection added to DHZero shared-secret output rejected after scalar multiplicationHandshake state machine now transitions to Failed on initiation-response error
429a283dby M1nd3r+45−74 files
No security note in commit
Informational 11 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): enable `ward` with `miniscript`

This commit changes one line in a build configuration file for the Trezor hardware wallet firmware. It adds the 'ward' feature to the existing 'miniscript' feature set. There is no direct evidence in the commit that this is a security fix;…

Single-line Cargo.toml feature flag changeNo code logic modificationNo changelog or security note in commit message
d434a636by Jakub Janků+1−11 file
No security note in commit
Informational 15 AI analysisMessage 80 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): add `ward` feature flag

This commit adds a new disabled-by-default feature flag called 'ward' to the Trezor firmware build system. It does not change any production firmware behavior; it only wires up a placeholder MicroPython module and build options so that fut…

New feature flag is disabled by default and gated behind optional Cargo featuresCommit message explicitly states intent to exclude WARD from production firmware buildsNew MicroPython module is a stub with no exported functions beyond __name__
7b58e75aby Jakub Janků+55−018 files
No security note in commit
Low 27 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): enable -Wsign-compare

This commit turns on a compiler warning (-Wsign-compare) that catches places where signed and unsigned numbers are compared, and fixes the resulting warnings across the Trezor firmware. Most changes are clean-up casts and loop-index type c…

Compiler warning -Wsign-compare enabled, indicating prior signed/unsigned comparison issuesI/O return-value checks hardened against negative ssize_t values being treated as successPython binding offset/length validation tightened in Monero crypto module
1cc940a4by cepetr+162−15247 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge passphrase__access_hidden_wallet into passphrase__access_wallet

This commit is a simple user-interface cleanup. It removes one duplicate translation label ('Access hidden wallet') and makes the device use a single, consistent label ('Access wallet') when asking the user to confirm opening a passphrase-…

65402aecby Michal Kazda+2−103 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge passphrase__hidden_wallet into passphrase__wallet

This commit is a simple user-interface cleanup. It merges two translation labels that both meant 'Passphrase wallet' into a single label, and updates the screens that used the old duplicate label. There is no security-relevant behavior cha…

7ce6887fby Michal Kazda+5−184 files
No security note in commit
Informational 11 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): update UI fixtures

This commit only updates the expected screenshots (UI fixtures) used in automated tests. The change reflects that multisig account names are now shown on screen during signing for Bitcoin, Bitcoin Cash and Zcash. There is no code change, n…

247390cbby Petr Susil+1873−5891 file
No security note in commit
Low 45 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/bootloader): keep the full block length for block-0 retries

This commit fixes a bug in the Trezor bootloader's firmware-update code. When updating firmware, the first block of data is fetched in two pieces: a small initial 'header prefetch,' then the rest. If a communication error happened and the …

Firmware update reliability bug in bootloaderBlock-0 retry path truncated data before hash verificationHash mismatch caused by buffer offset/size mismatch, not by attacker
dc937ba2by tychovrahe+81−711 file
No security note in commit
Informational 12 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core/bootloader): separate image upload and image checks

This commit is a code cleanup in the Trezor bootloader. It moves the generic, image-type-agnostic parts of firmware upload (chunk receiving, retry logic, flash erasing/writing, timeouts) into a new reusable module called wf_image_upload.c,…

Refactor only: logic moved, not changed in security-relevant waysSame signature/version/model/downgrade checks remain in firmware-specific handlerSame flash erase/write sequence preserved in generic engine
caab7d9eby tychovrahe+772−4834 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove unused trezor_lib/ui feature

This commit removes an unused Rust Cargo feature flag called 'ui' from the Trezor firmware build configuration. It is a cleanup change: the feature was always enabled in practice, so the code now compiles unconditionally. There is no secur…

1436fbc6by cepetr+2−158 files
No security note in commit
Low 27 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/caesar): change confirm middle button

This commit changes how users confirm an Ethereum authorization screen on Trezor's 'Caesar' layout. Previously, the user had to hold down a button to approve; now a simple tap is enough. The change only affects the user-interface interacti…

UI confirmation gesture changed from hold-to-confirm to tap-to-confirmOnly affects EIP-7702 authorization flow on Caesar (T3B1) layoutTest fixture hashes updated for all supported languages
e231cc94by obrusvit+50−502 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): merge firmware and unix cargo packages

This commit is a routine internal cleanup that merges two separate build packages (one for real hardware firmware and one for the desktop emulator) into a single package. It moves source files into subdirectories and updates build scripts …

6be32440by cepetr+48−32025 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): test aes gcm only if enabled

This commit is a minor build/test maintenance change. It adds a feature flag (USE_AES_GCM) so that AES-GCM tests are only run when the feature is actually enabled in a particular firmware build. There is no security fix or vulnerability be…

890aca93by cepetr+13−14 files
No security note in commit
Informational 15 AI analysisMessage 95 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(python, tests): add and update GNU licence headers

This commit only adds or updates copyright and GNU license header comments in Python test and tooling files. It makes no changes to executable code, so it cannot introduce a security vulnerability or fix one.

6dc781c2by M1nd3r+1202−203250 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-prioritychore(python) bump version after releaseby M1nd3r · f3ebf8d4 · Jul 31, 2026 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · M1nd3r

chore(python) bump version after release

- Updated trezor v0.20.2 -> v0.20.3.

[no changelog]

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit is a routine version bump for the Python 'trezor' package from 0.20.2 to 0.20.3 after a release. It only changes two version strings in packaging files and contains no functional code changes.

Security candidatechore(core): add trailing colon for Bolt/Caesar EIP-7702 info itemsby Roman Zeyde · 243a9d21 · Jul 30, 2026 · 3 filesMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): add trailing colon for Bolt/Caesar EIP-7702 info items

[no changelog]

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
cryptography-sensitive path
AI analysis · Informational 15/100

This is a cosmetic user-interface change for the Trezor hardware wallet. It adds a trailing colon to labels shown when a user is reviewing Ethereum EIP-7702 authorization or revoke actions. There is no security impact: no code logic, cryptography, transaction parsing, or signing behavior is changed. The only side effect is that on-screen text labels now end with a colon, and the corresponding UI test snapshots (fixtures.json) were updated to match the new appearance.

Lower-prioritychore(python): check OPTIONS.rst freshnessby M1nd3r · e6859ec8 · Jul 29, 2026 · 3 filesMessage 80 · StrongInformational 15Details
Commit message · M1nd3r

chore(python): check OPTIONS.rst freshness

- The check is a part of gen check.
- Running `make gen` regenerates the docs as well.

[no changelog]

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

80/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 15/100

This commit adds a build-time check to ensure that a documentation file (OPTIONS.rst) for the trezorctl command-line tool is up to date. It does not change any security-sensitive code, cryptography, device firmware, or user-facing behavior. It is purely a developer tooling and documentation freshness check.

AI review queuedchore(trezorlib): refactor device definition requests handlingby PrisionMike · 8a01a994 · Jul 29, 2026 · 6 filesMessage 62 · AdequateInformational 18Details
Commit message · PrisionMike

chore(trezorlib): refactor device definition requests handling

[no changelog]

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

This is a routine internal code cleanup in the Python Trezor library. It moves the logic that answers the hardware wallet's mid-transaction definition requests from one module to another and changes the public API from accepting a callback function to accepting a definition source object. There is no indication this fixes or introduces a security vulnerability; it is a refactor to make the code easier to test and maintain.

Lower-priorityfix(core/monero): correct progress textby Roman Zeyde · fd6d21b2 · Jul 29, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

fix(core/monero): correct progress text

[no changelog]

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

This is a one-character typo fix in a Monero progress message. A missing backslash meant the text 'hashing inputs' and the progress counter were joined on the same line instead of appearing on separate lines. It has no security relevance.

Lower-prioritydocs(thp): add low-order point verification to CodeEntryby M1nd3r · 3e6c9bbc · Jul 29, 2026 · 1 fileMessage 72 · AdequateModerate 57Details
Commit message · M1nd3r

docs(thp): add low-order point verification to CodeEntry

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
defensive validationdocumentation-only discount
AI analysis · Moderate 57/100

This commit updates a design document for Trezor's new 'Trezor Hello Protocol' (THP) pairing flow. It adds checks intended to stop a malicious computer from sending specially crafted X25519 public keys (so-called low-order points) that would make the shared secret predictable or all-zeroes, potentially allowing the computer to skip the user code-entry step and pair with the device without authorization. The change is only to documentation/specification; no actual firmware code is modified in this commit, so the real-world risk depends on whether the implementation already follows or ignores the new checks.

Lower-prioritydocs(python): regenerate OPTIONS.rstby M1nd3r · 42f096a2 · Jul 29, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · M1nd3r

docs(python): regenerate OPTIONS.rst

[no changelog]

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
documentation-only discount
AI analysis · Informational 15/100

This commit only regenerates a documentation file (OPTIONS.rst) listing available command-line options. It adds two newly supported commands to the help text: one for signing Ethereum EIP-7702 authorizations and one for signing Stellar Soroban authorizations. There are no code changes, no security fixes, and no functional changes in this commit.

Security candidatefeat(core/sys): expose time functions to Rustby matejcik · b8b56422 · Jul 29, 2026 · 70 filesMessage 57 · ThinInformational 19Details
Commit message · matejcik

feat(core/sys): expose time functions to Rust

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 pathboot or update pathauthentication path
AI analysis · Informational 19/100

This commit is a large internal refactoring that moves time-related code (Duration, Instant, sleep, tick counters) from one Rust module to another shared system module so it can be reused more cleanly. It does not change what the code does; it only reorganizes where the definitions live. There is no obvious security bug introduced, but any big refactor carries a small risk of accidental behavior changes.

Security candidatefix(core/bootloader): correct "Change FW vendor" titleby Roman Zeyde · 5f756282 · Jul 29, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

fix(core/bootloader): correct "Change FW vendor" title

[no changelog]

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
update trustboot or update path
AI analysis · Informational 15/100

This commit changes a single on-screen label in the Trezor bootloader from lowercase 'Change fw vendor' to uppercase 'Change FW vendor'. It is purely a cosmetic wording fix with no security relevance.

Lower-prioritychore(vendor): restore vendor/ts-tvl to version 2.5by Martin Milata · a54e2783 · Jul 29, 2026 · 2 filesMessage 62 · AdequateInformational 3Details
Commit message · Martin Milata

chore(vendor): restore vendor/ts-tvl to version 2.5

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 3/100

This commit simply bumps a local vendor package called 'ts-tvl' from version 2.4 to 2.5 in a Python lock file. There is no code change shown, no description of any security issue, and no supplied references indicating this is a security fix. On its own, this looks like a routine dependency/version maintenance task.

Security candidatefeat(clear_signing): calldata array supportby PrisionMike · 0feb0b96 · Jul 29, 2026 · 2 filesMessage 57 · ThinLow 30Details
Commit message · PrisionMike

feat(clear_signing): calldata array support

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 boundarysigning or wallet path
AI analysis · Low 30/100

This commit adds support in Trezor's Ethereum clear-signing feature for transactions that contain multiple embedded subcalls (like a multicall). Previously, only a single embedded call could be clearly displayed. The change lets the device show each subcall separately with labels like "(Subcall #1)" and handles both a single shared recipient address or a parallel list of recipients. It is a feature addition, not a fix for a known vulnerability.

Security candidatetest(clear signing): multiple calldataby PrisionMike · 0de94b8a · Jul 29, 2026 · 4 filesMessage 67 · AdequateInformational 15Details
Commit message · PrisionMike

test(clear signing): multiple calldata

[no changelog]

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 queued
signing boundarysigning or wallet path
AI analysis · Informational 15/100

This commit only adds new automated tests for Trezor's Ethereum 'clear signing' feature. It includes a test case for an Aave multi-call transaction, a matching test data blob, and expected screen snapshots for different device models and languages. There are no changes to the actual firmware code that runs on the device, so this commit does not introduce or fix a security vulnerability.

AI review queuedchore(translations): sync Crowdin translationsby Michal Kazda · c6040ab4 · Jul 28, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin translations

[no changelog]

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 pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only updates translated text strings in five language files and refreshes the translation signature metadata. There are no code, logic, or security-related changes.

Lower-priorityfix(core): update fixtures [no changelog]by Michal Kazda · fa03aa9a · Jul 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): update fixtures
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit only updates a test data file (tests/ui_tests/fixtures.json) containing expected screenshot hashes for automated UI tests. It does not change any firmware, application, or cryptographic code. The hash changes are expected when the device's on-screen appearance changes for any reason (text, layout, language, or unrelated code changes). There is no indication of a security fix or vulnerability in this commit itself.

Lower-prioritychore(translations): sync Crowdin translationsby Thalarion · 69186f17 · Jul 28, 2026 · 5 filesMessage 57 · ThinInformational 15Details
Commit message · Thalarion

chore(translations): sync Crowdin translations

[no changelog]

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
translation-only discount
AI analysis · Informational 15/100

This commit is a routine synchronization of translated user-interface text for the Trezor hardware wallet. It only changes wording in Czech, German, Spanish, French, and Portuguese translation files. There is no code change, no security fix, and no behavior change.

Lower-priorityfix(core): update fixtures [no changelog]by Michal Kazda · 01190701 · Jul 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): update fixtures
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
AI analysis · Informational 15/100

This commit only updates expected test result hashes (called 'fixtures') in a single test data file. It does not change any actual device firmware code, cryptographic logic, or user-facing behavior. The hash changes are consistent with a routine refresh of screen-shot-style UI test baselines after unrelated code or translation updates. There is no indication of a security fix or vulnerability.

Security candidatefix(core): add signatures [no changelog]by Michal Kazda · f83c7a79 · Jul 28, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(core): add signatures
[no changelog]

72/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing boundarysigning or wallet pathtranslation-only discount
AI analysis · Informational 15/100

This commit simply updates a metadata file that records a digital signature (a 'merkle_root') for translation data in a Trezor hardware wallet. There is no code change, no bug fix, and no security issue visible in the diff. It appears to be a routine administrative update to keep the signature record in sync with the latest translation content.

Security candidatefeat(clear_signing): support for calldata formatter. - scaffoldingby PrisionMike · 03741838 · Jul 28, 2026 · 12 filesMessage 62 · AdequateInformational 15Details
Commit message · PrisionMike

feat(clear_signing): support for calldata formatter. - scaffolding

[no changelog]

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

This commit is purely scaffolding for a new Ethereum clear-signing feature. It adds a new data type (FORMATTER_CALLDATA), two new optional fields (callee_path and selector) to message definitions, and two new user-facing text labels ('Subcall' and 'Subcall to'). There is no actual implementation of parsing, validation, or display logic here, and no security vulnerability is visible in the diff.

Security candidatefix(clear_signing): double display of amount.by PrisionMike · ce2282bd · Jul 28, 2026 · 2 filesMessage 82 · StrongInformational 19Details
Commit message · PrisionMike

fix(clear_signing): double display of amount.

- compare rendered strings now.
- small typo in a test fixture name.

[no changelog]

82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
Why it was queued
signing boundarysigning or wallet path
AI analysis · Informational 19/100

This commit fixes a user-interface bug in Trezor's Ethereum 'clear signing' flow where the transaction's native ETH amount could be shown twice on the device screen. The old code tried to avoid duplication by checking whether an 'AmountFormatter' field was present, but that check missed cases where the same amount was rendered by other field types. The new code compares the actual rendered strings and suppresses the summary amount only when it exactly matches a field already displayed. There is no security vulnerability here; it is purely a display-quality fix.

AI review queuedchore: update fixturesby PrisionMike · 148d73ea · Jul 28, 2026 · 4 filesMessage 40 · ThinInformational 15Details
Commit message · PrisionMike

chore: update fixtures

[no changelog]

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 maintenance update labeled 'chore: update fixtures'. It adds new expected test result hashes for Ethereum transaction display tests, updates a translation signature metadata file, and reverts a dependency version number in a lock file. There are no code changes that affect how the Trezor device operates or secures funds.

Security candidatefeat(clear_signing): Add enum formatter - scaffoldingby PrisionMike · 74269511 · Jul 28, 2026 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · PrisionMike

feat(clear_signing): Add enum formatter - scaffolding

[no changelog]

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

This commit only adds new data structures and an enum value for a future 'enum formatter' feature in Trezor's Ethereum clear-signing support. It does not change any existing behavior, add parsing logic, or fix a bug. There is no security issue visible in this change.

Security candidatefeat(clear_signing): Add enum formatter - coreby PrisionMike · 4b25321c · Jul 28, 2026 · 2 filesMessage 57 · ThinInformational 21Details
Commit message · PrisionMike

feat(clear_signing): Add enum formatter - core

[no changelog]

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 boundarysigning or wallet path
AI analysis · Informational 21/100

This commit adds a new display formatter for Ethereum clear signing. It lets a transaction descriptor map numeric enum values (like 1 or 2) to human-readable labels (like 'stable' or 'variable') on the Trezor screen. The change is purely additive and includes tests. There is no indication it fixes a security bug or introduces a vulnerability; it is a feature implementation.

Security candidatetest(clear_signing): add device test for calldata formatter.by PrisionMike · 701624d3 · Jul 28, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · PrisionMike

test(clear_signing): add device test for calldata formatter.

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 boundarysigning or wallet path
AI analysis · Informational 15/100

This commit only adds a new automated test case for an existing Ethereum transaction display feature. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a test-data addition.

Security candidatefeat(clear_signing): support for calldata formatter. - core changesby PrisionMike · 570eb868 · Jul 28, 2026 · 3 filesMessage 62 · AdequateLow 39Details
Commit message · PrisionMike

feat(clear_signing): support for calldata formatter. - core changes

[no changelog]

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 boundarysigning or wallet path
AI analysis · Low 39/100

This commit adds a new Trezor firmware feature called 'clear signing' for nested Ethereum calls. It lets the device understand when a transaction wraps another contract call (like a router or multicall) and tries to show the user readable details about the inner call instead of just a blob of hex. The change is a feature addition with built-in safeguards: nested parsing is limited to one level, ambiguous fields like sender and value are blocked inside nested calls, and failures fall back to showing raw hex rather than aborting the whole transaction. There is no indication in the commit that this fixes a known security bug; it reads as a defensive new capability.

Security candidatetest(clear_signing): add enum formatter device test.by PrisionMike · b2d82435 · Jul 28, 2026 · 7 filesMessage 72 · AdequateInformational 23Details
Commit message · PrisionMike

test(clear_signing): add enum formatter device test.

[no changelog]

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 boundarysigning or wallet path
AI analysis · Informational 23/100

This commit is a test-only addition for Trezor's Ethereum 'clear signing' feature. It adds new test cases and makes a small production-code tweak so that enum display-formatters can accept byte values (converted to integers). The change is not described as a security fix, and the production change is minor and defensive: it broadens accepted input types rather than fixing a crash or bypass. There is no evidence of a disclosed vulnerability or exploit.