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
295commits · 30 days
701commits · 60 days
1641commits · 180 days
2707commits · 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 49 minutes 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 queuedtest(core): wait for `Cancel` response before sending `Ping`by Roman Zeyde · a6bffbca · Jul 14, 2026 · 1 fileMessage 100 · StrongInformational 15Details
Commit message · Roman Zeyde

test(core): wait for `Cancel` response before sending `Ping`

Otherwise, we may get stuck when using USB transport:
if the device is stuck sending, and not reading new messages from the
host, the first write may get stuck - and the test will deadlock.

[no changelog]

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This is a test-only change to the Python Trezor client library. It fixes a potential deadlock in test synchronization code by waiting for a response to a Cancel message before sending a Ping message. There is no change to device firmware or any security-sensitive behavior, and no security vulnerability is present in the commit.

AI review queuedtests: replace repeated xfail/suppresion by decoratorsby M1nd3r · e91c588b · Jul 10, 2026 · 4 filesMessage 83 · StrongInformational 15Details
Commit message · M1nd3r

tests: replace repeated xfail/suppresion by decorators

- Replaced repeated "optiga xfail" in `evolu/test_sign_registration` by a decorator.
- Replaced repeated ephemeral key warning suppression in `thp/test-pairing` by marker alias.

[no changelog]

83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a test-code cleanup only. It replaces repeated snippets in automated tests with reusable decorators and marker aliases. No firmware behavior, cryptography, or user-facing functionality is changed, so it has no security impact on Trezor devices.

AI review queuedtest(core): try to avoid old emulators' crashing during upgrade testsby Roman Zeyde · 468b7d75 · Jul 10, 2026 · 1 fileMessage 100 · StrongInformational 17Details
Commit message · Roman Zeyde

test(core): try to avoid old emulators' crashing during upgrade tests

Should help with https://github.com/trezor/trezor-firmware/issues/7052.

IIUC, #1725 was introduced to save memory, but it may crash the
emulator if debuglink and wirelink are used at the same time.

[no changelog]

100/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification✓ Links an issue, advisory, or supporting reference
Why it was queued
second-pass: broader security terminology
AI analysis · Informational 17/100

This commit is a test-only workaround that adds a one-second sleep in an upgrade test script for older Trezor emulator versions. It avoids a known emulator crash during automated recovery tests when debug and wire communication are used simultaneously. It does not change the firmware itself or fix a security vulnerability in shipped devices.

AI review queuedchore(python): remove remaining TrezorClientDebugLink references [no changelog]by Arnold K · 64601614 · Jul 8, 2026 · 3 filesMessage 93 · StrongInformational 15Details
Commit message · Arnold K

chore(python): remove remaining TrezorClientDebugLink references [no changelog]

Fixes #6429.

- Remove stale docstring reference in debuglink.py
- Drop obsolete snippet scripts sign_tx.py and unify_test_files.py
- No changelog entry per trezor-firmware changelog guidelines

93/100 · StrongMessage clarity
✓ Specific, 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
signing or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit is a routine cleanup: it updates one comment in a debug helper file and deletes two old developer-only snippet scripts that referenced an outdated class name. There is no change to the firmware, wallet logic, cryptography, or any code that runs on user devices. It does not fix or introduce any security issue.

AI review queuedtest(core): don't fail codec_v1 `sync_responses()` on unexpected magicby Roman Zeyde · ddcea46b · Jul 7, 2026 · 2 filesMessage 99 · StrongInformational 18Details
Commit message · Roman Zeyde

test(core): don't fail codec_v1 `sync_responses()` on unexpected magic

Otherwise, pytest's session will be unnecessarily stopped.

Also, log the exception's traceback.

[no changelog]

99/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 18/100

This is a small test-infrastructure change for the Trezor hardware wallet. It makes the test harness more tolerant of unexpected protocol responses and logs the full error trace instead of immediately stopping the entire pytest session. It does not change the device firmware or how real user transactions are validated; it only affects automated testing of the older protocol-v1 communication code.

