What changed, and why it matters
This commit removes a user-facing setting that let advanced users disable the 'Export xpub' button. After the change, the Export xpub option is always shown in the seed options menu. This is a feature simplification, not a fix for a code vulnerability. It slightly reduces user-configurable privacy controls because a user can no longer hide the xpub export entry point, but it does not introduce a new exploit or change how xpub export actually works.
No immediate security action required. Review whether removing the toggle is acceptable from a privacy/UX policy perspective, and ensure the xpub export flow still requires appropriate user confirmation.
Security signals we found
Removal of a user-configurable feature toggle
No changes to authorization, cryptography, or data handling
No mention of vulnerability, CVE, or security fix in commit message
Evidence from the diff
The patch deletes SETTING__XPUB_EXPORT from settings_definition.py and removes the conditional check in seed_views.py. Previously, EXPORT_XPUB was appended to the menu only when the setting was enabled. Now it is always appended. The underlying xpub export flow and authorization logic are unchanged. There is no evidence of a security bug being fixed; the change is a UX/policy simplification.
Changed components
src/seedsigner/models/settings_definition.pysrc/seedsigner/views/seed_views.pyInspect captured patch +1 / −9
diff --git a/src/seedsigner/models/settings_definition.py b/src/seedsigner/models/settings_definition.py
index 2a6a1d7..325f7af 100644
--- a/src/seedsigner/models/settings_definition.py
+++ b/src/seedsigner/models/settings_definition.py
@@ -334,7 +334,6 @@ class SettingsConstants:
SETTING__NETWORK = "network"
SETTING__QR_DENSITY = "qr_density"
- SETTING__XPUB_EXPORT = "xpub_export"
SETTING__SIG_TYPES = "sig_types"
SETTING__SCRIPT_TYPES = "script_types"
SETTING__XPUB_DETAILS = "xpub_details"
@@ -608,12 +607,6 @@ class SettingsDefinition:
selection_options=SettingsConstants.ALL_DENSITIES,
default_value=SettingsConstants.DENSITY__MEDIUM),
- SettingsEntry(category=SettingsConstants.CATEGORY__FEATURES,
- attr_name=SettingsConstants.SETTING__XPUB_EXPORT,
- display_name=_mft("Xpub export"),
- visibility=SettingsConstants.VISIBILITY__ADVANCED,
- default_value=SettingsConstants.OPTION__ENABLED),
-
SettingsEntry(category=SettingsConstants.CATEGORY__FEATURES,
attr_name=SettingsConstants.SETTING__SIG_TYPES,
abbreviated_name="sigs",
diff --git a/src/seedsigner/views/seed_views.py b/src/seedsigner/views/seed_views.py
index 175bd34..4ff2e77 100644
--- a/src/seedsigner/views/seed_views.py
+++ b/src/seedsigner/views/seed_views.py
@@ -572,8 +572,7 @@ class SeedOptionsView(View):
button_data.append(self.SCAN_PSBT)
- if self.settings.get_value(SettingsConstants.SETTING__XPUB_EXPORT) == SettingsConstants.OPTION__ENABLED:
- button_data.append(self.EXPORT_XPUB)
+ button_data.append(self.EXPORT_XPUB)
button_data.append(self.EXPLORER)
button_data.append(self.BACKUP)
Why this scored 19/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.