TZ
← All projectsTrezor

Trezor firmware

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

BitcoinHardware walletsNormal
Repository coverage

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

932security candidates315second-pass queue2675AI analyses
320commits · 30 days
564commits · 60 days
1361commits · 180 days
2624commits · 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
490Strong · 80–100
1339Adequate · 60–79
869Thin · 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.
tychovrahe292104292461
Roman Zeyde587185580272
PrisionMike945994273
Andrew Kozlik782976267
obrusvit21376213164
Jakub Janků22919182
Martin Pastyřík24823173
cepetr19982196059
Ioan Bizău23076230059
M1nd3r21173208071
Lukas Bielesch846784067
Martin Milata18146176063
Analysis record

Published AI watches

Last scanned 28 minutes ago

Low 37 AI analysisMessage 100 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(core/fido): don't fail if `_KEEPALIVE_STATUS_PROCESSING` is blocked

This update fixes a bug in the Trezor hardware wallet's FIDO2/WebAuthn support. Previously, when the device was busy and tried to send a 'still processing' keepalive message to the computer, it would crash the whole FIDO operation if the U…

Denial-of-service hardening: prevents a transient USB buffer-full condition from aborting a FIDO authentication/registration workflowException boundary added around low-level USB HID writeChangelog explicitly frames the change as a fix for FIDO interaction failure
e7e15170by Roman Zeyde+12−62 files
No security note in commit
Informational 18 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): drop `USBIF.write_blocking()` and simplify FIDO2 keep-alive sending

This commit is a small internal cleanup in the Trezor hardware wallet's FIDO2 (WebAuthn) code. It removes an unused 'blocking write' USB function and replaces a general synchronous send routine with a simpler one that only sends one-byte '…

Removal of unused blocking USB write path reduces attack surfaceNo change to FIDO2 command parsing, signature generation, or credential storage logicNo bounds-checking or input-validation changes observed
f269eccdby Roman Zeyde+8−513 files
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

chore: remove libtropic's pin to develop branch

This commit removes a single line from the project's Git submodule configuration. It stops pinning the libtropic submodule to the 'develop' branch, meaning the project will now use the submodule's default branch (likely 'main' or 'master')…

8290eeefby M1nd3r+0−11 file
No security note in commit
Low 37 AI analysisMessage 70 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore(core/embed): clear temporary buffer across Optiga/Tropic calls

This is a hardening change for the random number generator inside Trezor hardware wallets. It makes sure that temporary memory holding secret random values from the Optiga and Tropic security chips is wiped immediately after use, rather th…

Sensitive intermediate buffer not cleared promptlyPotential stale-buffer reuse across RNG source boundariesDefense-in-depth memory sanitization for secure-element entropy
01ebda93by Roman Zeyde+2−21 file
No security note in commit
Informational 15 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

test(core/ethereum): EIP-7702 tuple nonce must be non-zero

This commit only changes test data and expected screen fingerprints for Trezor's Ethereum EIP-7702 signing tests. It replaces one test case that used a nonce of 0 with the same scenario using a nonce of 67, because the real-world protocol …

Test-only change with no production code modificationEIP-7702 tuple nonce constraint reflected in test dataExpected UI test hashes regenerated for renamed test vector
76cd2ed4by Roman Zeyde+28−282 files
No security note in commit
Informational 15 AI analysisMessage 72 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

test(core): drop an unused parameter of `make_payment_request()`

This commit only cleans up test code by removing an unused 'session' argument from a helper function used in automated tests. It does not change the actual Trezor firmware or any code that runs on the device, so it has no security impact f…

6dd19fdcby Roman Zeyde+0−188 files
No security note in commit
Informational 15 AI analysisMessage 67 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

docs(core): document rng_fill_buffer_strong_time()

This commit only adds a plain-English comment explaining an existing function that estimates how long a random-number generation call takes. No code behavior changed, and nothing was fixed or added that affects security.

c5687f76by Andrew Kozlik+11−01 file
No security note in commit
Low 44 AI analysisMessage 77 · Adequate
TZ TrezorTrezor firmware BitcoinHardware wallets

chore: guard against insecure PRNG in bare-metal build

This commit adds compile-time guards to prevent an intentionally insecure random-number generator from being accidentally included in firmware that runs directly on Trezor hardware. It does not fix an active bug, but it adds safety rails s…