AI review queuedchore(core): inline `SC_FUNC_APPROVE_REVOKE_AMOUNT` constant definitionby Roman Zeyde · fe564511 · Jul 7, 2026 · 2 filesMessage 62 · AdequateInformational 15Details
Commit message · Roman Zeyde

chore(core): inline `SC_FUNC_APPROVE_REVOKE_AMOUNT` constant definition

[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 15/100

This commit is a minor code cleanup: it replaces a named constant with the literal number 0 in one place and removes the constant definition. There is no functional change, no bug fix, and no security relevance visible in the diff.

AI review queuedchore(translations): sync Crowdin update translationsby Michal Kazda · 7aac81d8 · Jul 2, 2026 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin update translations

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

This commit only updates translated text strings in the Trezor firmware. It changes wording in Czech, German, Spanish, French, and Portuguese translation files, plus the translation signature metadata. There are no code changes, no security fixes, and no behavior changes.

AI review queuedchore(translations): sync Crowdin fixing French failing testsby Michal Kazda · 1c84feca · Jul 2, 2026 · 3 filesMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin fixing French failing tests

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

This commit updates translation files for Czech and French, plus the corresponding signed metadata. It changes wording on device screens (for example, how a 'hold to confirm' button is labeled and how a backup-fragment title is formatted) and refreshes the cryptographic fingerprint that protects those translations from tampering. There is no code change and no security vulnerability is present in the diff.

AI review queuedchore(translations): sync Crowdin fixing more French failing testsby Michal Kazda · 13b41359 · Jul 2, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): sync Crowdin fixing more French failing tests

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

This commit updates French translation strings in the Trezor firmware and refreshes the corresponding translation signature metadata. The changes are purely cosmetic wording adjustments for on-screen text (for example, changing one French phrasing of a backup-recovery prompt to match another variant). There is no code behavior change, no cryptographic change, and no security fix.

AI review queuedchore(translations): sync Crowdin translationsby Thalarion · 700ef9ac · Jul 2, 2026 · 6 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
signing or wallet pathtranslation-only discountsecond-pass: security-sensitive path
AI analysis · Informational 15/100

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

AI review queuedfeat(core): set tropic configurationby Martin Pastyřík · 4a93242c · Jul 2, 2026 · 28 filesMessage 80 · StrongLow 32Details
Commit message · Martin Pastyřík

feat(core): set tropic configuration

Set the configuration of Tropic to the value excpected by the firmware.

The current version of tropic configuration is stored in slot 6 of Tropic R memory data. During the setting process, slot 7 is temporarily used to store a backup of the configuration version.

Also refactor tropic configuration from prodtest into firmware and enable sensors setting in model_server.

[no changelog]

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 queued
second-pass: unusually broad change
AI analysis · Low 32/100

This commit moves the configuration settings for the Tropic secure chip out of the production-test tool and into the main firmware. At boot, the device now checks whether the Tropic chip's configuration matches the version expected by the firmware, and can update or repair it if needed. It also adds a version number stored in a Tropic memory slot and uses a backup slot during updates. The change is a feature/refactoring patch; there is no direct evidence in the commit that it fixes a known security vulnerability, but misconfiguration of a security chip is a security-sensitive operation.

AI review queuedfeat(core): sign rotation index into Evolu sign registrationby Martin Pastyřík · 4db3a69d · Jul 1, 2026 · 8 filesMessage 77 · AdequateInformational 24Details
Commit message · Martin Pastyřík

feat(core): sign rotation index into Evolu sign registration

This enables the Quota Manager to distinguish the indices and store the current index.

