TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

916security candidates311second-pass queue1894AI analyses
336commits · 30 days
588commits · 60 days
1363commits · 180 days
2648commits · 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.

66/100 average clarity
473Strong · 80–100
1321Adequate · 60–79
862Thin · 40–59
5Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
tychovrahe292104192361
Roman Zeyde572177396271
PrisionMike945990273
Andrew Kozlik712449265
Jakub Janků22919182
Martin Pastyřík23816173
cepetr19682133059
Ioan Bizău23076169059
obrusvit21376144064
M1nd3r20671154071
Lukas Bielesch846771067
Martin Milata17446148063
Analysis record

Published AI watches

Last scanned 34 minutes ago

Informational 18 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core): remove sha1 from regular FW

This commit removes the SHA-1 hashing function from the regular Trezor firmware. SHA-1 is an old, weak hash algorithm that is no longer considered secure for sensitive uses. The change deletes the code that exposes SHA-1 to apps running on…

Removal of a deprecated cryptographic primitive (SHA-1) from the firmware API surfaceReduction of attack surface and prevention of future misuse of a collision-vulnerable hashNo direct vulnerability patch or memory-safety bug is present in the diff
16d15774by M1nd3r+0−2006 files
No security note in commit
Low 27 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): pass static public key to `noise_xxpsk3_*_init()`

This commit changes how a cryptographic library sets up secure connections. Previously, the code automatically calculated the public key from the private key. Now, the caller must provide the public key directly. This is a code-quality ref…

Cryptographic key handling changed: public key is now supplied rather than derivedPotential reduction of key-mismatch risk if caller provides correct public keyNew null-pointer check added for static_public_key
1b3128a4by Ondřej Vejpustek+20−92 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): change order of parameters

This commit simply reorders the arguments of an internal function called dh() and updates every place that calls it. The actual math and security behavior are unchanged; it is a code cleanup with no security effect.

33a119eeby Ondřej Vejpustek+15−151 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): prefix enums

This commit simply renames two groups of internal status labels (called enums) in the Trezor firmware's cryptographic code. The old names like WAITING_FOR_REQUEST1 were shared between two different parts of the code, so the developer gave …

f1c74046by Ondřej Vejpustek+26−222 files
No security note in commit
Low 37 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(crypto): prevent calling `memzero(NULL, ...)`

This commit fixes three places in the Trezor firmware's cryptographic code where a memory-clearing function could be called with a NULL pointer. In practice, passing NULL to memzero is harmless on Trezor's platform (it does nothing), but i…

NULL pointer passed to memory-zeroing helper in cryptographic codeUndefined behavior in C standard library contractDefensive hardening in Noise protocol implementation
0394e934by Ondřej Vejpustek+11−51 file
No security note in commit
Informational 18 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(crypto): return remote static key from `noise_xxpsk3_*_handle_*()`

This commit is a code cleanup (refactor) for the cryptographic handshake code used in Trezor devices. It changes how the other party's long-term public key is returned to the caller: instead of storing it inside an internal state structure…

Removal of long-term public key storage from internal handshake stateCaller-supplied output buffer for remote static public key reduces internal secret retentionError-path memzero of returned key material on failure
3ead1aa6by Ondřej Vejpustek+79−423 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): rename ProjectProfile to ProjectConfig

This commit is a simple rename from 'ProjectProfile' to 'ProjectConfig' in two Rust source files. It only changes variable names, struct names, and error messages. There is no change to program logic, security behavior, or how data is hand…

581b37bcby cepetr+18−182 files
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): introduce ResolvedBuildArgs

This commit is a straightforward internal code refactor in Trezor's build tooling. It introduces a new ResolvedBuildArgs structure that centralizes default values for command-line build options before they are used. There is no change to u…

c24d1be8by cepetr+99−295 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): make build args tristate

