TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

1125security candidates372second-pass queue2925AI analyses
291commits · 30 days
701commits · 60 days
1641commits · 180 days
2705commits · 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
635Strong · 80–100
1551Adequate · 60–79
1036Thin · 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 Zeyde675214620372
obrusvit25395235364
PrisionMike10866106272
Andrew Kozlik833481268
Petr Susil202299
Jakub Janků591838180
Martin Pastyřík26823173
cepetr264106222059
M1nd3r24689227071
Ioan Bizău23076230059
Lukas Bielesch856784067
Analysis record

Published AI watches

Last scanned 1 hour, 1 minute ago

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
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
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): move the multisig XPUB title into a translation template

This commit is a straightforward code cleanup: it moves the on-screen title for multisig XPUB screens from hard-coded English text into the device's translation system. The visible text remains essentially the same, and there is no securit…

6d69df16by Michal Kazda+20279−2023911 files
No security note in commit
Informational 15 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): render translated strings verbatim in layouts

This is a cosmetic code cleanup. It moves punctuation and capitalization out of the Python code and into the translation files so translated strings are shown exactly as written. There is no security-relevant change.

162ed3a2by Michal Kazda+12−125 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core/bolt): remove unneeded `use` statements

This commit simply removes two unused Rust import statements (called `use` statements). It does not change any actual code behavior, logic, or security properties of the Trezor firmware.

a56f8c3dby Roman Zeyde+0−22 files
No security note in commit
Informational 18 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): add missing colon in Tron

This commit fixes a UI formatting bug in the Tron cryptocurrency flow on Trezor hardware wallets. A missing colon was added to account information labels shown on the device screen. The change is cosmetic and does not appear to affect cryp…

UI label formatting fix onlyNo changes to signature verification, key handling, or transaction authorizationNo buffer size, memory allocation, or input validation changes observed
739c2968by Michal Kazda+19332−193364 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): combine path/account with labels

This commit is a straightforward user-interface refactoring. It bundles an account/path label together with its corresponding value into a single tuple, instead of passing them as four separate arguments. There is no security-relevant chan…

c66f6f4dby Michal Kazda+51−7413 files
No security note in commit
Repository ledger

Explore captured commits

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

AI review queuedfeat(ethereum): support ContainerPath.Toby Ioan Bizău · 98badcea · May 5, 2026 · 7 filesMessage 57 · ThinLow 27Details
Commit message · Ioan Bizău

feat(ethereum): support ContainerPath.To

