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.
Message quality measures whether a commit identifies its scope, purpose, rationale, testing, and supporting references. It does not change the security-severity score.
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
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
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.
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 …
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
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
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
This commit only updates test data. It corrects the capitalization (checksum) of Ethereum addresses used in automated tests and refreshes the expected screen-shot hashes those tests compare against. There are no changes to the actual Trezo…
This commit changes the Trezor Python library so that, when setting up a Trezor Model One (the original Trezor 1 device), it now performs an entropy check by default if the device runs firmware 1.13.1 or newer. Previously, the library only…
Enables a previously disabled security/validation feature (entropy check) for a specific device modelAdds version-gated behavior to avoid errors on older firmwareDefensive hardening of wallet setup randomness verification
This commit is a routine cleanup that removes the old SCons build system files from the Trezor Core firmware repository. It deletes Makefiles, SConscripts, and related Python helper scripts, but does not change any firmware source code, cr…
This commit updates Trezor's embedded MicroPython interpreter from an older version to 1.28.0. It pulls in several upstream MicroPython bug fixes, including stricter buffer-size checks for converting integers to bytes, a new stack-safety A…
Synchronizes upstream MicroPython fixes that include buffer-size and stack-safety hardeningPrevents Ctrl+C interruption of frozen boot code, reducing denial-of-service/control-flow risk during bootFixes sys.stdout.buffer.write() return value, which could affect code relying on correct I/O semantics
This commit is a simple code cleanup that replaces a common MicroPython string-creation pattern with a new helper function. It does not change what the code does, only how it is written. There is no security issue visible in the change.
This is a large but straightforward internal cleanup: the project switched from using the MicroPython `ubinascii` module's `hexlify`/`unhexlify` functions to the standard Python `bytes.hex()` and `bytes.fromhex()` methods. The change remov…
This commit is a routine code cleanup in the Trezor firmware's embedded MicroPython modules. It replaces an older, two-step object allocation pattern with a newer helper that allocates memory and sets the object type in one step. The chang…
No security-relevant logic changes observedNo input validation changesNo memory safety bug fixes (e.g., no overflow, use-after-free, or uninitialized memory fixes)
This commit is a routine maintenance refactor. MicroPython removed its built-in 'utimeq' module, so Trezor copied the same code into its own firmware tree and renamed it to 'timeq'. There is no security bug being fixed and no new vulnerabi…
This is a code cleanup change in Trezor's firmware that swaps one MicroPython internal helper for another. It replaces calls that create byte or string objects from a vstr buffer with newer, purpose-built helpers. The commit message says t…
Refactor only: helper function renames with equivalent semanticsNew str helper adds UTF-8 validation; bytes helper does not validateNo input validation, length, or error-handling changes observed
This commit is a routine internal cleanup that switches how Trezor's firmware defines built-in MicroPython object types. It replaces older, manually-written type structures with a newer macro provided by the upstream MicroPython project. T…
This commit is a straightforward internal code refactor. It adds a small C wrapper file so that Rust code can call two specific internal MicroPython functions that are declared as static/inline in headers. There is no user-facing change, n…
This commit is a routine build-system update for the Trezor firmware. It changes where the build process looks for the MicroPython cross-compiler binary (mpy-cross) and synchronizes a configuration header with newer MicroPython code. There…
This commit updates the Trezor firmware build system to use a newer MicroPython mechanism for tracking special memory pointers called 'root pointers.' It removes hard-coded lists of these pointers from configuration files and instead colle…
GC root pointer handling changedBuild system now auto-collects root pointers instead of hard-coding themRemoves manual MICROPY_PORT_ROOT_POINTERS lists
feat(core): add T3W1 touch wakeup emulation support
- Enable USE_SUSPEND and USE_TOUCH_WAKEUP defines in T3W1 emulator - Guard mouse events behind USE_TOUCH_WAKEUP in pm_suspend() SDL loop - Respect touch_wakeup_get_enabled() state; ignore mouse clicks when tap-to-wake is disabled so the emulator stays suspended correctly
[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 adds emulator-only support for a new Trezor device (T3W1) to wake from a simulated low-power sleep state when the user taps the emulated touchscreen. It only affects the software emulator build, not real hardware, and does not change how secrets or user data are handled. There is no indication this is a security fix.
It was fixed according to: https://github.com/trezor/trezor-hardware/blob/master/electronics/trezor_safe_7/ts7_main_rev_d_sch.pdf This pin has not been used so far.
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
access control
AI analysis · Informational 15/100
This commit corrects the wrong GPIO pin assignment for the interrupt line of the Tropic01 secure chip on Trezor T3W1 hardware revisions A, B, and C. Previously the interrupt pin was set to the same pin as the power-control line, which does not match the hardware schematic. The commit message says this interrupt pin has not been used so far, so the practical security impact appears low.
Security candidatechore: update release dateby Ioan Bizău · 6a412b5f · May 22, 2026 · 7 filesMessage 62 · AdequateInformational 15Details
Commit message · Ioan Bizău
chore: update release date
(cherry picked from commit 9422efd641485a0c3400d8ab9185a9683f18b969)
62/100 · AdequateMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope✓ Provides an explanatory body
Why it was queued
boot or update pathdocumentation-only discount
AI analysis · Informational 15/100
This commit only changes release dates in seven changelog files, moving the stated release date from 21 May 2026 to 14 May 2026. No executable code, configuration, or security-related content is modified.
This reverts commit 9422efd641485a0c3400d8ab9185a9683f18b969.
(cherry picked from commit 383fb7c44525925d50cd08ac3f6c990c40384919)
68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context
Why it was queued
boot or update pathdocumentation-only discount
AI analysis · Informational 15/100
This commit simply changes release dates in seven changelog files from 14 May 2026 back to 21 May 2026. It is a reversion of an earlier date-change commit. There is no code change and no security relevance.
Security candidatechore: update signed T3W1 bootloaderby Ioan Bizău · 34712413 · May 22, 2026 · 2 filesMessage 72 · AdequateInformational 3Details
Commit message · Ioan Bizău
chore: update signed T3W1 bootloader
Built from 396ba43
(cherry picked from commit f452da4d8be26500e109a1396c392eb308238fd9)
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
update trustboot or update path
AI analysis · Informational 3/100
This commit replaces the signed bootloader binary for the Trezor T3W1 hardware wallet model and updates the matching cryptographic hash list. The change is a routine version bump from bootloader version 2.1.16.0 to 2.1.17.0. The commit message and diff provide no information about why the bootloader was rebuilt or whether any security issue was fixed. Because the actual bootloader binary is a compiled blob, its contents cannot be reviewed from this diff alone.
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.
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 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
✓ 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.
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.
Security candidatebuild: prevent uv from using packages newer than 30 daysby matejcik · b4b7f5cf · May 14, 2026 · 6 filesMessage 98 · StrongLow 30Details
Commit message · matejcik
build: prevent uv from using packages newer than 30 days
- Limits exposure of the repo to supply chain compromise -- as long as you use uv. - Downgraded Mako (path traversal vulnerability is irrelevant for us). - If a relevant security is available, we'll have to whitelist that package -- use `exclude-newer-package` (https://docs.astral.sh/uv/reference/settings/#exclude-newer-package). - Switched buildsystem declaration from hatchling to flit everywhere.
[no changelog]
98/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✓ Names security-relevant behavior explicitly
Why it was queued
explicit security languageupdate trust
AI analysis · Low 30/100
This commit is a hardening change to Trezor's build tooling. It tells the Python package manager 'uv' not to use any package uploaded to PyPI in the last 30 days, which reduces the risk of accidentally pulling in a freshly compromised dependency. It also downgrades the 'Mako' template library from 1.3.12 to 1.3.10 and switches the build system from 'hatchling' to 'flit' in several sub-projects. The commit message explicitly says the goal is to limit supply-chain compromise exposure.
Security candidatefeat(ethereum): clear signing support for nested array and byte32by PrisionMike · ba620e9a · May 14, 2026 · 7 filesMessage 62 · AdequateLow 28Details
Commit message · PrisionMike
feat(ethereum): clear signing support for nested array and byte32
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 28/100
This commit adds support in Trezor's Ethereum 'clear signing' feature for two new data shapes: nested arrays (arrays inside arrays) and fixed 32-byte values (bytes32). It also renames an internal helper function from `_request_definitions` to `request_definitions`. The changes are framed as a normal feature addition with no changelog entry. There is no direct evidence in the commit that this fixes a security vulnerability, but any change to transaction parsing logic can affect how the device interprets maliciously crafted data.
This commit is a code cleanup, not a security fix. It creates a new, more specific error type called AuthenticationError and changes AES-GCM and ChaCha20-Poly1305 decryption to throw that error instead of a generic RuntimeError when authentication fails. It also updates the Python code that catches those errors to catch the new type. The cryptographic behavior itself is unchanged.
Security candidaterefactor(core, crypto): extract `consteq` for general useby M1nd3r · 1b051d71 · May 14, 2026 · 4 filesMessage 62 · AdequateInformational 12Details
Commit message · M1nd3r
refactor(core, crypto): extract `consteq` for general use
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathboot or update path
AI analysis · Informational 12/100
This commit adds a new utility function called `consteq` that compares two chunks of memory in a way that takes the same amount of time regardless of how similar the chunks are. It is intended to help prevent timing-based attacks in the future, but the commit itself only extracts and compiles the helper; it does not change any existing security-sensitive comparison or fix a known vulnerability.
Security candidatechore(core): add consteq check directly into aesgcm.finish when decryptingby M1nd3r · 4e0245cc · May 14, 2026 · 3 filesMessage 62 · AdequateLow 47Details
Commit message · M1nd3r
chore(core): add consteq check directly into aesgcm.finish when decrypting
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Low 47/100
This commit hardens how Trezor devices verify AES-GCM authentication tags during decryption. Previously, callers computed the tag and then compared it separately using a constant-time helper. Now the comparison is performed inside the cryptographic finish routine itself, using a constant-time equality check. This reduces the risk that a future caller forgets to verify the tag or uses a non-constant-time comparison, which could allow an attacker to tamper with encrypted messages or recover secrets through timing analysis.
✓ 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
cryptography-sensitive path
AI analysis · Informational 12/100
This commit only changes Python unit tests for the AES-GCM cryptography code in the Trezor firmware. It updates existing tests to pass an expected authentication tag to the finish() method and adds new tests that check the code correctly rejects missing, wrong-length, or invalid tags. There is no change to the actual cryptographic implementation or firmware behavior, so this commit does not introduce or fix a live security vulnerability by itself.
test(core): adjust chacha20poly1305 python unit 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
cryptography-sensitive path
AI analysis · Informational 15/100
This commit only changes Python unit tests for the ChaCha20-Poly1305 encryption code in the Trezor firmware test suite. It does not modify the actual cryptographic implementation, device firmware, or any production code. The changes add test cases to verify that decryption correctly requires and validates the authentication tag (MAC). There is no security vulnerability in this commit itself.
Security candidatechore(core): add consteq check directly into chachapoly.finish when decryptingby M1nd3r · f4fa0d1d · May 14, 2026 · 3 filesMessage 62 · AdequateModerate 59Details
Commit message · M1nd3r
chore(core): add consteq check directly into chachapoly.finish when decrypting
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathauthentication path
AI analysis · Moderate 59/100
This commit hardens how a Trezor hardware wallet checks the authentication tag when decrypting data protected by the ChaCha20-Poly1305 cipher. Previously, the Python caller compared the expected tag with the computed tag using a helper called utils.consteq. Now the comparison is done inside the low-level C module using a constant-time equality function, and decryption callers must pass the expected tag directly to finish(). This reduces the risk of a developer forgetting to verify the tag or using a non-constant-time comparison, which could let an attacker tamper with encrypted secrets.
Security candidatechore(core): divide `chacha20poly1305` into `_encrypt` and `_decrypt` classesby M1nd3r · 1943c481 · May 14, 2026 · 10 filesMessage 62 · AdequateInformational 15Details
Commit message · M1nd3r
chore(core): divide `chacha20poly1305` into `_encrypt` and `_decrypt` classes
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathauthentication path
AI analysis · Informational 15/100
This commit is a routine code cleanup (chore) that splits one combined ChaCha20-Poly1305 encryption/decryption class into two separate classes: one for encryption and one for decryption. It does not fix a security bug, add a new feature, or change cryptographic behavior. All existing callers are updated to use the appropriate new class. The change is purely structural and makes the API clearer.
Security candidatechore(core): divide aesgcm into `aesgcm_encrypt` and `aesgcm_decrypt`by M1nd3r · a039d47d · May 14, 2026 · 9 filesMessage 62 · AdequateInformational 12Details
Commit message · M1nd3r
chore(core): divide aesgcm into `aesgcm_encrypt` and `aesgcm_decrypt`
[no changelog]
62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
cryptography-sensitive path
AI analysis · Informational 12/100
This commit is a routine code cleanup that splits one combined AES-GCM encryption/decryption class into two separate classes: one for encryption and one for decryption. It does not fix a security bug or introduce a new vulnerability. The change makes the API clearer and prevents accidental misuse, such as trying to decrypt with an encryption-only object.
Security candidatefix(core): don't access TR in global contextby Roman Zeyde · 46a0a87f · May 13, 2026 · 1 fileMessage 84 · StrongInformational 18Details
Commit message · Roman Zeyde
fix(core): don't access TR in global context
Otherwise, "Enter PIN" is shown in English on bootscreen.
[no changelog]
84/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Explains rationale or failure mode
Why it was queued
authentication path
AI analysis · Informational 18/100
This is a tiny user-interface bug fix. It moves a translation lookup so that the 'Enter PIN' message is shown in the correct language on the boot screen instead of always appearing in English. There is no security vulnerability here.
* move Construct helpers to a separate module * move `ui` into `cli` now that nothing in the core library depends on it
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
boot or update path
AI analysis · Informational 15/100
This is a routine code reorganization in the Python trezorlib library. It moves two helper classes into a new module and moves a user-interface file into the command-line interface package. No security-sensitive behavior is changed, no bugs are fixed, and no vulnerabilities are introduced.