This commit is a straightforward internal refactor of the Trezor firmware build tool's command-line argument handling. It changes many on/off flags from plain booleans to optional booleans so they can explicitly be set to true, false, or l…

271e249aby cepetr+57−561 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): introduce build options

This commit is a straightforward internal code reorganization in Trezor's build tooling. It moves build-option definitions from one Rust source file to a new module and adds the ability to load those options from a configuration file. Ther…

75085e2aby cepetr+275−2007 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): introduce build presets

This commit is a developer tooling change for the Trezor firmware build system. It introduces 'build presets'—named configuration bundles stored in TOML files—so developers can select common build settings with a single command-line flag i…

eefe8f7fby cepetr+397−419 files
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): upgrade manifest.yaml for tf-tools 0.3.0

This commit is a routine update to a build-system manifest file used by Trezor's internal tooling. It reorganizes and re-labels feature flags (for example, moving options between 'Features', 'Debugging', and 'Signing' groups and simplifyin…

57b28b89by cepetr+86−1351 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(core): add tf-tools 0.3.1+ configuration file

This commit adds a single configuration file for a Trezor developer tool (a VS Code extension). It only points the tool to existing folders in the repository and contains no executable code, no secrets, and no changes to firmware behavior.…

e554f618by cepetr+8−01 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): rename ResolvedBuild to ResolvedBuildFeatures

This commit is a simple internal code cleanup: it renames a Rust data structure called ResolvedBuild to ResolvedBuildFeatures and updates the places that use it. There are no functional changes, no security fixes, and no changes to how the…

aaa2780bby cepetr+5−52 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core): fix up clippy warnings in storage.rs

This is a tiny code cleanup commit that replaces two calls to `ptr::null()` with Rust's `unwrap_or_default()` to silence automated Clippy lint warnings. It does not change what value is produced (still a null pointer when no salt is provid…

62354461by cepetr+2−21 file
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(xtask): simplify dependencies

This commit is a straightforward internal code cleanup in Trezor's build tooling. It moves a data structure and two helper methods from one Rust source file to another and updates callers accordingly. There is no change to user-facing beha…

6268349fby cepetr+9−193 files
No security note in commit
Informational 15 AI analysisMessage 47 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

docs: add xtask documentation

This commit only adds documentation. It updates the table of contents and adds a new markdown page plus a diagram explaining the project's 'xtask' build helper. No code, build scripts, or firmware logic was changed, so it cannot introduce …

4879dababy cepetr+296−03 files
No security note in commit
Informational 17 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

feat(xtask): introduce project-toml build-options

This commit is a build-system refactoring for Trezor firmware. It moves the mapping of command-line build options to Rust/cargo features out of hard-coded Rust logic and into per-project TOML files. It also adds a small change so debug bui…

Build-option mapping now lives in project.toml files, increasing the attack surface for supply-chain/build-configuration tamperingMakefile change automatically enables debug-link for PYOPT=0 debug buildsValidation added to reject storage_insecure_testing_mode in production builds
d44de007by cepetr+681−40817 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

ci(core): fix nightly ARM emulator filename

This commit fixes a filename-renaming step in the project's automated nightly build pipeline. It ensures ARM64 emulator files get the correct name expected by another testing tool. There is no change to the actual Trezor firmware code, dev…

ab95f08fby Martin Milata+3−01 file
No security note in commit
Informational 12 AI analysisMessage 62 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(vendor): avoid micropython submodule noise in git status

This is a routine housekeeping change to reduce clutter in Git's status output for a third-party component (the MicroPython submodule). There is no indication it changes any code that runs on the Trezor device or affects security.

06cab32bby Martin Milata+1−11 file
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(solana): ALT recipients shown correctly in system transfer.by PrisionMike · 2b4cbcc9 · May 22, 2026 · 6 filesMessage 77 · AdequateModerate 58Details
Commit message · PrisionMike

fix(solana): ALT recipients shown correctly in system transfer.