Compile-time guard around insecure PRNGExplicit block of bare-metal / freestanding targetsExisting production-build guard already present
4f8f4586by Andrew Kozlik+11−01 file
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

build(core): propagate emulator feature from projects

This commit is a build-system cleanup for the Trezor firmware's Rust code. It changes how the 'emulator' feature flag is passed between different software components. The firmware project no longer supports the emulator feature (which make…

5642074cby matejcik+5−44 files
No security note in commit
Informational 15 AI analysisMessage 85 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

fix(build-docker): stop swallowing pub-bin copy errors

This change fixes a build script that was ignoring copy errors. Previously, the script would silently ignore any failure when copying public binary files, which could hide real problems. Now it only skips the copy when the file genuinely d…

Build script silently ignored copy failures before this fixFix removes unconditional `|| true` error suppressionKnown-benign missing files are now explicitly skipped with a file existence check
d829eda8by Andrew Kozlik+4−11 file
No security note in commit
Low 27 AI analysisMessage 93 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

refactor(core): digest EIP-1559/EIP-7702 magic without RLP encoding

This commit is a small internal cleanup in Trezor's Ethereum signing code. It changes how two special 'magic' bytes (the transaction type markers for newer Ethereum transaction formats) are fed into the cryptographic hash. Previously the c…

Refactor of cryptographic hashing path for Ethereum transaction signingRemoval of implicit assumption that RLP encodes small integers as single bytesChange affects EIP-1559 and EIP-7702 transaction type markers
2362bc6fby Roman Zeyde+6−32 files
No security note in commit
Informational 15 AI analysisMessage 98 · Strong
TZ TrezorTrezor firmware BitcoinHardware wallets

test(core): test RLP self-encoding bytestrings

This commit only adds a new unit test to the Trezor firmware codebase. It verifies that very short Ethereum RLP-encoded byte strings and small positive integers encode to themselves, which is a known property of the RLP specification. No p…

41538733by Roman Zeyde+16−01 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
TZ TrezorTrezor firmware BitcoinHardware wallets

docs: fix links outside book root

This commit only fixes broken or awkward documentation links inside the project's user guide. It replaces relative links that point outside the documentation folder with internal placeholder files or direct GitHub URLs. There is no change …

0d8d4b1bby Martin Milata+14−810 files
No security note in commit
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
Repository ledger

Explore captured commits

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

Lower-priorityfeat(core/ble): expose nRF authenticate to coreappby tychovrahe · 9e24c26c · Aug 26, 2025 · 10 filesMessage 62 · AdequateLow 36Details
Commit message · tychovrahe

feat(core/ble): expose nRF authenticate to coreapp

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

This commit exposes an existing Bluetooth security pairing/authentication function so it can be called by the main Trezor application (coreapp). It does not appear to fix a vulnerability; rather, it is a feature that lets the coreapp request authentication with the nRF Bluetooth chip. The change removes a compile-time restriction that previously limited the function to secure mode, adds a new system call, and adds a secure-monitor call for validating a pairing secret. Without additional context, this looks like a normal feature enabling secure Bluetooth pairing, not a security patch.

Lower-priorityfeat(core/ble): enable obtaining bond listby tychovrahe · aea19372 · Aug 26, 2025 · 9 filesMessage 57 · ThinInformational 22Details
Commit message · tychovrahe

feat(core/ble): enable obtaining bond list

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

This commit adds a new diagnostic command, 'ble-get-bonds', to Trezor's internal production-test firmware. It lets a factory technician read the list of Bluetooth devices previously paired with the device. The change is purely a feature addition for manufacturing/diagnostics; it does not, by itself, bypass pairing, steal funds, or change security settings. The main concern is that it exposes paired-device addresses (MAC addresses) through the production-test command-line interface, which could be a minor information-leak if the prodtest interface is accessible in the field.

Lower-priorityfeat(core/ble): expose nRF get version to coreappby tychovrahe · be23116b · Aug 26, 2025 · 5 filesMessage 57 · ThinInformational 18Details
Commit message · tychovrahe

feat(core/ble): expose nRF get version to coreapp

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

This commit adds a new system call that lets the main Trezor application read the firmware version of the nearby nRF Bluetooth chip. It is a small feature addition that exposes read-only version information; it does not, by itself, change how data is trusted or allow code execution.

