What changed, and why it matters
This commit only rewords user-facing text in the Trezor firmware. It replaces the technical word 'host' with friendlier terms like 'app', 'connected device', or 'connection' across on-screen messages, translations, and test snapshots. There is no change to security logic, permissions, or behavior.
No security action needed. This is a cosmetic wording change. Treat as a normal UI/UX commit.
Security signals we found
No strong security signals were identified.
Evidence from the diff
The diff is a pure string-label refactor. It updates translation keys/values (e.g., ‘host’ → ‘connected app’, ‘Waiting for host…’ → ‘Waiting for connection…’), removes the unused ‘thp__continue_on_host’ translation key, updates generated Rust translation tables and mock files, and refreshes UI test fixture hashes to match the new rendered text. No code paths, protocol handling, authentication, cryptography, or access control are modified.
Changed components
core/translations/*.jsoncore/embed/rust/src/translations/generated/translated_string.rscore/mocks/trezortranslate_keys.pyicore/embed/rust/src/ui/layout_eckhart/*tests/ui_tests/fixtures.jsonInspect captured patch +69 / −113
diff --git a/core/embed/rust/librust_qstr.h b/core/embed/rust/librust_qstr.h
index c0f5ac09..0a5f26f4 100644
--- a/core/embed/rust/librust_qstr.h
+++ b/core/embed/rust/librust_qstr.h
@@ -868,7 +868,6 @@ static void _librust_qstrs(void) {
MP_QSTR_thp__connect;
MP_QSTR_thp__connect_app;
MP_QSTR_thp__connect_title;
- MP_QSTR_thp__continue_on_host;
MP_QSTR_thp__nfc_text;
MP_QSTR_thp__pair;
MP_QSTR_thp__pair_app;
diff --git a/core/embed/rust/src/translations/generated/translated_string.rs b/core/embed/rust/src/translations/generated/translated_string.rs
index 19652e83..5b54b39b 100644
--- a/core/embed/rust/src/translations/generated/translated_string.rs
+++ b/core/embed/rust/src/translations/generated/translated_string.rs
@@ -25,7 +25,7 @@ pub enum TranslatedString {
address_details__derivation_path_colon = 10, // "Derivation path:"
address_details__title_receive_address = 11, // "Receive address"
address_details__title_receiving_to = 12, // "Receiving to"
- authenticate__confirm_template = 13, // "Allow connected computer to confirm your {0} is genuine?"
+ authenticate__confirm_template = 13, // "Allow connected app to check the authenticity of your {0}?"
authenticate__header = 14, // "Authenticate device"
auto_lock__change_template = 15, // "Auto-lock Trezor after {0} of inactivity?"
auto_lock__title = 16, // {"Bolt": "Auto-lock delay", "Caesar": "Auto-lock delay", "Delizia": "Auto-lock delay", "Eckhart": "Auto-lock"}
@@ -690,9 +690,9 @@ pub enum TranslatedString {
nem__unknown_mosaic = 431, // "Unknown mosaic!"
passphrase__access_wallet = 432, // "Access passphrase wallet?"
passphrase__always_on_device = 433, // "Always enter your passphrase on Trezor?"
- passphrase__from_host_not_shown = 434, // "Passphrase provided by host will be used but will not be displayed due to the device settings."
+ passphrase__from_host_not_shown = 434, // "Passphrase provided by connected app will be used but will not be displayed due to the device settings."
passphrase__wallet = 435, // "Passphrase wallet"
- passphrase__hide = 436, // {"Bolt": "Hide passphrase coming from host?", "Caesar": "Hide passphrase coming from host?", "Delizia": "Hide passphrase coming from host?", "Eckhart": "Hide your passphrase on Trezor entered on host device?"}
+ passphrase__hide = 436, // {"Bolt": "Hide passphrase coming from app?", "Caesar": "Hide passphrase coming from app?", "Delizia": "Hide passphrase coming from app?", "Eckhart": "Hide your passphrase on Trezor entered on connected app?"}
passphrase__next_screen_will_show_passphrase = 437, // "The next screen shows your passphrase."
passphrase__please_enter = 438, // "Please enter your passphrase."
passphrase__revoke_on_device = 439, // "Do you want to revoke the passphrase on device setting?"
@@ -1518,10 +1518,10 @@ pub enum TranslatedString {
ble__limit_reached = 1128, // "Limit of paired devices reached"
ble__forget_all_description = 1129, // "They'll be removed, and you'll need to pair them again before use."
ble__forget_all_devices = 1130, // "Forget all devices?"
- ble__forget_all_success = 1131, // "All hosts removed."
+ ble__forget_all_success = 1131, // "All connections removed."
ble__forget_this_description = 1132, // "It will be removed, and you'll need to pair it again before use."
ble__forget_this_device = 1133, // "Forget this device?"
- ble__forget_this_success = 1134, // "Host removed."
+ ble__forget_this_success = 1134, // "Connection removed."
thp__autoconnect = 1135, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Allow {0} to connect automatically to this Trezor?"}
thp__autoconnect_app = 1136, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Allow {0} on {1} to connect automatically to this Trezor?"}
thp__connect = 1137, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Allow {0} to connect with this Trezor?"}
@@ -1537,7 +1537,6 @@ pub enum TranslatedString {
thp__qr_title = 1147, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Scan QR code to pair"}
ble__pairing_match = 1148, // "Pairing code match?"
ble__pairing_title = 1149, // "Bluetooth pairing"
- thp__continue_on_host = 1150, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Continue on host"}
thp__pair_name = 1151, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "{0} is your Trezor's name."}
thp__pair_new_device = 1152, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Pair with new device"}
tutorial__power = 1153, // "Use the power button on the side to turn your device on or off."
@@ -1548,11 +1547,11 @@ pub enum TranslatedString {
wipe_code__pin_not_set_description = 1158, // "PIN must be set before enabling wipe code."
wipe_code__cancel_setup = 1159, // {"Bolt": "Cancel wipe code setup", "Caesar": "Cancel wipe code setup", "Delizia": "Cancel wipe code setup", "Eckhart": "Cancel wipe code setup?"}
homescreen__backup_needed_info = 1160, // "Open Trezor Suite and create a wallet backup. This is the only way to recover access to your assets."
- ble__host_info = 1161, // "Host info"
+ ble__host_info = 1161, // "Connection info"
ble__mac_address = 1162, // "MAC address"
- ble__waiting_for_host = 1163, // "Waiting for host..."
+ ble__waiting_for_host = 1163, // "Waiting for connection..."
ble__apps_connected = 1164, // "Apps connected"
- sn__action = 1165, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Allow connected host to get serial number of your Trezor Safe 7?"}
+ sn__action = 1165, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Allow connected device to get serial number of your Trezor Safe 7?"}
sn__title = 1166, // {"Bolt": "", "Caesar": "", "Delizia": "", "Eckhart": "Serial number"}
ble__must_be_enabled = 1167, // "The Bluetooth must be turned on to pair with a new device."
}
@@ -1572,7 +1571,7 @@ impl TranslatedString {
(Self::address_details__derivation_path_colon, "Derivation path:"),
(Self::address_details__title_receive_address, "Receive address"),
(Self::address_details__title_receiving_to, "Receiving to"),
- (Self::authenticate__confirm_template, "Allow connected computer to confirm your {0} is genuine?"),
+ (Self::authenticate__confirm_template, "Allow connected app to check the authenticity of your {0}?"),
(Self::authenticate__header, "Authenticate device"),
(Self::auto_lock__change_template, "Auto-lock Trezor after {0} of inactivity?"),
#[cfg(feature = "layout_bolt")]
@@ -2327,16 +2326,16 @@ impl TranslatedString {
(Self::nem__unknown_mosaic, "Unknown mosaic!"),
(Self::passphrase__access_wallet, "Access passphrase wallet?"),
(Self::passphrase__always_on_device, "Always enter your passphrase on Trezor?"),
- (Self::passphrase__from_host_not_shown, "Passphrase provided by host will be used but will not be displayed due to the device settings."),
+ (Self::passphrase__from_host_not_shown, "Passphrase provided by connected app will be used but will not be displayed due to the device settings."),
(Self::passphrase__wallet, "Passphrase wallet"),
#[cfg(feature = "layout_bolt")]
- (Self::passphrase__hide, "Hide passphrase coming from host?"),
+ (Self::passphrase__hide, "Hide passphrase coming from app?"),
#[cfg(feature = "layout_caesar")]
- (Self::passphrase__hide, "Hide passphrase coming from host?"),
+ (Self::passphrase__hide, "Hide passphrase coming from app?"),
#[cfg(feature = "layout_delizia")]
- (Self::passphrase__hide, "Hide passphrase coming from host?"),
+ (Self::passphrase__hide, "Hide passphrase coming from app?"),
#[cfg(feature = "layout_eckhart")]
- (Self::passphrase__hide, "Hide your passphrase on Trezor entered on host device?"),
+ (Self::passphrase__hide, "Hide your passphrase on Trezor entered on connected app?"),
(Self::passphrase__next_screen_will_show_passphrase, "The next screen shows your passphrase."),
(Self::passphrase__please_enter, "Please enter your passphrase."),
(Self::passphrase__revoke_on_device, "Do you want to revoke the passphrase on device setting?"),
@@ -3388,10 +3387,10 @@ impl TranslatedString {
(Self::ble__limit_reached, "Limit of paired devices reached"),
(Self::ble__forget_all_description, "They'll be removed, and you'll need to pair them again before use."),
(Self::ble__forget_all_devices, "Forget all devices?"),
- (Self::ble__forget_all_success, "All hosts removed."),
+ (Self::ble__forget_all_success, "All connections removed."),
(Self::ble__forget_this_description, "It will be removed, and you'll need to pair it again before use."),
(Self::ble__forget_this_device, "Forget this device?"),
- (Self::ble__forget_this_success, "Host removed."),
+ (Self::ble__forget_this_success, "Connection removed."),
#[cfg(feature = "layout_bolt")]
(Self::thp__autoconnect, ""),
#[cfg(feature = "layout_caesar")]
@@ -3499,14 +3498,6 @@ impl TranslatedString {
(Self::ble__pairing_match, "Pairing code match?"),
(Self::ble__pairing_title, "Bluetooth pairing"),
#[cfg(feature = "layout_bolt")]
- (Self::thp__continue_on_host, ""),
- #[cfg(feature = "layout_caesar")]
- (Self::thp__continue_on_host, ""),
- #[cfg(feature = "layout_delizia")]
- (Self::thp__continue_on_host, ""),
- #[cfg(feature = "layout_eckhart")]
- (Self::thp__continue_on_host, "Continue on host"),
- #[cfg(feature = "layout_bolt")]
(Self::thp__pair_name, ""),
#[cfg(feature = "layout_caesar")]
(Self::thp__pair_name, ""),
@@ -3537,9 +3528,9 @@ impl TranslatedString {
#[cfg(feature = "layout_eckhart")]
(Self::wipe_code__cancel_setup, "Cancel wipe code setup?"),
(Self::homescreen__backup_needed_info, "Open Trezor Suite and create a wallet backup. This is the only way to recover access to your assets."),
- (Self::ble__host_info, "Host info"),
+ (Self::ble__host_info, "Connection info"),
(Self::ble__mac_address, "MAC address"),
- (Self::ble__waiting_for_host, "Waiting for host..."),
+ (Self::ble__waiting_for_host, "Waiting for connection..."),
(Self::ble__apps_connected, "Apps connected"),
#[cfg(feature = "layout_bolt")]
(Self::sn__action, ""),
@@ -3548,7 +3539,7 @@ impl TranslatedString {
#[cfg(feature = "layout_delizia")]
(Self::sn__action, ""),
#[cfg(feature = "layout_eckhart")]
- (Self::sn__action, "Allow connected host to get serial number of your Trezor Safe 7?"),
+ (Self::sn__action, "Allow connected device to get serial number of your Trezor Safe 7?"),
#[cfg(feature = "layout_bolt")]
(Self::sn__title, ""),
#[cfg(feature = "layout_caesar")]
@@ -4939,7 +4930,6 @@ impl TranslatedString {
(Qstr::MP_QSTR_thp__connect, Self::thp__connect),
(Qstr::MP_QSTR_thp__connect_app, Self::thp__connect_app),
(Qstr::MP_QSTR_thp__connect_title, Self::thp__connect_title),
- (Qstr::MP_QSTR_thp__continue_on_host, Self::thp__continue_on_host),
(Qstr::MP_QSTR_thp__nfc_text, Self::thp__nfc_text),
(Qstr::MP_QSTR_thp__pair, Self::thp__pair),
(Qstr::MP_QSTR_thp__pair_app, Self::thp__pair_app),
diff --git a/core/embed/rust/src/ui/layout_eckhart/bootloader/connect.rs b/core/embed/rust/src/ui/layout_eckhart/bootloader/connect.rs
index 353043f0..e13a7e93 100644
--- a/core/embed/rust/src/ui/layout_eckhart/bootloader/connect.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/bootloader/connect.rs
@@ -36,7 +36,10 @@ impl ConnectScreen {
Self {
header: None,
- message: Label::left_aligned("Waiting for host...".into(), theme::TEXT_NORMAL),
+ message: Label::left_aligned(
+ "Waiting for connected device...".into(),
+ theme::TEXT_NORMAL,
+ ),
action_bar: BldActionBar::new_single(btn),
screen_border: None,
}
diff --git a/core/embed/rust/src/ui/layout_eckhart/bootloader/pairing_finalization.rs b/core/embed/rust/src/ui/layout_eckhart/bootloader/pairing_finalization.rs
index 54baf4a3..8788d065 100644
--- a/core/embed/rust/src/ui/layout_eckhart/bootloader/pairing_finalization.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/bootloader/pairing_finalization.rs
@@ -36,7 +36,7 @@ impl PairingFinalizationScreen {
Self {
header: BldHeader::new("Bluetooth pairing".into()),
message: Label::left_aligned(
- "Waiting for confirmation on host device.".into(),
+ "Waiting for Bluetooth pairing confirmation on your other device.".into(),
theme::TEXT_NORMAL,
),
action_bar: BldActionBar::new_single(btn),
diff --git a/core/embed/rust/src/ui/layout_eckhart/ui_bootloader.rs b/core/embed/rust/src/ui/layout_eckhart/ui_bootloader.rs
index a36d9ac0..b434b0ef 100644
--- a/core/embed/rust/src/ui/layout_eckhart/ui_bootloader.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/ui_bootloader.rs
@@ -362,7 +362,7 @@ impl BootloaderUI for UIEckhart {
))
.with_header(BldHeader::new(title_str.as_str().into()).with_menu_button())
.with_action_bar(BldActionBar::new_single(
- Button::with_text("Connect to host device".into()).styled(button_confirm()),
+ Button::with_text("Initiate connection".into()).styled(button_confirm()),
))
.with_screen_border(SCREEN_BORDER_BLUE);
@@ -410,7 +410,7 @@ impl BootloaderUI for UIEckhart {
};
let msg = if wireless {
- "Keep your Trezor close to\nthe host device"
+ "Keep your Trezor close to\nthe connected device"
} else {
"Do not disconnect\nyour Trezor"
};
diff --git a/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs b/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs
index 0f822bdf..3ece4615 100644
--- a/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs
+++ b/core/embed/rust/src/ui/layout_eckhart/ui_firmware.rs
@@ -1262,7 +1262,9 @@ impl FirmwareUI for UIEckhart {
}
let screen = TextScreen::new(FormattedText::new(ops))
.with_header(Header::new(TR::thp__pair_new_device.into()).with_close_button())
- .with_action_bar(ActionBar::new_text_only(TR::thp__continue_on_host.into()));
+ .with_action_bar(ActionBar::new_text_only(
+ TR::instructions__continue_in_app.into(),
+ ));
#[cfg(feature = "ble")]
let screen = BLEHandler::new(screen, BLEHandlerMode::WaitingForPairingRequest);
let layout = RootComponent::new(screen);
diff --git a/core/mocks/trezortranslate_keys.pyi b/core/mocks/trezortranslate_keys.pyi
index 3a1f33d2..53592345 100644
--- a/core/mocks/trezortranslate_keys.pyi
+++ b/core/mocks/trezortranslate_keys.pyi
@@ -27,7 +27,7 @@ class TR:
address_details__derivation_path_colon: str = "Derivation path:"
address_details__title_receive_address: str = "Receive address"
address_details__title_receiving_to: str = "Receiving to"
- authenticate__confirm_template: str = "Allow connected computer to confirm your {0} is genuine?"
+ authenticate__confirm_template: str = "Allow connected app to check the authenticity of your {0}?"
authenticate__header: str = "Authenticate device"
auto_lock__change_template: str = "Auto-lock Trezor after {0} of inactivity?"
auto_lock__description: str = "Set the time before your Trezor locks automatically."
@@ -83,11 +83,11 @@ class TR:
ble__forget_all: str = "Forget all"
ble__forget_all_description: str = "They'll be removed, and you'll need to pair them again before use."
ble__forget_all_devices: str = "Forget all devices?"
- ble__forget_all_success: str = "All hosts removed."
+ ble__forget_all_success: str = "All connections removed."
ble__forget_this_description: str = "It will be removed, and you'll need to pair it again before use."
ble__forget_this_device: str = "Forget this device?"
- ble__forget_this_success: str = "Host removed."
- ble__host_info: str = "Host info"
+ ble__forget_this_success: str = "Connection removed."
+ ble__host_info: str = "Connection info"
ble__limit_reached: str = "Limit of paired devices reached"
ble__mac_address: str = "MAC address"
ble__manage_paired: str = "Manage paired devices"
@@ -100,7 +100,7 @@ class TR:
ble__unpair_current: str = "Unpair connected device"
ble__unpair_title: str = "Unpair"
ble__version: str = "Bluetooth version"
- ble__waiting_for_host: str = "Waiting for host..."
+ ble__waiting_for_host: str = "Waiting for connection..."
brightness__change_title: str = "Change display brightness"
brightness__changed_title: str = "Display brightness changed"
brightness__title: str = "Display brightness"
@@ -556,9 +556,9 @@ class TR:
passphrase__access_wallet: str = "Access passphrase wallet?"
passphrase__always_on_device: str = "Always enter your passphrase on Trezor?"
passphrase__continue_with_empty_passphrase: str = "Continue with empty passphrase?"
- passphrase__from_host_not_shown: str = "Passphrase provided by host will be used but will not be displayed due to the device settings."
+ passphrase__from_host_not_shown: str = "Passphrase provided by connected app will be used but will not be displayed due to the device settings."
passphrase__hidden_wallet: str = "Hidden wallet"
- passphrase__hide: str = "Hide passphrase coming from host?"
+ passphrase__hide: str = "Hide passphrase coming from app?"
passphrase__next_screen_will_show_passphrase: str = "The next screen shows your passphrase."
passphrase__please_enter: str = "Please enter your passphrase."
passphrase__revoke_on_device: str = "Do you want to revoke the passphrase on device setting?"
@@ -846,7 +846,7 @@ class TR:
sign_message__confirm_without_review: str = "Confirm without review"
sign_message__message_size: str = "Message size"
sign_message__verify_address: str = "Verify address"
- sn__action: str = "Allow connected host to get serial number of your Trezor Safe 7?"
+ sn__action: str = "Allow connected device to get serial number of your Trezor Safe 7?"
sn__title: str = "Serial number"
solana__account_index: str = "Account index"
solana__associated_token_account: str = "Associated token account"
@@ -966,7 +966,6 @@ class TR:
thp__connect: str = "Allow {0} to connect with this Trezor?"
thp__connect_app: str = "Allow {0} on {1} to connect with this Trezor?"
thp__connect_title: str = "Connection dialog"
- thp__continue_on_host: str = "Continue on host"
thp__nfc_text: str = "Keep your Trezor near your phone to complete the setup."
thp__pair: str = "Allow {0} to pair with this Trezor?"
thp__pair_app: str = "Allow {0} on {1} to pair with this Trezor?"
diff --git a/core/translations/cs.json b/core/translations/cs.json
index a6fe1be1..d0707630 100644
--- a/core/translations/cs.json
+++ b/core/translations/cs.json
@@ -1273,12 +1273,6 @@
"Delizia": "",
"Eckhart": "Dialog připojení"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Pokračovat na hostiteli"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/de.json b/core/translations/de.json
index a64645c8..d5d920f4 100644
--- a/core/translations/de.json
+++ b/core/translations/de.json
@@ -1633,12 +1633,6 @@
"Delizia": "",
"Eckhart": "Verbindungsdialog"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Fahre auf dem Host fort"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/en.json b/core/translations/en.json
index fce38c2a..96d81c2b 100644
--- a/core/translations/en.json
+++ b/core/translations/en.json
@@ -39,7 +39,7 @@
"address_details__derivation_path_colon": "Derivation path:",
"address_details__title_receive_address": "Receive address",
"address_details__title_receiving_to": "Receiving to",
- "authenticate__confirm_template": "Allow connected computer to confirm your {0} is genuine?",
+ "authenticate__confirm_template": "Allow connected app to check the authenticity of your {0}?",
"authenticate__header": "Authenticate device",
"auto_lock__change_template": "Auto-lock Trezor after {0} of inactivity?",
"auto_lock__description": "Set the time before your Trezor locks automatically.",
@@ -115,11 +115,11 @@
"ble__forget_all": "Forget all",
"ble__forget_all_description": "They'll be removed, and you'll need to pair them again before use.",
"ble__forget_all_devices": "Forget all devices?",
- "ble__forget_all_success": "All hosts removed.",
+ "ble__forget_all_success": "All connections removed.",
"ble__forget_this_description": "It will be removed, and you'll need to pair it again before use.",
"ble__forget_this_device": "Forget this device?",
- "ble__forget_this_success": "Host removed.",
- "ble__host_info": "Host info",
+ "ble__forget_this_success": "Connection removed.",
+ "ble__host_info": "Connection info",
"ble__limit_reached": "Limit of paired devices reached",
"ble__mac_address": "MAC address",
"ble__manage_paired": "Manage paired devices",
@@ -132,7 +132,7 @@
"ble__unpair_current": "Unpair connected device",
"ble__unpair_title": "Unpair",
"ble__version": "Bluetooth version",
- "ble__waiting_for_host": "Waiting for host...",
+ "ble__waiting_for_host": "Waiting for connection...",
"brightness__change_title": "Change display brightness",
"brightness__changed_title": "Display brightness changed",
"brightness__title": "Display brightness",
@@ -658,13 +658,13 @@
"passphrase__access_wallet": "Access passphrase wallet?",
"passphrase__always_on_device": "Always enter your passphrase on Trezor?",
"passphrase__continue_with_empty_passphrase": "Continue with empty passphrase?",
- "passphrase__from_host_not_shown": "Passphrase provided by host will be used but will not be displayed due to the device settings.",
+ "passphrase__from_host_not_shown": "Passphrase provided by connected app will be used but will not be displayed due to the device settings.",
"passphrase__hidden_wallet": "Hidden wallet",
"passphrase__hide": {
- "Bolt": "Hide passphrase coming from host?",
- "Caesar": "Hide passphrase coming from host?",
- "Delizia": "Hide passphrase coming from host?",
- "Eckhart": "Hide your passphrase on Trezor entered on host device?"
+ "Bolt": "Hide passphrase coming from app?",
+ "Caesar": "Hide passphrase coming from app?",
+ "Delizia": "Hide passphrase coming from app?",
+ "Eckhart": "Hide your passphrase on Trezor entered on connected app?"
},
"passphrase__next_screen_will_show_passphrase": "The next screen shows your passphrase.",
"passphrase__please_enter": "Please enter your passphrase.",
@@ -1062,7 +1062,7 @@
"Bolt": "",
"Caesar": "",
"Delizia": "",
- "Eckhart": "Allow connected host to get serial number of your Trezor Safe 7?"
+ "Eckhart": "Allow connected device to get serial number of your Trezor Safe 7?"
},
"sn__title": {
"Bolt": "",
@@ -1228,12 +1228,6 @@
"Delizia": "",
"Eckhart": "Connection dialog"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Continue on host"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/es.json b/core/translations/es.json
index 833df3a4..ad99735b 100644
--- a/core/translations/es.json
+++ b/core/translations/es.json
@@ -1283,12 +1283,6 @@
"Delizia": "",
"Eckhart": "Diálogo de conexión"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Continuar en el dispositivo"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/fr.json b/core/translations/fr.json
index db4dba52..7087f7c5 100644
--- a/core/translations/fr.json
+++ b/core/translations/fr.json
@@ -1788,12 +1788,6 @@
"Delizia": "",
"Eckhart": "Dialogue de connexion"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Continuer sur l'hôte"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/it.json b/core/translations/it.json
index 61e61010..35c209ce 100644
--- a/core/translations/it.json
+++ b/core/translations/it.json
@@ -1108,7 +1108,6 @@
"thp__connect": "",
"thp__connect_app": "",
"thp__connect_title": "",
- "thp__continue_on_host": "",
"thp__nfc_text": "",
"thp__pair": "",
"thp__pair_app": "",
diff --git a/core/translations/pt.json b/core/translations/pt.json
index af2b76cf..e1a2d222 100644
--- a/core/translations/pt.json
+++ b/core/translations/pt.json
@@ -1258,12 +1258,6 @@
"Delizia": "",
"Eckhart": "Informações da conexão"
},
- "thp__continue_on_host": {
- "Bolt": "",
- "Caesar": "",
- "Delizia": "",
- "Eckhart": "Continuar no Host"
- },
"thp__nfc_text": {
"Bolt": "",
"Caesar": "",
diff --git a/core/translations/signatures.json b/core/translations/signatures.json
index 6da3b541..a5b6f2d0 100644
--- a/core/translations/signatures.json
+++ b/core/translations/signatures.json
@@ -1,8 +1,8 @@
{
"current": {
- "merkle_root": "ccb0df2c3dcb857a8e10efd5f679236aa561a02c972e378394afd480eebff165",
- "datetime": "2025-10-06T16:50:46.913463+00:00",
- "commit": "cda35eaaf44d28373fa92ef886d57c05a8a8372e"
+ "merkle_root": "ffc4d9c968111d4f523bd3a3f7dd189a5c812fc0c7302e16655b49b966a3a2bf",
+ "datetime": "2025-10-07T08:47:41.971185+00:00",
+ "commit": "c83494ddd77d04e4980b41521bf5ff87ef099b68"
},
"history": [
{
diff --git a/tests/ui_tests/fixtures.json b/tests/ui_tests/fixtures.json
index b7c3a183..d2baeed7 100644
--- a/tests/ui_tests/fixtures.json
+++ b/tests/ui_tests/fixtures.json
@@ -5697,7 +5697,7 @@
"T2T1_en_test_session.py::test_end_session_only_current": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
"T2T1_en_test_session.py::test_session_recycling": "3d0ff6109687f3497de8bd386edf65e523a841f548de8c5a518c56727af0dd64",
"T2T1_en_test_session_id_and_passphrase.py::test_cardano_passphrase": "6cd037b52c43359bfd7f5de2f637e4863e6ddca04f3e4a0d4ac5246b7ca1eea8",
-"T2T1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "e1c56328413232aa86ebfec44ab21ea4520e577ec0c8988b3a50d29f04015862",
+"T2T1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "c73e3df7016cf130b76da9c295d726229865e5fde19016f06c8f627689c01e29",
"T2T1_en_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "300861c96eab95235f02c8b12a7aea190035d086207cef85c1011a6feddbaaed",
"T2T1_en_test_session_id_and_passphrase.py::test_multiple_passphrases": "2c1fab4f592c4fe8f8bdad83a0965efa19a69f9ed0016483d0afc7ec338e3c3c",
"T2T1_en_test_session_id_and_passphrase.py::test_multiple_sessions": "8b1ccc0dbd6e6e3d02a896650ab90dd332ba4edbbcc4095e0fbb6a96e5256f75",
@@ -14899,10 +14899,10 @@
"T3B1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "99448bfe73b818b7fd9b111b2e9ea2ab6979cac5cace438e661570730cb0b3c4",
"T3B1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "5edad9c0c996a4c44918a411baa7237f0294f6837272eb9c0d5ec38ea9fee498",
"T3B1_en_stellar-test_stellar.py::test_sign_tx[tx_source_account_not_equal_signing_key]": "9778462c1d6fe287d56bb8a1d7b0fc08ec98c7203922f387d621011d45341b27",
-"T3B1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "c897297dd0a664e5556076701ef74f3cc9f71568e0bc9b0c7a7e9c0dd4a5efb6",
-"T3B1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "c897297dd0a664e5556076701ef74f3cc9f71568e0bc9b0c7a7e9c0dd4a5efb6",
-"T3B1_en_test_authenticate_device.py::test_authenticate_device[]": "c897297dd0a664e5556076701ef74f3cc9f71568e0bc9b0c7a7e9c0dd4a5efb6",
-"T3B1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "c897297dd0a664e5556076701ef74f3cc9f71568e0bc9b0c7a7e9c0dd4a5efb6",
+"T3B1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "f80a53dcc62561bf574003ac5f36363578d526c9d818c9b501f98948183ec920",
+"T3B1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "f80a53dcc62561bf574003ac5f36363578d526c9d818c9b501f98948183ec920",
+"T3B1_en_test_authenticate_device.py::test_authenticate_device[]": "f80a53dcc62561bf574003ac5f36363578d526c9d818c9b501f98948183ec920",
+"T3B1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "f80a53dcc62561bf574003ac5f36363578d526c9d818c9b501f98948183ec920",
"T3B1_en_test_autolock.py::test_apply_auto_lock_delay": "e9b5488e002c46a57957809a63e163b02a91ab5d97e6a9d14da69cda22f3987f",
"T3B1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "e2ca1a0b72e7c386c1b0223a73aaf4cf2a61299db0feb2889b52adde40ffe2d1",
"T3B1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "e2ca1a0b72e7c386c1b0223a73aaf4cf2a61299db0feb2889b52adde40ffe2d1",
@@ -15042,7 +15042,7 @@
"T3B1_en_test_session.py::test_end_session_only_current": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
"T3B1_en_test_session.py::test_session_recycling": "8a88fe0244bfca0b5a36187c8aa51763e22f3ba1586e90a6dbf753e522ed2e13",
"T3B1_en_test_session_id_and_passphrase.py::test_cardano_passphrase": "3e49f865d51dd085f317830819cc84d4fdfab8ad2e794b02ab122ef725de11ff",
-"T3B1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "cf68a5f76fd022c5ece6d6b8aeb543848f68f7fda0240b72e76f11a49a2158e9",
+"T3B1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "1e7fd50e726ac45816b61471856f4371c74c0a9a21ef0f90eb3d5d546879c7a9",
"T3B1_en_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "5490ce8fddb6e9c2284b1cc73eae01265531df8fde89ac196a517bc4a5e595d0",
"T3B1_en_test_session_id_and_passphrase.py::test_multiple_passphrases": "574e1ffbc15a5984d4c0709daa471ac0334289f6c0469880c82761d78c0f58fe",
"T3B1_en_test_session_id_and_passphrase.py::test_multiple_sessions": "1477d62e338f4d7c1bfac2fc5d2fc231218da5768666c11482dc1f83229506f3",
@@ -24128,10 +24128,10 @@
"T3T1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "b1b58f5242329d6ea7f0eea3096a1a4adee4ec855b0a7baafa336df3ded0ce0d",
"T3T1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "b1b58f5242329d6ea7f0eea3096a1a4adee4ec855b0a7baafa336df3ded0ce0d",
"T3T1_en_stellar-test_stellar.py::test_sign_tx[tx_source_account_not_equal_signing_key]": "c8fac3f2ec042a2238fffae7c73b39e5d494c875e2591bca71d590d1eb7b3410",
-"T3T1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "5f577d05e4af108182dc91cb233e95f0ee8f04093f3cc666d8c62f749a845cc2",
-"T3T1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "5f577d05e4af108182dc91cb233e95f0ee8f04093f3cc666d8c62f749a845cc2",
-"T3T1_en_test_authenticate_device.py::test_authenticate_device[]": "5f577d05e4af108182dc91cb233e95f0ee8f04093f3cc666d8c62f749a845cc2",
-"T3T1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "5f577d05e4af108182dc91cb233e95f0ee8f04093f3cc666d8c62f749a845cc2",
+"T3T1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "6a70662bf77138c0c85fff7708b5618cd187e678d39a454538841e7af1dc04be",
+"T3T1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "6a70662bf77138c0c85fff7708b5618cd187e678d39a454538841e7af1dc04be",
+"T3T1_en_test_authenticate_device.py::test_authenticate_device[]": "6a70662bf77138c0c85fff7708b5618cd187e678d39a454538841e7af1dc04be",
+"T3T1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "6a70662bf77138c0c85fff7708b5618cd187e678d39a454538841e7af1dc04be",
"T3T1_en_test_autolock.py::test_apply_auto_lock_delay": "7c3c6c925c12595278dc3a88a011c016b4c4e70b066eeaf36c575830d9924823",
"T3T1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "22f316d6240e46f62132b5210cc46542e27728d8858d6d3211f814f1b0d34265",
"T3T1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "22f316d6240e46f62132b5210cc46542e27728d8858d6d3211f814f1b0d34265",
@@ -24283,7 +24283,7 @@
"T3T1_en_test_session.py::test_end_session_only_current": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
"T3T1_en_test_session.py::test_session_recycling": "384b6cbc1e91445159405851d93394724a2d52c260d1226eb07e1849408d16c9",
"T3T1_en_test_session_id_and_passphrase.py::test_cardano_passphrase": "94065f5abf2ce3b613971315e4dee13feaa76425eb54944b53e8d291c4b6d674",
-"T3T1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "dc872bebbcb7d12f095b4524943492eb1191cb1d2d8af43918bd0d63e7533b79",
+"T3T1_en_test_session_id_and_passphrase.py::test_hide_passphrase_from_host": "8bc0cac06c4b575114a5ee84075616176e9e121a5da13646fd8470cbaa62d9f1",
"T3T1_en_test_session_id_and_passphrase.py::test_max_sessions_with_passphrases": "28d7219b0fe91ea6c48c4a6c4f0ca1f5cc731d1ab56d72b5d9e9142cfdb8324e",
"T3T1_en_test_session_id_and_passphrase.py::test_multiple_passphrases": "4817046406a08a90677f07758a2fb8e4d3fb0d132b2ddab035799b25f10b9a57",
"T3T1_en_test_session_id_and_passphrase.py::test_multiple_sessions": "cb8641952bec9e793e7d19f281a85a0ca1be2c3397ca5c0cf4ee7ad905429984",
@@ -33737,10 +33737,10 @@
"T3W1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-0]": "649a02a84f00e8f7b4933c203ecd7035e00add602061abb249ea3700c0f7f2b2",
"T3W1_en_stellar-test_stellar.py::test_sign_tx[timebounds-461535181-1575234180]": "649a02a84f00e8f7b4933c203ecd7035e00add602061abb249ea3700c0f7f2b2",
"T3W1_en_stellar-test_stellar.py::test_sign_tx[tx_source_account_not_equal_signing_key]": "6f4543455702515a74a592bcdd8f8f7eff0ebdab4bd4a9b43511aab9785845d3",
-"T3W1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "b7ba0e120134fdc82b0ed33bc36cece85deff62143666bc10c837821fce054c2",
-"T3W1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "b7ba0e120134fdc82b0ed33bc36cece85deff62143666bc10c837821fce054c2",
-"T3W1_en_test_authenticate_device.py::test_authenticate_device[]": "b7ba0e120134fdc82b0ed33bc36cece85deff62143666bc10c837821fce054c2",
-"T3W1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "b7ba0e120134fdc82b0ed33bc36cece85deff62143666bc10c837821fce054c2",
+"T3W1_en_test_authenticate_device.py::test_authenticate_device[!\\xf3\\xd4\\x0ec\\xc3\\x04\\xd01-b\\xeb\\x82-e4b4eb3a": "cce098ad99013476c68b8f83da6d7246eeb49653d0696ff52115ce0cbbf04c30",
+"T3W1_en_test_authenticate_device.py::test_authenticate_device[\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\x00\\-d824e03c": "cce098ad99013476c68b8f83da6d7246eeb49653d0696ff52115ce0cbbf04c30",
+"T3W1_en_test_authenticate_device.py::test_authenticate_device[]": "cce098ad99013476c68b8f83da6d7246eeb49653d0696ff52115ce0cbbf04c30",
+"T3W1_en_test_authenticate_device.py::test_authenticate_device[hello world]": "cce098ad99013476c68b8f83da6d7246eeb49653d0696ff52115ce0cbbf04c30",
"T3W1_en_test_autolock.py::test_apply_auto_lock_delay": "ea4109c1ed54c2557da5bc28454b119e6a9fadb447a39ba88d98c53b75cd7ead",
"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[0]": "16928da42dc79af51b1de7aa625f6cae1cdb6df7da6af8f2ec416a94045abfd3",
"T3W1_en_test_autolock.py::test_apply_auto_lock_delay_out_of_range[1]": "16928da42dc79af51b1de7aa625f6cae1cdb6df7da6af8f2ec416a94045abfd3",
@@ -33761,7 +33761,7 @@
"T3W1_en_test_basic.py::test_device_id_different": "b69b8276b5d24b8ff2fd783c772ab491e55a63bef701df81b12784992b76ed85",
"T3W1_en_test_basic.py::test_device_id_same": "f568c7c8e69544ab1b6bab4afa1bc95f85b014c2f75695d30a85d01b1a99871f",
"T3W1_en_test_basic.py::test_ping": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
-"T3W1_en_test_ble.py::test_ble_unpair_all": "4be9606be0d89e633be35e0f05b23fac0f45c21b658817bad7d8bd474a81da50",
+"T3W1_en_test_ble.py::test_ble_unpair_all": "e53facb9744ec5236433f2eafd66a76ada8f9ef87b3a6f59360e532ba8e85ea4",
"T3W1_en_test_busy_state.py::test_busy_expiry_core": "cf458ac4c1e883ef76eb944610e852c42c8bec52ea6150efc6f8dc3905695cc1",
"T3W1_en_test_busy_state.py::test_busy_state": "6c46c18362fae3e054762023995de8051b78e5faf4170b0df5df849ce8b6bb58",
"T3W1_en_test_cancel.py::test_cancel_message_via_cancel[message0]": "554305cd87d6bbdbcabf796978bc16c32ac8395b114bddfe1d856b359f2423a7",
@@ -33874,8 +33874,8 @@
"T3W1_en_test_repeated_backup.py::test_repeated_backup_via_host_cancel": "883a84ee90e9ee9232d1d7840b979d4b07fade453843c4315e8cd5147d9f7e18",
"T3W1_en_test_repeated_backup.py::test_repeated_backup_via_host_send_disallowed_message": "883a84ee90e9ee9232d1d7840b979d4b07fade453843c4315e8cd5147d9f7e18",
"T3W1_en_test_repeated_backup.py::test_repeated_backup_via_host_upgrade_single": "7dfa21a0b928190a5758a448a0d00b79e8852dc48769862817c1b9ce86cc4bb4",
-"T3W1_en_test_serialnumber.py::test_cancel": "30f6051129ef804aec713329a46496b44731c631bc309010ffce5afbd4c8b970",
-"T3W1_en_test_serialnumber.py::test_same": "350da7dfc3c1c5bdf2c57a8b20860cd157e51ed0deaa89f313f8693c9d34db04",
+"T3W1_en_test_serialnumber.py::test_cancel": "3b1e64c20833dbbff9c20d479050c92c8dfad9863f207b7e562d15fd4dd55bee",
+"T3W1_en_test_serialnumber.py::test_same": "5568cb2deb3aa7968edabf6c07e1de80d8a7afb614c994fdb1802a03bf7eb650",
"T3W1_en_test_session.py::test_clear_session": "ddb0ff3ea3359bbec2559647da7e18052b5d09ec91ba5d6f6c052b400068580b",
"T3W1_en_test_session.py::test_create_session_with_passphrase_on_device": "bdacf4d58793ad7a313407a159c6c10cb2e165514dd86e6e83f95f860d4a81ac",
"T3W1_en_test_session.py::test_end_session": "931d9afceb0ba1e4faae891775819277242d889644d5c0c5863fc8c9fcf859b1",
Why this scored 15/100
Community notes
Notes can correct, qualify, or add evidence to the AI analysis. Every note shown here has been validated by a human moderator.
The AI analysis stands alone for now. Submit a note if you can add evidence or important context.