[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 24/100

This commit updates the Trezor firmware's Evolu (delegated identity) registration signing feature so that the device now includes a 'rotation index' in the signed registration request. The rotation index tells the Quota Manager which version of the device's delegated identity key was used. The signature format was also bumped from V1 to V2 by adding the rotation index into the signed data. This is a feature enhancement, not a fix for an obvious security vulnerability, but it touches cryptographic signing and identity-key rotation, which are security-sensitive areas.

AI review queuedfix(core/caesar): allocate test-related formats on-demandby Roman Zeyde · 80bc85df · Jul 1, 2026 · 2 filesMessage 72 · AdequateInformational 17Details
Commit message · Roman Zeyde

fix(core/caesar): allocate test-related formats on-demand

[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 17/100

This change moves some internal test-only Ethereum transaction display definitions from being permanently added to a global list to being generated on demand only when the device is running in debug/test mode. It is a memory-footprint and code-hygiene cleanup, not a fix for an exploitable security bug. There is no indication it addresses a vulnerability.

AI review queuedtest(core): drop `test_descriptor_all_formatters` unit testby Roman Zeyde · 3704e769 · Jul 1, 2026 · 1 fileMessage 87 · StrongInformational 15Details
Commit message · Roman Zeyde

test(core): drop `test_descriptor_all_formatters` unit test

It should be covered by device tests.

[no changelog]

87/100 · StrongMessage clarity
✓ Specific, 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 or wallet pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit simply removes a single unit test from the Trezor firmware test suite. The test covered Ethereum 'clear signing' formatting logic, and the commit message says it is being dropped because it should be covered by device tests instead. No production code was changed, so this does not introduce or fix a security vulnerability by itself.

AI review queuedchore(translations): sync Crowdin translationsby Michal Kazda · 8c288b4a · Jul 1, 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 is a routine synchronization of translated user-interface text strings for the Trezor hardware wallet firmware. It updates wording in Czech, German, Spanish, French, and Portuguese translation files, plus the translation signature metadata. There are no code, logic, cryptographic, or security behavior changes.

AI review queuedchore(tron): scaffolding for `WithdrawBalanceContract`by PrisionMike · 2b93024e · Jun 29, 2026 · 18 filesMessage 62 · AdequateInformational 15Details
Commit message · PrisionMike

chore(tron): scaffolding for `WithdrawBalanceContract`

[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 15/100

This commit adds support for a new Tron blockchain operation called 'WithdrawBalanceContract' (claiming voting rewards). It is a feature addition: new message types, generated code, translations, and a test fixture. There is no indication of a security bug or vulnerability fix in the diff.

AI review queuedrefactor(core): close other workflows when starting `ProgressLayout`by Roman Zeyde · ada6a447 · Jun 26, 2026 · 4 filesMessage 62 · AdequateLow 26Details
Commit message · Roman Zeyde

refactor(core): close other workflows when starting `ProgressLayout`

[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 · Low 26/100

This commit moves the responsibility for closing other on-screen workflows into the ProgressLayout class itself, rather than having each individual feature call a separate 'close others' function. It is a code cleanup (refactor) and does not appear to introduce or fix a security vulnerability. The change makes UI behavior more consistent but does not change what the device ultimately allows.

AI review queuedrefactor(core/rust): implement io::Errorby matejcik · c6fa8ca2 · Jun 26, 2026 · 2 filesMessage 72 · AdequateInformational 12Details
Commit message · matejcik

refactor(core/rust): implement io::Error

to stop relying on micropython's Error type

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

This is a small internal code cleanup in the Trezor firmware's Rust code. It introduces a dedicated Rust error type for input/output operations so the code no longer borrows MicroPython's error type directly. The behavior appears unchanged: the same end-of-buffer condition still returns an equivalent EOF error, and the bytes-type check still returns the same type error. There is no indication this fixes or introduces a security vulnerability.

AI review queuedrefactor(core/rust): move micropython's Error to micropython moduleby matejcik · 58b4aea4 · Jun 26, 2026 · 22 filesMessage 77 · AdequateInformational 15Details
Commit message · matejcik

refactor(core/rust): move micropython's Error to micropython module

in preparation of micropython spin-off to a separate crate,
and error handling rework in the trezor_lib

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

This is a routine internal code reorganization in the Trezor firmware's Rust code. It moves the existing `Error` type from a top-level module into the `micropython` module and updates import paths accordingly. There is no change to user-facing behavior, no fix for a vulnerability, and no new security-sensitive logic.

AI review queuedfix(solana): show the program id for unknown programs in the tx details view instead of a generic "Unsupported program" label.by Sammy Harris · 7ea33494 · Jun 25, 2026 · 4 filesMessage 77 · AdequateInformational 20Details
Commit message · Sammy Harris

fix(solana): show the program id for unknown programs in the tx details view instead of a generic "Unsupported program" label.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>

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

This change improves the Trezor hardware wallet's Solana transaction confirmation screen. When a transaction contains an unknown program (smart contract), the device now shows the actual program ID instead of a generic 'Unsupported program' label. This helps users make a more informed decision before approving a transaction, but it is a user-interface improvement rather than a fix for a code vulnerability.

AI review queuedfix(solana): use template for indexed cosigners [no changelog]by Michal Kazda · 4c25a6fd · Jun 21, 2026 · 7 filesMessage 77 · AdequateInformational 16Details
Commit message · Michal Kazda

fix(solana): use template for indexed cosigners
[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 16/100

This commit fixes a minor user-interface wording issue in Trezor's Solana app. Previously, the device built the cosigner label by manually combining the word 'Cosigner' with a number, which could cause problems for translations. Now it uses a proper translation template 'Cosigner {0}'. There is no direct evidence this is a security vulnerability, but inconsistent or untranslatable labels could theoretically contribute to user confusion when reviewing multisig signers.

AI review queuedchore(translations): upload signed translationsby PrisionMike · 67cc06e2 · Jun 18, 2026 · 1 fileMessage 72 · AdequateInformational 15Details
Commit message · PrisionMike

chore(translations): upload signed translations

(cherry picked from commit 7d7eb296412dc993f78976fe7f41dcf80d50019b)

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

This commit adds a new digital signature entry to a JSON file that records approved translation packages for Trezor hardware wallets. It is a routine administrative update with no code changes and no apparent security relevance.

AI review queuedchore: tweak hardcoded LiFi definitionsby Ioan Bizău · 9ad5fa49 · Jun 15, 2026 · 1 fileMessage 57 · ThinInformational 19Details
Commit message · Ioan Bizău

chore: tweak hardcoded LiFi definitions

[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 19/100

This is a small maintenance update to Trezor's Ethereum clear-signing definitions for the LiFi cross-chain swap service. It adds alternative contract addresses for LiFi on four blockchains where the service uses a different address than usual, and tweaks a few on-screen labels (for example changing 'Recipient' to 'Receiver' and adjusting capitalization). There is no indication of a security vulnerability being fixed.

AI review queuedchore: add hardcoded 1inch definitionsby Ioan Bizău · 730cbd94 · Jun 15, 2026 · 2 filesMessage 80 · StrongInformational 19Details
Commit message · Ioan Bizău

chore: add hardcoded 1inch definitions

This reverts commit dc1f3a1b4d81900ab0a406617f5efb7e200df14e but adds
more definitions that what was there.

[no changelog]

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

This commit adds human-readable display definitions for 1inch decentralized-exchange swap transactions on Trezor hardware wallets. It tells the wallet how to decode and label 1inch swap parameters (amounts, beneficiary, last pool) so users can verify what they are signing on the device screen. The change is purely a data/configuration addition plus matching tests; it does not alter cryptographic code, transaction validation, or signing logic. There is no indication in the commit that this fixes a security vulnerability.

AI review queuedfeat(tron): add (Un)DelegateResourceContract support.by PrisionMike · 55000b59 · Jun 12, 2026 · 8 filesMessage 77 · AdequateInformational 12Details
Commit message · PrisionMike

feat(tron): add (Un)DelegateResourceContract support.

- boilerplate in preceeding chore commit.

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

This commit adds support for two new Tron blockchain transaction types—delegating and undelegating bandwidth or energy resources—on Trezor hardware wallets. It is a feature addition, not a security fix. The code adds user confirmation screens, input validation, and test fixtures, with no obvious signs of a vulnerability being patched.