Lower-priorityfeat(core/ble): expose get bond list to coreappby tychovrahe · 2e6bc4e9 · Aug 26, 2025 · 5 filesMessage 57 · ThinInformational 20Details
Commit message · tychovrahe

feat(core/ble): expose get bond list to coreapp

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

This commit adds a new system call that lets the Trezor core application read the list of Bluetooth devices the hardware has bonded with. It is a feature addition, not a fix. The code includes a memory-access check before copying the bond list into the caller's buffer, which is the expected defensive pattern for this firmware's syscall layer. There is no direct evidence in the commit that this is a security patch or that it addresses a known vulnerability.

Lower-priorityfix(core): fix battery model (remove characteristics affetcted by temperature transition).by kopecdav · 2d4e292f · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 13Details
Commit message · kopecdav

fix(core): fix battery model (remove characteristics affetcted by temperature transition).

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

This commit updates the battery fuel gauge calibration table for a specific Trezor battery model. It tweaks temperature points and the mathematical curves used to estimate charge level. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a hardware calibration/modeling correction. The title says it removes characteristics affected by temperature transition, suggesting an accuracy improvement rather than a security fix.

Lower-priorityfeat(core): fuel gauge parameter tweaks.by kopecdav · b67e965f · Aug 26, 2025 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · kopecdav

feat(core): fuel gauge parameter tweaks.