[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 pathsecond-pass: security-sensitive path
AI analysis · Low 27/100

This commit adds support for a new 'To' container path in Trezor's Ethereum clear-signing feature. It lets the device reference the transaction recipient when formatting token amounts, which is useful for displaying ERC-20 transfers and approvals correctly. The change is a feature addition, not a clear security fix, and there is no evidence of a disclosed vulnerability.

AI review queuedfeat(tests,ethereum): definition requestby Ioan Bizău · 20e95c6b · May 5, 2026 · 6 filesMessage 67 · AdequateLow 28Details
Commit message · Ioan Bizău

feat(tests,ethereum): definition request

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Low 28/100

This commit adds a new feature to Trezor's Ethereum signing flow: the device can now ask the host computer mid-transaction for extra token or display-format definitions. The main production code change is small and appears to fix a token-resolution bug in clear signing by preferring a token returned from the parsed field data over the one looked up from the static definitions. Most of the diff is new and updated test code exercising the new request/response mechanism and renaming helpers from 'erc7730' to the more generic 'display format'.

AI review queuedchore(core): add N4W1 error-related stringsby Roman Zeyde · 2b460124 · Apr 30, 2026 · 6 filesMessage 57 · ThinInformational 14Details
Commit message · Roman Zeyde

chore(core): add N4W1 error-related strings

[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 pathsecond-pass: security-sensitive path
AI analysis · Informational 14/100

This commit only adds three new user-facing text strings for an existing hardware feature called N4W1 (likely a near-field communication tag workflow). It adds error messages for empty, non-empty, and damaged tags, plus updates translation indexes and a signature file. There is no code logic change, no bug fix, and no security-relevant behavior.

AI review queuedchore(core): add N4W1-related stringsby Roman Zeyde · f9868a6f · Apr 28, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

chore(core): add N4W1-related strings

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

This commit only adds new user-facing text strings for a wallet backup feature called 'N4W1' (for example, prompts asking the user what kind of backup they want and a 'Reading tag...' message). It updates translation files, generated Rust translation code, and a mock file used for testing. There is no executable logic change, no bug fix, and no security-related change.

AI review queuedchore(ethereum): rename Struct to Tupleby Ioan Bizău · dee0663a · Apr 28, 2026 · 3 filesMessage 72 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore(ethereum): rename Struct to Tuple

They are the same thing, but we are actually referring the fields by
index.

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a simple rename from 'Struct' to 'Tuple' in the Ethereum clear-signing code. It changes only variable, class, and type alias names to better reflect that the code accesses fields by index. No behavior, logic, or security properties are changed.

AI review queuedchore(ethereum): remove unused container pathsby Ioan Bizău · 5103d551 · Apr 28, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

chore(ethereum): remove unused container paths

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

This commit removes two unused symbolic labels, TO and CHAIN_ID, from an internal Ethereum clear-signing data-format definition. It is a cleanup change with no functional code logic altered and no security relevance.

AI review queuedchore(ethereum): add more parsersby Ioan Bizău · c63bb2c1 · Apr 28, 2026 · 1 fileMessage 57 · ThinInformational 12Details
Commit message · Ioan Bizău

chore(ethereum): add more parsers

[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 pathsecond-pass: security-sensitive path
AI analysis · Informational 12/100

This commit is a routine code cleanup for the Ethereum app in Trezor firmware. It replaces several hand-written number-parsing functions with a single factory that generates them automatically, and moves the address parser earlier in the file. There is no indication this fixes a security bug or introduces a vulnerability.

AI review queuedrefactor(ethereum): reuse confirmation codeby Ioan Bizău · 4731432d · Apr 28, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

refactor(ethereum): reuse confirmation code

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

This commit is a simple code cleanup in Trezor's Ethereum transaction signing. It extracts a repeated chunk of code that confirms transaction data and shows a summary into a shared helper function, then uses that helper in both legacy and EIP-1559 transaction signing paths. There is no security bug being fixed here.

AI review queuedrefactor(core): move `ButtonRequest`-related code into `ButtonRequestHandler`by Roman Zeyde · 9d49d901 · Apr 28, 2026 · 2 filesMessage 77 · AdequateInformational 11Details
Commit message · Roman Zeyde

refactor(core): move `ButtonRequest`-related code into `ButtonRequestHandler`

Also, minimize context-related access in `ui.Layout`.

[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 11/100

This commit is a code cleanup (refactor) that moves ButtonRequest handling logic out of the UI layout class and into a dedicated ButtonRequestHandler class. It does not appear to change security behavior; it reorganizes existing logic to make the code easier to maintain. There is no indication this fixes or introduces a security vulnerability.

AI review queuedchore(translations): shorten `fr` stringby Ioan Bizău · 866e0ed6 · Apr 28, 2026 · 3 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

chore(translations): shorten `fr` string

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

This commit is a routine translation update for the French language. It changes the capitalization of one word ('fragment' to 'Fragment') and removes the word 'n°' (number) from two French text strings shown on the device during SLIP39 backup/recovery flows. The accompanying files are just updated translation signatures and UI test fixture hashes. There is no code logic change and no security relevance.

AI review queuedchore(translations): sync second batch of Crowdin translations [no changelog]by Michal Kazda · 1f6513c7 · Apr 28, 2026 · 7 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync second batch of Crowdin translations
[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine synchronization of translated user-interface text for the Trezor hardware wallet. It updates Czech, German, Spanish, French, and Portuguese translation files, refreshes the cryptographic signature that protects those translations, and updates the expected screen hashes used by automated UI tests. There is no change to security logic, cryptography, or how the device handles private keys or transactions.

AI review queuedchore(translations): sync Crowdin translations [no changelog]by Michal Kazda · 0e969ceb · Apr 28, 2026 · 6 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin translations
[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine synchronization of translated user-interface text strings for the Trezor hardware wallet firmware. It updates wording in Czech, German, Spanish, French, Portuguese, and the translation signature file. There are no code, logic, cryptographic, or security behavior changes.

AI review queuedfix(l10n): various en strings improvements [no changelog]by Michal Kazda · 7c014e24 · Apr 27, 2026 · 12 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

fix(l10n): various en strings improvements
[no changelog]

77/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine language and translation update for the Trezor hardware wallet firmware. It changes English wording (for example, 'Input data' becomes 'Data', 'Access passphrase wallet' becomes 'Access Passphrase wallet'), removes some trailing colons from prompts, and updates the generated translation tables and test fixtures accordingly. There is no code behavior change, no security fix, and no vulnerability.

AI review queuedchore(deps): bump protobuf from 6.32 to 6.33.5by dependabot[bot] · a15a0f63 · Apr 24, 2026 · 2 filesMessage 88 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump protobuf from 6.32 to 6.33.5

Bumps [protobuf](https://github.com/protocolbuffers/protobuf) from 6.32 to 6.33.5.
- [Release notes](https://github.com/protocolbuffers/protobuf/releases)
- [Commits](https://github.com/protocolbuffers/protobuf/commits)

---
updated-dependencies:
- dependency-name: protobuf
dependency-version: 6.33.5
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine automated dependency update by Dependabot, bumping the pinned Python protobuf package from version 6.32 to 6.33.5. The change only edits two version pins in project configuration files and contains no code changes. There is no indication in the commit that this fixes or introduces a security issue.

AI review queuedchore(core): sign translationsby Ioan Bizău · 39c051b7 · Apr 23, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore(core): sign translations

[no changelog]

(cherry picked from commit cbc91cf723769ed45c2390265f3aebdf6c932028)

62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit simply adds a new digital signature entry to a JSON file that records approved translation bundles for the Trezor hardware wallet. There is no code change, no bug fix, and no visible security issue. It appears to be routine release housekeeping: signing the translation data for firmware version 2.11.1.0.

AI review queuedchore(ethereum): Move stablecoin yielding from debug to production.by PrisionMike · 59c8a6b6 · Apr 23, 2026 · 4 filesMessage 62 · AdequateInformational 18Details
Commit message · PrisionMike

chore(ethereum): Move stablecoin yielding from debug to production.

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 commit moves an Ethereum feature called "stablecoin yielding" from debug-only mode into production. It adds user-interface flows for certain ERC-4626 vault interactions, such as depositing USDC into a yield-bearing vault. The change itself is a feature promotion, not a fix for a known security flaw. There is no evidence in the commit that it addresses an active vulnerability or that it introduces one.

AI review queuedchore(ethereum): update erc-4626 stringsby PrisionMike · 290b0b0f · Apr 22, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · PrisionMike

chore(ethereum): update erc-4626 strings

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

This commit only changes user-facing text strings and their translation metadata for Ethereum vault (ERC-4626) screens. It adds labels like 'Redeem', 'Claim to', 'Withdraw amount', and removes unused strings like 'Your address'. There is no code logic change, no security fix, and no vulnerability introduced.

AI review queuedrefactor(core): refactor NFC driver to allow easier support for different ST chipsby tychovrahe · e0132169 · Apr 21, 2026 · 76 filesMessage 62 · AdequateInformational 15Details
Commit message · tychovrahe

refactor(core): refactor NFC driver to allow easier support for different ST chips

[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
second-pass: unusually broad change
AI analysis · Informational 15/100

This commit is a large code reorganization of the NFC (Near Field Communication) driver inside Trezor firmware. It moves the ST25R3916 RFAL library from one directory to another and updates build paths and board configuration files accordingly. There is no indication in the commit message or diff that this fixes a security vulnerability; it is described as a refactoring to make it easier to support different STMicroelectronics chips in the future. The change is mostly a directory rename plus path updates, with no functional security fix visible in the diff.

AI review queuedfeat(core): touch wake-up feature introductionby bleska · 2d2a3529 · Apr 20, 2026 · 22 filesMessage 92 · StrongInformational 13Details
Commit message · bleska

feat(core): touch wake-up feature introduction

It enables waking the T3W1 device up by display touch from suspend mode:
- Adding display suspend/resume functionality because, until now, the display driver has controlled the PWREN MOSFET and RESET signals, which are shared with the touch driver logic.
- Since it's not possible to switch the display off, it's put into deep standby mode, from which only an external HW reset can wake it up.
- The touch controller is being used in "monitor" mode, which can detect a touch event and generate an INT signal to wake the MCU. Once touched, the controller switches to active mode.
- Adding the "TOUCH_WAKEUP_ENABLED" macro and preprocessor-based conditional compilation for controlling whether this feature is enabled/disabled in the build (it's preparation for "checkbox"-based enabling/disabling control).

[no changelog]

92/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode
Why it was queued
second-pass: unusually broad change
AI analysis · Informational 13/100

This commit adds a new hardware feature for the Trezor T3W1 device that lets the user wake the device from suspend mode by touching the screen. It changes how the display and touch drivers are turned off and back on, and adds a new wake-up flag for touch events. The feature is currently disabled by default in the build configuration (TOUCH_WAKEUP_ENABLED is set to 0). There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a normal feature addition.

AI review queuedrefactor(core): remove cyclic dependency - display_rsod_rustby cepetr · b4427bf6 · Apr 20, 2026 · 2 filesMessage 62 · AdequateInformational 15Details
Commit message · cepetr

refactor(core): remove cyclic dependency - display_rsod_rust

[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
second-pass: broader security terminology
AI analysis · Informational 15/100

This commit is a straightforward code cleanup. It removes a header file include in a C file and replaces it with a direct declaration of a Rust-implemented function, while removing that same declaration from a shared header. The change breaks a circular dependency between the low-level graphics code and the Rust UI layer. There is no functional change to how errors are displayed, no bug fix, and no security-relevant behavior change.

AI review queuedchore(deps): bump mako from 1.3.10 to 1.3.11by dependabot[bot] · c314f2b1 · Apr 20, 2026 · 2 filesMessage 88 · StrongInformational 13Details
Commit message · dependabot[bot]

chore(deps): bump mako from 1.3.10 to 1.3.11

Bumps [mako](https://github.com/sqlalchemy/mako) from 1.3.10 to 1.3.11.
- [Release notes](https://github.com/sqlalchemy/mako/releases)
- [Changelog](https://github.com/sqlalchemy/mako/blob/main/CHANGES)
- [Commits](https://github.com/sqlalchemy/mako/commits)

---
updated-dependencies:
- dependency-name: mako
dependency-version: 1.3.11
dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 13/100

This is a routine automated update by Dependabot that raises the minimum allowed version of a Python template library called Mako from 1.0.7 to 1.3.11. The change only affects build/development dependency files and does not alter Trezor firmware source code. There is no direct evidence in the commit that this fixes a security problem, but keeping dependencies current is generally good maintenance practice.

AI review queuedtest(core): add a longer variant of `test_signtx_data_pagination`by Roman Zeyde · 1dffa363 · Apr 20, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Roman Zeyde

test(core): add a longer variant of `test_signtx_data_pagination`

[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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only adds a longer test case for an existing Ethereum transaction-signing test. It does not change any firmware, application, or library code that users run. It only changes test files and their expected output fingerprints, so it has no direct security impact on the product.

AI review queuedbuild(core): update panic=immediate-abort for newer rustcby Martin Milata · 9dd0958d · Apr 20, 2026 · 2 filesMessage 62 · AdequateInformational 17Details
Commit message · Martin Milata

build(core): update panic=immediate-abort for newer rustc

[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
second-pass: broader security terminology
AI analysis · Informational 17/100

This is a build-system update that changes how the Trezor firmware's Rust code handles unrecoverable errors (panics) in release builds. It switches to a newer Rust compiler feature called 'panic-immediate-abort' and adjusts build flags accordingly. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a toolchain compatibility change.

AI review queuedfeat(core): add backup-related stringsby Roman Zeyde · afaf30fe · Apr 16, 2026 · 6 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

feat(core): add backup-related strings

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

This commit only adds new user-visible text labels for two backup types ('N4W1 backup' and 'Wordlist backup') to the Trezor firmware's translation system. It does not change any security logic, cryptographic code, or user-flow behavior. The strings are empty on most device layouts and only populated for the 'Eckhart' layout. The translation signature metadata was also updated as part of the normal build process.

AI review queuedchore(core): remove personal todo markersby cepetr · dd5c5e58 · Apr 16, 2026 · 6 filesMessage 37 · OpaqueInformational 15Details
Commit message · cepetr

chore(core): remove personal todo markers

[no changelog]

37/100 · OpaqueMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body! Contains work-in-progress language
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit is a routine cleanup that removes informal developer notes ('!@# TODO' markers) from six source files and makes one tiny code improvement (using an unsigned integer conversion function). There is no security-relevant change and no indication of a vulnerability being fixed.