(cherry picked from commit 257af9891d24b7f9d0379729177a23d8cd7de7c8)

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 · Moderate 58/100

This update fixes how Trezor displays Solana transactions that use Address Lookup Tables (ALTs). Previously, the device could misidentify or fail to show the real recipient when an ALT was involved, which might let an attacker trick a user into approving a transfer to an unexpected address. The patch also blocks ALT references in payment requests and some staking flows where the device cannot safely verify the destination.

Security candidatedocs: changelog for core 2.11.2 & bootloader 2.1.17by Ioan Bizău · 97787955 · May 22, 2026 · 20 filesMessage 77 · AdequateModerate 59Details
Commit message · Ioan Bizău

docs: changelog for core 2.11.2 & bootloader 2.1.17

(cherry picked from commit a5c3101ddcedb2845f83859eac138895866c46e6)

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

This commit is a documentation-only changelog update for the Trezor firmware releases core 2.11.2 and bootloader 2.1.17. It does not change any code. The changelog lists several previously fixed security issues, including bugs in Solana account handling, EIP-712 domain caching, and an out-of-memory fix. Because the actual code changes happened in earlier commits, this single commit cannot introduce or directly fix a vulnerability, but it confirms the vendor considers multiple items security-relevant for the release.

Security candidatechore: add QA bootloadersby Ioan Bizău · dfb1fbe8 · May 22, 2026 · 2 filesMessage 62 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore: add QA bootloaders

(cherry picked from commit 366fd6cc2ad7493788cd1db19ae238b2c83fe7a7)

62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
update trustboot or update path
AI analysis · Informational 15/100

This commit updates a QA/testing bootloader binary and its recorded cryptographic hash for the T3W1 hardware model. It is a routine development chore with no visible security fix or vulnerability.

Lower-prioritychore(ci): bump cachix install-nix actionby M1nd3r · 9dc08577 · May 21, 2026 · 2 filesMessage 88 · StrongInformational 15Details
Commit message · M1nd3r

chore(ci): bump cachix install-nix action

v31.9.1 -> v31.10.6
Release notes: https://github.com/cachix/install-nix-action/releases/tag/v31.10.6
Comparison: https://github.com/cachix/install-nix-action/compare/v31.9.1...v31.10.6

[no changelog]

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

This commit simply updates the version of a third-party GitHub Action used to install the Nix package manager in Trezor's automated build and test workflows. It is a routine dependency bump with no visible security relevance to the Trezor firmware or device itself.

Lower-priorityfix(common): correct wire direction for authenticity-related messagesby Roman Zeyde · c181e218 · May 21, 2026 · 2 filesMessage 62 · AdequateLow 34Details
Commit message · Roman Zeyde

fix(common): correct wire direction for authenticity-related messages

