TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

1132security candidates374second-pass queue2934AI analyses
282commits · 30 days
708commits · 60 days
1659commits · 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
648Strong · 80–100
1555Adequate · 60–79
1038Thin · 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
obrusvit25796236364
PrisionMike10866106272
Andrew Kozlik833481268
Petr Susil1048287
Jakub Janků591838180
Martin Pastyřík26823173
cepetr264106222059
M1nd3r24689227071
Ioan Bizău23076230059
Lukas Bielesch856784067
Analysis record

Published AI watches

Last scanned 46 minutes ago

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
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
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 queuedfix: approve avantis dexby Ioan Bizău · a2fa7703 · Jan 15, 2026 · 4 filesMessage 40 · ThinLow 43Details
Commit message · Ioan Bizău

fix: approve avantis dex

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

This update fixes a bug in Trezor hardware wallets when signing certain Ethereum token-approval transactions. Some legitimate DeFi transactions include extra data that the wallet did not expect, which previously caused the device to crash instead of signing. The fix makes the wallet fall back to a simpler, generic signing mode for these unusual transactions. It is a reliability/usability fix rather than a theft-of-funds vulnerability, but a crash could still be used to deny service or trick a user into a less safe workflow.

AI review queuedfix(core/solana): optional program reference for SetComputeUnitLimitby Tomas Martykan · 0e3a8b29 · Jan 14, 2026 · 7 filesMessage 62 · AdequateLow 38Details
Commit message · Tomas Martykan

fix(core/solana): optional program reference for SetComputeUnitLimit

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

This update changes how Trezor handles one specific Solana instruction (SetComputeUnitLimit) so it can optionally accept a reference to another program account. Previously the device rejected or could not parse transactions that included this extra account reference, which is used by some services such as Jito. The change is a compatibility fix rather than a clear-cut security patch, but the prior strict parsing could have caused transaction failures or user confusion when signing legitimate Solana transactions.

AI review queuedchore(deps): bump tracing-subscriber in /rust/trezor-clientby dependabot[bot] · 2984383a · Jan 14, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · dependabot[bot]