[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 adjusts internal tuning numbers for the battery fuel gauge in Trezor hardware wallets. It changes how the device estimates remaining battery charge, making the estimate smoother and less reactive. There is no indication this affects security, private keys, user data, or device integrity.

Lower-priorityfeat(core): update battery model with more temperature profiles.by kopecdav · c963477b · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · kopecdav

feat(core): update battery model with more temperature profiles.

[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 updates the battery fuel gauge calibration table for a specific Trezor battery model. It replaces 4 temperature data points with 8 more detailed temperature profiles and adjusts the mathematical curves used to estimate battery charge level. There is no indication this change affects security, cryptography, user funds, or device integrity.

Lower-priorityfeat(core): split temperature lookup tables for charging and discharging profile.by kopecdav · 150e73a2 · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · kopecdav

feat(core): split temperature lookup tables for charging and discharging profile.

[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 updates the battery fuel gauge code in Trezor hardware wallets so that it uses separate temperature lookup tables when the battery is charging versus when it is discharging. Previously, the same temperature table was used for both states. This is a routine calibration/modeling improvement, not a security fix.

Lower-priorityfeat(core): Update battery model from the completely characterized battery.by kopecdav · 0ee00107 · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · kopecdav

feat(core): Update battery model from the completely characterized battery.

[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 updates the battery fuel gauge calibration data for a specific Trezor hardware battery model. It changes temperature breakpoints and the mathematical coefficients used to estimate battery charge level from voltage readings. There is no indication this is a security fix; it appears to be a routine hardware characterization update.

Lower-priorityfeat(core): update fuel gauge ekf parameters setting.by kopecdav · f9c2d3ea · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · kopecdav

feat(core): update fuel gauge ekf parameters setting.

[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 adjusts the tuning values for the battery fuel gauge's estimation filter in a Trezor hardware wallet. It changes how aggressively the device trusts its battery sensor measurements versus its internal battery model. There is no indication this is a security fix or introduces a security issue; it appears to be a routine calibration tweak for more accurate battery reporting.

Security candidatefeat(core): generate SLIP-21 node for Evoluby obrusvit · 59343568 · Aug 26, 2025 · 22 filesMessage 57 · ThinLow 33Details
Commit message · obrusvit

feat(core): generate SLIP-21 node for Evolu

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
boot or update path
AI analysis · Low 33/100

This commit adds a new Trezor feature that lets users derive a special cryptographic key (a SLIP-21 node) for a third-party storage framework called Evolu. The device will show an on-screen confirmation before releasing the key. It is a feature addition, not a fix for a known vulnerability. The main security consideration is that any host application able to send the new message type can request this key, but only after the user confirms on the device. The key is tied to a fixed path ("TREZOR"/"Evolu"), so it cannot be used to steal cryptocurrency directly, but if a user is tricked into approving it, the key could be leaked to a malicious application.

Security candidatechore(core/eckhart): Increase top homelabel paddingby Lukas Bielesch · ae2932bf · Aug 26, 2025 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): Increase top homelabel padding

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

This commit is a purely cosmetic UI tweak for the Trezor hardware wallet. It increases the top padding of the home screen label from a theme-defined value to a fixed 38 pixels. There is no security relevance in the change itself.

Security candidatechore(core/eckhart): update homescreen action bar labelsby Lukas Bielesch · 480ca602 · Aug 26, 2025 · 7 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): update homescreen action bar labels

[no changelog]

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope! No meaningful explanatory body
Why it was queued
signing or wallet pathboot or update path
AI analysis · Informational 15/100

This commit only changes the text labels shown on the Trezor Safe 7 (Eckhart) home screen action bar. It replaces 'Tap to connect' with 'Tap to start' on the boot screen and 'Tap to unlock' with 'Unlock' on the lock screen, plus adds the new translation key and updates translation metadata. There is no security-relevant code change.

Security candidatechore(core/eckhart): align default homescreen and device menu labelby Lukas Bielesch · 0034ed28 · Aug 26, 2025 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): align default homescreen and device menu label

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

This is a cosmetic UI alignment change for the Trezor hardware wallet. It makes the default device name shown on the homescreen and in the device menu consistent by using the model's full name (e.g., 'Trezor Safe 5') instead of a hardcoded 'Trezor' fallback. It also tweaks text styling and reorders a translation entry. There is no security-relevant change.

Security candidatechore(core/eckhart): revision of string input FwUI functionby Lukas Bielesch · af33c610 · Aug 26, 2025 · 8 filesMessage 85 · StrongInformational 20Details
Commit message · Lukas Bielesch

chore(core/eckhart): revision of string input FwUI function

- rename LabelKeyboard to StringKeyboard
- remove request_string flow
- enable empty string input without confirmation
- enable cancel when input is empty
[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 20/100

This commit rewrites the on-screen keyboard used to type text into the Trezor Safe 5 (Eckhart layout). It renames the component, removes a separate confirmation screen for empty labels, lets users submit an empty string directly, and allows cancelling even when nothing has been typed. The change is described as a UI/UX cleanup, not a security fix. There is no direct evidence in the commit that it patches an exploitable vulnerability, but removing an extra confirmation step for empty device names slightly changes the safety surface around user input.

Lower-prioritychore(core): update fixturesby Lukas Bielesch · 9f6f0084 · Aug 26, 2025 · 1 fileMessage 47 · ThinInformational 15Details
Commit message · Lukas Bielesch

chore(core): update fixtures

[no changelog]

47/100 · ThinMessage clarity
✓ Descriptive subject✓ Uses a recognizable type or scope! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only updates a test data file (tests/ui_tests/fixtures.json) used to verify that the device's on-screen user interface matches expected screenshots. It adds new test cases for setting a device label to empty or maximum length, and refreshes many pre-computed visual hashes for an internal test model. There are no changes to the actual firmware code that runs on Trezor devices, so this commit cannot directly introduce a security vulnerability in shipped products.

Lower-prioritychore(core/eckhart): do not highlight labelby Lukas Bielesch · 9a118c5d · Aug 26, 2025 · 2 filesMessage 82 · StrongInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): do not highlight label

- add tests for setting label
[no changelog]

82/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Mentions testing or verification
AI analysis · Informational 15/100

This is a minor user-interface cleanup for the Trezor hardware wallet. It changes how a device label is shown on screen so the label text is no longer visually highlighted as a special parameter. There is no security issue or vulnerability here.

Security candidatechore(core/eckhart): fix pin UI deviationsby Lukas Bielesch · 4beedab0 · Aug 26, 2025 · 14 filesMessage 80 · StrongInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): fix pin UI deviations

- new boolean param for the last attempt
- update style of attempt prompt
- proper placement of the last digit
- proper alignment of the shown pin
[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
access controlcryptography-sensitive pathboot or update pathauthentication path
AI analysis · Informational 15/100

This commit is a routine user-interface polish change for the PIN entry screen on Trezor hardware wallets. It renames an internal parameter from 'subprompt' to 'attempts', adds a new flag so the screen can visually highlight the final PIN attempt, and fixes text alignment and spacing. There is no indication this change fixes a security vulnerability or introduces one.

Security candidatechore(core/eckhart): fix mnemonic UI deviationsby Lukas Bielesch · cb7a05a6 · Aug 26, 2025 · 9 filesMessage 80 · StrongInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): fix mnemonic UI deviations

- proper alignment of the mnemonics within pad
- update style and placement of the word prompt
- add the main prompt
- proper placement of the last digit
[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
cryptography-sensitive pathsigning or wallet pathboot or update path
AI analysis · Informational 15/100

This commit is a cosmetic user-interface fix for the Trezor hardware wallet's new 'Eckhart' layout. It adjusts how recovery seed words are displayed on screen—text alignment, prompt placement, and spacing—without changing any security logic, cryptography, or how secrets are handled.

Security candidatechore(core/eckhart): fix passphrase UI deviationsby Lukas Bielesch · 7aa310ab · Aug 26, 2025 · 1 fileMessage 80 · StrongInformational 14Details
Commit message · Lukas Bielesch

chore(core/eckhart): fix passphrase UI deviations

- update style of the prompt
- proper placement of the last character
- proper alignment of the shown passphrase
[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
access controlboot or update pathauthentication path
AI analysis · Informational 14/100

This commit fixes visual layout glitches in the passphrase entry screen on a specific Trezor device model (Eckhart). It adjusts prompt spacing, text alignment, and the placement of the last typed character. There is no indication this changes security behavior or introduces a vulnerability.

Security candidatefix(core/bootloader): do not disconnect BLE when rebooting to firmwareby tychovrahe · 5eec9ca0 · Aug 26, 2025 · 4 filesMessage 62 · AdequateLow 25Details
Commit message · tychovrahe

fix(core/bootloader): do not disconnect BLE when rebooting to firmware

[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
update trustboot or update path
AI analysis · Low 25/100

This commit changes how the Trezor hardware wallet's Bluetooth Low Energy (BLE) connection behaves when the device reboots from the bootloader into the main firmware. Previously, the bootloader would shut down BLE entirely during this handoff, forcing the user to reconnect. Now it tries to keep the existing BLE connection alive across the reboot. This is a user-experience and availability fix rather than a security patch, but it slightly alters the attack surface during a sensitive transition.

Security candidatechore(core/eckhart): update device menu security settingsby Lukas Bielesch · 1fa9f894 · Aug 26, 2025 · 17 filesMessage 82 · StrongLow 30Details
Commit message · Lukas Bielesch

chore(core/eckhart): update device menu security settings

- add new submenus for pin and wipe code

82/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides an explanatory body✓ Names security-relevant behavior explicitly
Why it was queued
access controlsigning or wallet pathboot or update pathauthentication path
AI analysis · Low 30/100

This commit wires up the on-device settings menu for a new Trezor hardware-wallet UI (the 'Eckhart' layout). It adds menu entries that let the user change or remove their PIN and wipe code, set auto-lock delay, and check their backup. The change is mostly UI plumbing: it connects existing security-management code to new menu items and adds translated labels. There is no obvious security bug in the diff, but it is a partial implementation (other TODOs remain) and the code now exposes sensitive actions through a new menu surface.

Security candidatechore(core/eckhart): add device menu notification entriesby Lukas Bielesch · 548fb59b · Aug 26, 2025 · 8 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): add device menu notification entries

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

This commit adds new notification entries and warning styles to the device menu on the Trezor hardware wallet. It is a routine user-interface feature patch: it introduces a 'PIN not set' reminder, changes the visual style of a failed-backup warning, and wires the failed-backup menu item to a device-wipe confirmation prompt. There is no evidence of a security vulnerability being fixed.

Security candidatechore(core/eckhart): add device menu bluetooth settingby Lukas Bielesch · b19fbc6f · Aug 26, 2025 · 8 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): add device menu bluetooth setting

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

This commit adds a Bluetooth on/off menu item to the device settings screen for the upcoming Trezor Safe 7 (Eckhart layout). It is purely a user-interface change: it shows a label and a confirmation prompt, but the actual Bluetooth enable/disable logic is left as a TODO and does nothing. There is no security fix or security-relevant behavior change.

Security candidatechore(core/eckhart): update device menu device settingsby Lukas Bielesch · 231dcb90 · Aug 26, 2025 · 2 filesMessage 62 · AdequateInformational 15Details
Commit message · Lukas Bielesch

chore(core/eckhart): update device menu device settings

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

This commit is a routine UI update for the Trezor hardware wallet's device menu. It wires up previously placeholder settings (screen brightness, haptic feedback) and adds a 'Wipe device' option to the menu. There is no security fix or vulnerability visible in the change.