[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
AI analysis · Low 34/100

This commit fixes a labeling error in the Trezor firmware's protocol definitions. Two message types used for device authenticity checks had their directions swapped: one was marked as outgoing when it should be incoming, and the other as incoming when it should be outgoing. The fix only changes metadata annotations and the matching generated Rust code; it does not change actual message handling logic. Because the patch is small and limited to generated descriptors, the direct security impact is low, but incorrect wire direction metadata could theoretically confuse host software or protocol validation tools.

Security candidatefix(core): improve stellar confirmation screensby Jun Luo · c1cbf87d · May 20, 2026 · 8 filesMessage 57 · ThinLow 28Details
Commit message · Jun Luo

fix(core): improve stellar confirmation screens

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Low 28/100

This commit updates the on-screen confirmation prompts shown when signing Stellar transactions on Trezor hardware wallets. It does not change how transactions are validated or signed, but it reorganizes and improves the clarity of what the user sees before approving. The changes are purely user-interface related, with updated test snapshots reflecting the new screen layouts.

Security candidatefix(tron,ui): improve tron transfer flowby PrisionMike · b4863b10 · May 20, 2026 · 8 filesMessage 72 · AdequateInformational 16Details
Commit message · PrisionMike

fix(tron,ui): improve tron transfer flow

- Better transfer layout
- account details shown
- small code refactoring

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
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 16/100

This commit is a user-interface improvement for Tron (TRX) transfers on Trezor hardware wallets. It changes the on-device confirmation screens to show the sending account name, derivation path, recipient address, and amount in a clearer layout. There is no indication it fixes a security vulnerability; it is a usability and consistency refactor.

Security candidatechore: bump versionsby Ioan Bizău · bc8c5089 · May 20, 2026 · 10 filesMessage 63 · AdequateInformational 15Details
Commit message · Ioan Bizău

chore: bump versions

```
tools/bump-version.py core 2.12.1
tools/bump-version.py core/embed/projects/secmon 1.0.11
tools/bump-version.py core/embed/projects/bootloader 2.1.18
```

[no changelog]

63/100 · AdequateMessage clarity
✓ Subject identifies a change✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
update trustsigning or wallet pathboot or update path
AI analysis · Informational 15/100

This commit is a routine housekeeping change that only updates version numbers in several files. It does not change any program logic, fix any bug, or alter any security behavior. There is nothing here that could be exploited or that affects user security.

Security candidatefeat(core): add Tap to Wake toggle to device menu and apply at startupby bleska · 3722a76e · May 20, 2026 · 19 filesMessage 93 · StrongInformational 15Details
Commit message · bleska

feat(core): add Tap to Wake toggle to device menu and apply at startup

Add ToggleTapToWake action to Eckhart device menu (T3W1 only). The
setting is stored inverted as _DISABLE_TAP_TO_WAKE in device storage,
defaulting to enabled when the key is absent.

Apply the stored preference via touch_wakeup_set_enabled() in boot.py
and in lock_manager.reload_settings_from_storage() so it takes effect
on startup and whenever settings are reloaded after unlock.

Closes #6838

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
cryptography-sensitive pathsigning or wallet pathboot or update path
AI analysis · Informational 15/100

This commit adds a user-facing 'Tap to Wake' on/off toggle to the device menu on the Trezor T3W1 hardware wallet. It stores the preference in device storage and applies it at startup and when settings are reloaded after unlocking. There is no security issue visible in the change.

Security candidatefeat(core): wire USE_TOUCH_WAKEUP build flag for T3W1by bleska · 6704563b · May 20, 2026 · 7 filesMessage 85 · StrongInformational 15Details
Commit message · bleska

feat(core): wire USE_TOUCH_WAKEUP build flag for T3W1

Enable USE_TOUCH_WAKEUP on T3W1 revA/B/C (models that have both
"suspend" and "input" features). Wire the flag into SConscript,
micropython feature list, and Rust Cargo features.

[no changelog]

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
Why it was queued
boot or update path
AI analysis · Informational 15/100

This commit is a straightforward build-system wiring change for the Trezor T3W1 hardware wallet. It enables a feature called USE_TOUCH_WAKEUP, which lets the device wake from a low-power suspend state when the touch screen is touched. The change only affects how firmware is compiled for specific T3W1 revisions and does not alter security-critical code, cryptographic operations, or user data handling. There is no indication this is a security fix or vulnerability patch.

Lower-priorityfeat(core): implement touch wakeup in ft3168 driver and wire into suspend/resumeby bleska · d0ce6a63 · May 20, 2026 · 6 filesMessage 85 · StrongInformational 21Details
Commit message · bleska

feat(core): implement touch wakeup in ft3168 driver and wire into suspend/resume

Add USE_TOUCH_WAKEUP-guarded g_touch_wakeup_enabled static outside the
driver struct so it survives touch_deinit() memset during suspend.

Pass touch_wakeup_enabled parameter to display_suspend/resume so the
display driver can choose between light-suspend (panel stays powered,
touch EXTI IRQ armed) and full deinit paths.

[no changelog]

85/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context
AI analysis · Informational 21/100

This commit adds a new power-saving feature for Trezor hardware wallets: the device can now optionally wake from suspend when the touchscreen is touched. It restructures how the display and touch drivers suspend and resume, choosing between a 'light sleep' path (screen stays powered, touch sensor stays armed) and a 'full shutdown' path. The change itself is a feature implementation, not a fix for a known vulnerability, and there is no direct evidence in the commit or references that it addresses a security bug.

Lower-priorityfeat(core): add tap-to-wake storage key and syscall interfaceby bleska · 391c3ff4 · May 20, 2026 · 4 filesMessage 62 · AdequateInformational 15Details
Commit message · bleska

feat(core): add tap-to-wake storage key and syscall interface

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

This commit adds a new user-facing setting called 'tap to wake' to the Trezor hardware wallet firmware. It lets users choose whether tapping the touchscreen wakes the device, and stores that preference in device memory. It also adds the low-level system calls needed for the firmware to turn the feature on or off. There is nothing in the commit that fixes a bug or addresses a security vulnerability.

Lower-priorityfeat(core): expose touch_wakeup_set/get_enabled to MicroPython via trezorio.touchby bleska · d0d5fcf4 · May 20, 2026 · 7 filesMessage 85 · StrongInformational 15Details
Commit message · bleska

feat(core): expose touch_wakeup_set/get_enabled to MicroPython via trezorio.touch

Add modtrezorio-touch module with touch_wakeup_set_enabled() and
touch_wakeup_get_enabled() bindings, guarded by USE_TOUCH_WAKEUP.
Export USE_TOUCH_WAKEUP constant from trezorutils.

[no changelog]

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

This commit simply adds a way for the device's Python code to ask whether the hardware supports waking from sleep by touch, and to turn that feature on or off. It is a normal feature-exposure change with no security bug visible in the diff.

Lower-prioritychore(cli): add docustring to `index_management`by Martin Pastyřík · 9cc5a3a1 · May 20, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · Martin Pastyřík

chore(cli): add docustring to `index_management`

[no changelog]

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

This commit only adds a help description (docstring) to an existing command-line option. No code behavior changed, so it has no security effect.

Lower-prioritychore(translations): blanking rules applied [no changelog]by Michal Kazda · 1dac9b8a · May 19, 2026 · 4 filesMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): blanking rules applied
[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
AI analysis · Informational 15/100

This commit is a routine translation update. It removes a few unused text strings, changes some translations to use per-device-style wording, and updates the internal offsets in generated translation tables. There is no code that handles secrets, cryptography, user authentication, or device commands being changed. It is not a security patch.

Lower-prioritychore(translations): update to blanking rules [no changelog]by Michal Kazda · 7b6a5a3c · May 19, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): update to blanking rules
[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
translation-only discount
AI analysis · Informational 15/100

This commit only updates a JSON file that controls which on-screen text strings are allowed to be left blank (untranslated) for different Trezor device screen layouts. It adds and reorganizes string identifiers so the translation-blanking rules match the latest user interface. There is no change to security logic, cryptography, or how the device handles secrets.

Lower-prioritychore(translations): remove unused strings [no changelog]by Michal Kazda · 21d2e1fd · May 19, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): remove unused strings
[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
translation-only discount
AI analysis · Informational 15/100

This commit simply removes four unused English translation text strings from a language file. There is no code change, no functional change, and no security relevance.

Lower-prioritychore(translations): smarter crowdin.py merge - replace /n/n with /n/r - skip English during merge [no changelog]by Michal Kazda · d7f9d3e6 · May 18, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · Michal Kazda

chore(translations): smarter crowdin.py merge
- replace /n/n with /n/r
- skip English during merge
[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
translation-only discount
AI analysis · Informational 15/100

This is a routine internal tooling change for managing translation files. It adjusts how translation text downloaded from the Crowdin service is cleaned up before being saved, and skips processing English-language 'translations' because they are empty and would overwrite the existing English file. There is no security relevance.

AI review queuedchore(translations): sync Crowdin translations [no changelog]by Michal Kazda · 4602c0c3 · May 18, 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 only updates translated text strings in Czech, German, Spanish, French, and Portuguese, plus the translation signature metadata. There are no code, logic, or security-related changes.

Security candidatechore(translations): update signatures fixtures and some strings - fixes a failing T3W1 test - other cs string adjustments [no changelog]by Michal Kazda · 9f5f454a · May 18, 2026 · 3 filesMessage 95 · StrongInformational 15Details
Commit message · Michal Kazda

chore(translations): update signatures fixtures and some strings
- fixes a failing T3W1 test
- other cs string adjustments
[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 boundarysigning or wallet path
AI analysis · Informational 15/100

This commit updates Czech translation strings and refreshes the digital signatures that authenticate those translations, plus updates expected test screenshots. There is no code change that affects security behavior, cryptography, or how the device protects secrets. It is a routine localization maintenance patch.

Lower-prioritychore(docs): update `OPTIONS.rst`by M1nd3r · 82f66421 · May 18, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · M1nd3r

chore(docs): update `OPTIONS.rst`

[no changelog]

57/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates a documentation file (OPTIONS.rst) to list two newly added command-line options. It does not change any executable code, cryptographic logic, or security-sensitive behavior. There is no security issue in the commit itself.

AI review queueddocs(core): update Trezor Core referencesby Roman Zeyde · a6eeac12 · May 17, 2026 · 2 filesMessage 72 · AdequateInformational 15Details
Commit message · Roman Zeyde

docs(core): update Trezor Core references

Also, add TS7 in `common/defs/README.md`

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

This commit only updates documentation text. It replaces the product name 'Trezor T' with 'Trezor Core' in two README/markdown files and adds a new device model code (T3W1 for Trezor Safe 7) to a support list. No code, logic, or security behavior is changed.

Lower-prioritychore(translations): updates to English strings - mainly adding periods where approprite for Delizia and Eckhart [no changelog]by Michal Kazda · 26f0f851 · May 15, 2026 · 4 filesMessage 85 · StrongInformational 15Details
Commit message · Michal Kazda

chore(translations): updates to English strings
- mainly adding periods where approprite for Delizia and Eckhart
[no changelog]

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

This commit only changes user-visible text strings in the Trezor firmware. It adds or removes periods and makes tiny wording tweaks (for example, 'Language changed successfully' became 'Language changed successfully.') for specific device themes called Delizia and Eckhart. There is no code behavior change, no new feature, and no security fix.

AI review queuedchore(common): add BTC signet definitionby Roman Zeyde · 73dd7733 · May 15, 2026 · 10 filesMessage 57 · ThinInformational 15Details
Commit message · Roman Zeyde

chore(common): add BTC signet definition

[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 adds support for Bitcoin Signet, a public testing network for Bitcoin, to Trezor firmware. It is a routine feature addition with no security-relevant code changes. The commit only adds a new coin definition, updates generated coin-info tables, and adjusts internal tooling to treat Signet like the existing Testnet and Regtest networks.

Lower-prioritychore(python): allow ignoring xpub magic in trezorctlby Roman Zeyde · 5976e757 · May 15, 2026 · 1 fileMessage 77 · AdequateInformational 18Details
Commit message · Roman Zeyde

chore(python): allow ignoring xpub magic in trezorctl

Output descriptors don't use ypub/zpubs.

[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
AI analysis · Informational 18/100

This commit adds a new command-line option to the Trezor Python tool (trezorctl) that lets users request a public key (xpub) without the usual version/magic bytes being adjusted for the specific coin and script type. This is described as a convenience for working with 'output descriptors', a modern Bitcoin wallet format. There is no direct security bug here; it is a feature change in a client-side utility.