chore(deps): bump tracing-subscriber in /rust/trezor-client

Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.19 to 0.3.20.
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](https://github.com/tokio-rs/tracing/compare/tracing-subscriber-0.3.19...tracing-subscriber-0.3.20)

---
updated-dependencies:
- dependency-name: tracing-subscriber
dependency-version: 0.3.20
dependency-type: direct:production
...

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

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
automated dependency-update discountsecond-pass: broader security terminology
AI analysis · Informational 15/100

This is a routine dependency update generated by Dependabot. It bumps the Rust crate `tracing-subscriber` from version 0.3.19 to 0.3.20 in a Cargo.lock file. The change only affects lockfile entries and transitive dependencies used for logging output formatting. There is no indication of a security fix or vulnerability being addressed.

AI review queuedrefactor(core): remove pvd -> backlight dependencyby cepetr · fc166333 · Jan 13, 2026 · 1 fileMessage 62 · AdequateLow 26Details
Commit message · cepetr

refactor(core): remove pvd -> backlight dependency

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

This commit removes code that turned off the screen backlight when a power-voltage drop (PVD) interrupt fired. The change is described as a simple internal cleanup ('refactor') with no changelog entry. It is not clearly a security fix, but removing a safety behavior during a low-power event could have minor security or reliability implications if the backlight was meant to blank the screen before shutdown.

AI review queuedrefactor(core): split and move suspend module into io and sec layersby cepetr · 521cdb2e · Jan 13, 2026 · 23 filesMessage 62 · AdequateInformational 15Details
Commit message · cepetr

refactor(core): split and move suspend module into io and sec layers

[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 code reorganization (refactor) that moves the suspend/resume functionality from one part of the codebase to another. It splits the suspend module into an I/O layer and a security layer, updates include paths, and adjusts build configuration files. There is no indication of a security fix or vulnerability being addressed.

AI review queuedrefactor(core): move i2c_bus driver to sys layerby cepetr · 01da3643 · Jan 13, 2026 · 23 filesMessage 57 · ThinInformational 15Details
Commit message · cepetr

refactor(core): move i2c_bus driver to sys layer

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

This commit is a pure code reorganization: it moves the I2C bus driver files from one directory (io/i2c_bus) to another (sys/i2c_bus) and updates all include paths accordingly. No functionality, logic, or behavior of the firmware was changed. It is a housekeeping refactor with no user-visible or security-relevant effect.

AI review queuedfeat(tests): cancel output flow on amount screenby Ioan Bizău · cee23581 · Jan 9, 2026 · 2 filesMessage 67 · AdequateInformational 15Details
Commit message · Ioan Bizău

feat(tests): cancel output flow on amount screen

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

This commit only adds a new automated test for the Trezor hardware wallet. The test checks that a user can cancel a Bitcoin transaction signing flow from the amount confirmation screen on newer device models. It does not change any firmware, wallet logic, or security behavior. There is no security issue here.

AI review queuedbuild(core/rust): improve panic message in debug buildsby Roman Zeyde · b4bd84d4 · Jan 5, 2026 · 1 fileMessage 93 · StrongInformational 15Details
Commit message · Roman Zeyde

build(core/rust): improve panic message in debug builds

https://doc.rust-lang.org/core/panic/struct.PanicMessage.html#method.as_str should make panic's messages more helpful.

[no changelog]

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

This is a small debugging improvement for Trezor's Rust firmware code. It changes panic error messages so that, in debug builds, the actual panic message text is shown instead of a generic placeholder 'rs'. There is no security vulnerability or fix here—just better diagnostic output for developers.

AI review queuedbuild(core/rust): debug emulator should not immediately abort on panicby Roman Zeyde · 2b1aef94 · Jan 5, 2026 · 1 fileMessage 62 · AdequateInformational 18Details
Commit message · Roman Zeyde

build(core/rust): debug emulator should not immediately abort on panic

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

This change adjusts how the Trezor firmware's Rust code is built for the debug software emulator. Previously, all builds used a setting that makes the program immediately stop (abort) if a panic occurs. Now, the debug emulator keeps the normal panic mechanism so that internal debug assertions can be reported instead of silently crashing. This is a build/developer-experience change, not a fix for an exploitable security flaw in shipped hardware wallets.

AI review queuedchore: sign language blobsby Ioan Bizău · 17b17241 · Dec 16, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore: sign language blobs

[no changelog]

(cherry picked from commit 44d6b3d7c2415c7a7fd3306a35a9a3daf34275a2)

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 language translation packages for Trezor devices. There is no code change, no bug fix, and no apparent security issue. It appears to be routine release housekeeping.

AI review queuedchore(translations): sync Crowdin translationsby obrusvit · bd329a7e · Dec 16, 2025 · 7 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(translations): sync Crowdin translations

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. It changes translated text strings in Czech, German, Spanish, French, and Portuguese, updates the cryptographic signature that verifies those translations, and refreshes the expected screen hashes used by automated UI tests. There is no code behavior change and no security issue visible in the diff.

AI review queuedtest(legacy): add a test for Base network symbolby Roman Zeyde · afa93c66 · Dec 11, 2025 · 2 filesMessage 67 · AdequateInformational 15Details
Commit message · Roman Zeyde

test(legacy): add a test for Base network symbol

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

This commit only adds a new test case for the Base cryptocurrency network. It does not change any production firmware code, so it cannot introduce a security vulnerability or fix one. It is purely a testing update.

AI review queuedchore(core): sign translationsby Roman Zeyde · d0e6cc09 · Dec 1, 2025 · 1 fileMessage 62 · AdequateInformational 18Details
Commit message · Roman Zeyde

chore(core): sign translations

[no changelog]

(cherry picked from commit 74faaff1c63a545fa5834871639ca7bf89c26ac2)

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

This commit adds a new cryptographic signature entry to a JSON file that records approved translations for the Trezor hardware wallet firmware. The signature verifies that the translation data for version 2.9.5.0 is authentic and has not been tampered with. There is no code change and no direct security vulnerability visible in the diff itself.

AI review queuedchore(translations): sync Crowdin translationsby obrusvit · 9ca5dab2 · Nov 26, 2025 · 7 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(translations): sync Crowdin translations

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 synchronization of translated user-interface text strings from the Crowdin translation platform. It updates wording in Czech, German, Spanish, French, and Portuguese translation files, refreshes the cryptographic signature that authenticates those translations, and updates the corresponding visual test snapshots. There are no code logic changes, no security fixes, and no behavior changes beyond the exact text shown on screen.

AI review queuedchore(tests): add test for back from amountby Ioan Bizău · 25a0c80a · Nov 25, 2025 · 2 filesMessage 67 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore(tests): add test for back from amount

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

This commit only adds a new automated test for the Trezor hardware wallet. It simulates a user pressing the 'back' button while confirming a Bitcoin transaction amount, then completing the transaction normally. There is no change to the actual wallet firmware or production code, so it does not introduce or fix any security issue on its own.

AI review queuedchore(core): sign translationsby Roman Zeyde · f740f1eb · Nov 19, 2025 · 1 fileMessage 47 · ThinInformational 15Details
Commit message · Roman Zeyde

chore(core): sign translations

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ 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 simply adds a new digital signature entry to a JSON file that records approved translation bundles for the Trezor hardware wallet. It is a routine metadata update with no code changes and no apparent security relevance.

AI review queueddocs(core): changelog for 2.9.4by Roman Zeyde · 26ef9c62 · Nov 19, 2025 · 23 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

docs(core): changelog for 2.9.4

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

This commit is purely a documentation change: it compiles the release notes for Trezor firmware version 2.9.4 by moving individual changelog fragments into the main CHANGELOG files. No source code, configuration, or executable files were modified, so it cannot introduce or fix a security vulnerability on its own.

AI review queuedrefator(core): refactor tropic certificate cacheby Ondřej Vejpustek · 2f857bf6 · Nov 10, 2025 · 3 filesMessage 45 · ThinInformational 15Details
Commit message · Ondřej Vejpustek

refator(core): refactor tropic certificate cache

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

This commit is a code cleanup: it moves the Tropic chip certificate cache out of the production-test command file and into the shared Tropic driver, then exposes two helper functions so other code can fetch the cached public key and certificate chain. There is no visible security bug being fixed or introduced in the diff itself.

AI review queuedchore(core): remove italian localizationby obrusvit · 4b691a3e · Nov 7, 2025 · 29 filesMessage 57 · ThinInformational 15Details
Commit message · obrusvit

chore(core): remove italian localization

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

This commit simply removes the Italian language translation files and related font glyph definitions from the Trezor firmware. It is a routine localization cleanup with no security relevance. No code that handles cryptography, authentication, or device security is changed.

AI review queuedchore(core): remove Bolt-specific stringsby obrusvit · 985835f4 · Nov 5, 2025 · 6 filesMessage 80 · StrongInformational 18Details
Commit message · obrusvit

chore(core): remove Bolt-specific strings

- these strings are specific for reset flow in Bolt layout, remove them
from other layouts.
- done to reduce size of translation blobs

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

This commit is a routine cleanup of translation files for the Trezor hardware wallet firmware. It removes or empties text strings used only by the older 'Bolt' user-interface layout from newer layouts (Caesar, Delizia, Eckhart) to make translation files smaller. There is no code change, no security fix, and no vulnerability introduced.

AI review queuedfix(ui): break on unitby Ioan Bizău · c1559ce8 · Nov 5, 2025 · 6 filesMessage 50 · ThinInformational 15Details
Commit message · Ioan Bizău

fix(ui): break on unit

[no changelog]

50/100 · ThinMessage clarity
✓ Subject identifies a change✓ 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 cosmetic user-interface change. It replaces a non-breaking space between a number and its unit (like '1.23 BTC') with a regular space so the unit can wrap to the next line on small screens. There is no security impact.

AI review queuedchore: make genby obrusvit · 3ef747bc · Nov 4, 2025 · 1 fileMessage 40 · ThinInformational 15Details
Commit message · obrusvit

chore: make gen

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

This commit only updates a generated metadata file (signatures.json) that records the latest approved translation bundle for the Trezor device. It changes a timestamp, commit hash, and Merkle root pointer. There is no code change and no security-relevant behavior change visible in the diff.

AI review queuedchore: add characters to PT fontby Ioan Bizău · 085f973c · Nov 4, 2025 · 23 filesMessage 57 · ThinInformational 15Details
Commit message · Ioan Bizău

chore: add characters to PT font

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

This commit adds two missing Portuguese characters, 'À' and 'ª', to the device's font files and fixes a spelling typo in a code generator file ('portugese' to 'portuguese'). It is a routine localization/typography update with no security relevance.

AI review queuedtest(ethereum): Add fixture for an unkown function callby PrisionMike · b4cb9951 · Nov 3, 2025 · 2 filesMessage 95 · StrongInformational 15Details
Commit message · PrisionMike

test(ethereum): Add fixture for an unkown function call

Every unkown call should not have an unkown contract address screen lest users get used to ignoring the warning screens.
[no changelog]

95/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ 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 only adds a new test case for Ethereum transactions. It does not change any production code, so it cannot directly introduce or fix a security vulnerability. The test checks how the device displays a transaction when the called function, token, and blockchain are all unknown. The commit message hints at a user-interface design concern—avoiding unnecessary warning screens so users don't learn to ignore them—but that concern is not implemented in this change.

AI review queuedchore(core): remove redunant payment request sanitizer [no changelog]by M1nd3r · 00e9f105 · Oct 27, 2025 · 1 fileMessage 77 · AdequateLow 26Details
Commit message · M1nd3r

chore(core): remove redunant payment request sanitizer
[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
defensive validationsigning or wallet pathsecond-pass: near security thresholdsecond-pass: security-sensitive path
AI analysis · Low 26/100

This commit removes a safety check that ensured each memo inside a Bitcoin payment request contained exactly one memo type. The change is described by the developer as removing a redundant sanitizer, suggesting the validation is believed to happen elsewhere. Without access to the rest of the codebase or vendor confirmation, it is unclear whether this weakens security or is genuinely redundant.