SS
← All projectsSeedSigner

SeedSigner

Stateless, air-gapped Bitcoin signing software for Raspberry Pi hardware.

BitcoinHardware walletsNormal
Repository coverage

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

168security candidates28second-pass queue223AI analyses
14commits · 30 days
40commits · 60 days
60commits · 180 days
204commits · 365 days
Backfill bands
Aug 5 → Feb 6150 seen8 candidatesComplete
Feb 6 → Jun 629 seen0 candidatesComplete
Jun 6 → Jul 60 seen0 candidatesComplete
Jul 6 → Aug 57 seen1 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.

49/100 average clarity
15Strong · 80–100
56Adequate · 60–79
92Thin · 40–59
66Opaque · 0–39
44security candidates with opaque commit messaging
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
Nick Klockenga282324268
kdmukai141100141145
okaybro191619064
PROWLERx15101010020
alvroble12711055
FazleRabbbiferdaus172868061
biel414037
securesigner111050
Chaitanya-Keyal111057
Kshitij111033
Advait111060
S1DDHEY111045
Analysis record

Published AI watches

Last scanned 29 minutes ago

Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #722 from Chaitanya-Keyal/psbt-huge-fee-warning

This commit adds a new user-facing safety feature: a warning screen when a Bitcoin transaction's fee is unusually high compared to the amount being sent. It does not fix a bug or vulnerability; it helps users notice potentially costly mist…

New user-facing warning for high transaction feesThreshold-based fee check computed from PSBT outputsVisual warning mark and color change on fee display
088b144eby Nick Klockenga+238−55 files
No security note in commit
Informational 20 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Settle is_high_fee once in parse()

This commit is a performance cleanup, not a security fix. It calculates the 'is this fee unusually high?' flag once during transaction parsing instead of recalculating it every time a screen asks. The actual fee-checking logic and warning …

No security-relevant logic change: the same fee threshold and calculation are usedPerformance optimization only: eliminates repeated transaction re-summationNo input validation, cryptography, or authorization changes
2195adfdby okaybro+32−53 files
No security note in commit
High 80 AI analysisMessage 88 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1032 from kdmukai/psbt_output_ownership

This commit fixes a security flaw in SeedSigner, a small hardware-wallet-like device used to sign Bitcoin transactions. Previously, the software trusted the PSBT file's own claim about which 'change' outputs belong back to the user's walle…

Fixes change-output ownership verification against PSBT coordinator claimsAdds independent scriptPubKey reconstruction from seed-derived keysAdds rejection of contradictory ownership claims (claim-ours/pay-other and pay-ours/claim-other)
b225ae77by Nick Klockenga+1756−2636 files
Vendor flagged security relevance
Moderate 63 AI analysisMessage 83 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Count an unresolved output cosigner set as a mismatch

This commit fixes a bug in SeedSigner's PSBT parser that could misclassify a payment to a different multisig wallet as 'change' (money going back to the user's own wallet). The bug occurred when the output's cosigner list could not be reso…

Change-vs-spend misclassification in multisig PSBT parsingCosigner resolution failure previously skipped instead of treated as mismatchFingerprint matching removed in favor of derivation-path + derived-key verification
45a5eabbby kdmukai+102−462 files
Vendor flagged security relevance
Low 34 AI analysisMessage 100 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Compare cosigners before presuming multisig change

This commit tightens how SeedSigner decides whether a multisig payment back to the user is real 'change' or actually a payment to a different wallet. Before, if an output contained the user's key and looked like the same kind of multisig (…

Multisig change-output presumption logic changed to compare input vs output cosigner listsOptional/unauthenticated PSBT global xpubs used only as a hygiene check, not a hard security controlMismatch demotes output from change to spend rather than raising an error
ff133966by kdmukai+244−62 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 58 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Rename is_change to is_presumed_change

This commit only renames a variable from 'is_change' to 'is_presumed_change' and updates comments/docstrings to make it clearer that multisig outputs are only suspected—not proven—to belong to the user's wallet. The code logic is unchanged…

No functional code changeVariable rename and documentation clarification onlyCommit message explicitly states 'No behavior change'
321bf14dby kdmukai+19−131 file
No security note in commit
Moderate 60 AI analysisMessage 83 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Match policy types exactly and refuse an unsupported one

This commit fixes a bug in how SeedSigner parses Bitcoin transaction outputs. Previously, the code guessed script types using partial string matches (like checking if 'pkh' appears anywhere in the type name) and had no fallback for unknown…

CWE-20: Improper Input Validation - substring matching allowed ambiguous/unsupported script type handlingCWE-248: Uncaught Exception - unsupported script types caused bare TypeError instead of controlled failureCWE-754: Improper Check for Unusual or Exceptional Conditions - missing else branch for unsupported policy types
a929b8b3by kdmukai+38−112 files
No security note in commit
Moderate 59 AI analysisMessage 85 · Strong
SS SeedSignerSeedSigner BitcoinHardware wallets

Set is_change only after each branch's own checks

This commit fixes a logic bug in how SeedSigner decides whether a Bitcoin transaction output is 'change' coming back to the user's wallet. Previously, the code marked an output as change as soon as it looked like it paid to the user's seed…

Logic bug: default-true flag inside a conditional arm with branches responsible for undoing itPotential UI deception: unverified output could be displayed as user changeDefensive refactor: flag set only after branch-specific verification
12c72391by kdmukai+23−71 file
Vendor flagged security relevance
High 79 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Verify that change outputs actually pay this seed

This commit fixes a security flaw in how SeedSigner decides whether a Bitcoin transaction's 'change' output really returns coins to the user's own wallet. Previously, the device trusted too much of what the transaction coordinator (or a ma…

Fixes insufficient verification of change output ownership in PSBT parsingAdds explicit rejection of ownership-claim/scriptPubKey contradictions treated as attacksAdds rejection of surplus derivation path entries and mixed ecdsa/taproot derivation maps
bb2471a6by kdmukai+1390−2406 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Clarify psbt_parser.py docstrings and comments

This commit only rewrites comments and docstrings in one file and renames a single function parameter for clarity. The commit message explicitly says 'No behavior change,' and the diff contains no changes to executable logic, control flow,…

0d374bc7by kdmukai+28−371 file
No security note in commit
High 78 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1013 from kdmukai/psbt_parser_ownership_scan

This commit hardens SeedSigner's PSBT (Bitcoin transaction) parser so it no longer trusts a transaction's claim that an output belongs to the user's wallet. Previously, a malicious or buggy transaction could mark a payment to an attacker's…

Fixes fake-change / ownership-spoofing vulnerability in PSBT parsingAdds explicit rejection of false seed-ownership claims on outputs and inputsAdds user-facing warning screens for forged ownership claims
e4af6a7eby Nick Klockenga+994−516 files
Vendor flagged security relevance
Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1005 from kdmukai/psbt_parser_trust_vocabulary

This commit is a code cleanup that renames internal data fields from 'fingerprint' and 'derivation_path' to 'claimed_fingerprints' and 'claimed_derivation_paths'. It does not change how the software verifies Bitcoin transaction data or how…

No functional security change; only identifier renaming and documentationExpanded docstring explicitly distinguishes claimed_ vs verified_ dataNo new validation, no removed validation, no algorithm change
d70b322fby Nick Klockenga+62−383 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve comment accuracy

This commit only rewrites comments and docstrings in a single Python file to make them more accurate. No code logic, behavior, or security properties were changed.

c7eacfbdby kdmukai+18−141 file
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Pluralize change_data's claimed keys

This commit simply renames two internal data keys from singular to plural (e.g., 'claimed_fingerprint' becomes 'claimed_fingerprints') because they actually hold lists of values. It also removes a commented-out debug print line. There is n…

4f00d32fby kdmukai+14−153 files
No security note in commit
Informational 15 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve comment accuracy

This commit only changes a comment in the source code to make it more accurate. It does not modify any actual code behavior, so it has no security impact on its own.

622a9fedby kdmukai+2−11 file
No security note in commit
Informational 19 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #1002 from kdmukai/psbt_parser_derivation_cache

This commit is a performance improvement for parsing Bitcoin transaction files (PSBTs). It adds a cache so the wallet doesn't repeatedly recalculate the same cryptographic key derivations, and it avoids rebuilding the whole transaction obj…

Removed p2sh redeem-script handling path in change detectionNew derivation cache keyed by id(parent_key) with explicit rejection of fingerprint-based keying due to collision riskFingerprint recovery now uses root.my_fingerprint instead of root.child(0).fingerprint
861d6e3cby Nick Klockenga+419−352 files
No security note in commit
Informational 15 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Mark coordinator-supplied change data as claimed

This commit is a code cleanup and documentation change, not a security fix. It renames variables and dictionary keys from 'fingerprint' and 'derivation_path' to 'claimed_fingerprint' and 'claimed_derivation_path' to make it clearer that da…

Renames unverified coordinator-supplied metadata keys to 'claimed_' prefixAdds trust-boundary documentation and naming convention in class docstringExplicitly states no logic changes in commit message
fc21710bby kdmukai+47−273 files
No security note in commit
Informational 15 AI analysisMessage 78 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Tighten the derivation cache guard tests

This commit only changes test code. It tightens an existing unit test so it actually exercises the cache read path, and improves comments and docstrings. No production code was modified, so it cannot introduce or fix a security vulnerabili…

65b1d3d9by kdmukai+22−131 file
No security note in commit
Repository ledger

Explore captured commits

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

Security candidateupdate conditional branchby PROWLERx15 · ef7d3716 · Apr 9, 2026 · 1 fileMessage 35 · OpaqueLow 34Details
Commit message · PROWLERx15

update conditional branch

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Low 34/100

This commit changes how the back button behaves during two seed-related screens. In the first screen, it simplifies the logic so that the pending mnemonic is only discarded when leaving from the first word. In the second screen, it removes the back-button handling entirely, meaning pressing back on the finalization screen no longer returns to the previous view. The commit message gives no security context, and the changes appear to be a UI-flow bugfix rather than a security fix, though removing back-button handling could affect user workflow or data persistence in subtle ways.

Security candidateremove testby PROWLERx15 · 804dad98 · Apr 9, 2026 · 1 fileMessage 0 · OpaqueInformational 12Details
Commit message · PROWLERx15

remove test

0/100 · OpaqueMessage clarity
✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Informational 12/100

This commit simply deletes one automated test from the test suite. It does not change any production code that users interact with. By itself, removing a test does not create a security vulnerability, though it may reduce future confidence that a related feature still works correctly.

Security candidateadd testsby PROWLERx15 · 3f2344af · Apr 6, 2026 · 1 fileMessage 0 · OpaqueInformational 12Details
Commit message · PROWLERx15

add tests

0/100 · OpaqueMessage clarity
✓ Mentions testing or verification! Very short subject! Too few words to establish purpose! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy path
AI analysis · Informational 12/100

This commit only adds new automated tests to the SeedSigner project. It does not change any production code, so it cannot by itself introduce or fix a security vulnerability. The tests describe a previously fixed navigation bug where pressing BACK during seed entry could return the user to the wrong screen or leave internal flow state in an inconsistent state. Because the commit is limited to test code, its direct security relevance is low, though it documents behavior that could have had minor usability or state-consistency implications.

Security candidatefix back navigationby PROWLERx15 · 5c7dcd17 · Apr 6, 2026 · 1 fileMessage 28 · OpaqueInformational 19Details
Commit message · PROWLERx15

fix back navigation

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 19/100

This commit fixes two minor user-interface navigation bugs in a Bitcoin seed-signer device app. In one screen, pressing the hardware back button after entering a mnemonic incorrectly dumped the user at the main menu instead of going back. In another screen, the back-button response was checked too late, after normal menu choices, which could make the back button behave oddly. These are usability fixes, not security fixes.

Security candidatereplaced os.popen() with inbuilt file handlingby S1DDHEY · a00810ca · Apr 4, 2026 · 1 fileMessage 45 · ThinLow 46Details
Commit message · S1DDHEY

replaced os.popen() with inbuilt file handling

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Low 46/100

This commit replaces a shell command used to read the Raspberry Pi CPU serial number with safer built-in Python file reading. The old code ran the command 'cat /proc/cpuinfo | grep Serial' through the operating system shell, which is generally discouraged because it can be risky if any part of the command string is ever influenced by untrusted input. In this specific case, the command string was hardcoded and contained no user input, so the direct risk is low. The change is a defensive hardening improvement rather than a fix for an active vulnerability.

Security candidateAdd missing "beta" designation for Czechby kdmukai · 990686f7 · Mar 6, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Add missing "beta" designation for Czech

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit simply adds the word '(beta)' to the Czech language label in the settings, matching how other unfinished translations are already labeled. It is a cosmetic/UI labeling change with no security relevance.

Security candidateFinalize v0.8.7 languagesby kdmukai · 8dbaa548 · Mar 6, 2026 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Finalize v0.8.7 languages

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit simply reorganizes which languages are labeled as 'beta' or 'incomplete' in the SeedSigner settings menu. It adds, removes, and re-categorizes language display names (for example moving Czech to beta and Greek to incomplete). There is no change to security logic, cryptography, or user data handling.

Lower-prioritydocs(README): bump version to 0.8.7by okaybro · bbd0a2f8 · Mar 5, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · okaybro

docs(README): bump version to 0.8.7

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

This commit only updates the README file to point users to the new 0.8.7 software release instead of the older 0.8.6 release. It changes download links, file names, and verification commands. There are no code changes and no security issue visible in this commit.

Security candidatechore: bump version to 0.8.7by okaybro · 27c8aa35 · Mar 5, 2026 · 3 filesMessage 57 · ThinInformational 15Details
Commit message · okaybro

chore: bump version to 0.8.7

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a routine version bump from 0.8.6 to 0.8.7. It only changes three version-number strings in project metadata and a translation template. There is no code behavior change, no bug fix, and no security relevance visible in the diff.

Security candidateupdate seedsigner-translations submodule to latest devby Nick Klockenga · 55939c3c · Mar 5, 2026 · 1 fileMessage 50 · ThinInformational 2Details
Commit message · Nick Klockenga

update seedsigner-translations submodule to latest dev

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet pathtranslation-only discount
AI analysis · Informational 2/100

This commit only updates a translations submodule to the latest development version. No code changes are visible, and there is no indication of any security issue.

Security candidateminor comment updatesby Nick Klockenga · 848fbc03 · Feb 20, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · Nick Klockenga

minor comment updates

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit only changes two source-code comments in a single GUI component file. One adds a developer TODO note about consolidating font file locations, and the other fixes a typo in an existing comment. No executable code, logic, or behavior was altered.

Security candidaterefactor(l10n): update translator notes for multisig policy displayby okaybro · 4c94f427 · Feb 19, 2026 · 3 filesMessage 62 · AdequateInformational 15Details
Commit message · okaybro

refactor(l10n): update translator notes for multisig policy display

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit only rewrites the explanatory notes shown to translators so they understand what the numbers in a multisig wallet policy mean. No code behavior, user-facing text, or security logic changed.

Security candidaterefactor(l10n): make multisig wallet policy display translatableby okaybro · 7f7f977a · Feb 19, 2026 · 6 filesMessage 62 · AdequateInformational 15Details
Commit message · okaybro

refactor(l10n): make multisig wallet policy display translatable

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a straightforward user-interface refactor that makes multisig wallet policy text translatable. It replaces hard-coded English strings like '2 of 3' with localizable template strings, adds a small helper to extract threshold and participant counts from descriptors, and updates tests. There is no security-relevant change and no indication of a vulnerability being fixed.

Security candidatefix(IOTestScreen): stop blanking out "Clear" button for the screenshot rendererby okaybro · 3e1f8625 · Feb 18, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · okaybro

fix(IOTestScreen): stop blanking out "Clear" button for the screenshot renderer

Co-authored-by: kdmukai <934746+kdmukai@users.noreply.github.com>

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This is a tiny user-interface fix for a hardware wallet project. It changes when a button label is hidden so that screenshot/translation tools can see the word "Clear", while real devices still start with an empty button. There is no security issue here.

AI review queuedImprove tests, maintainabilityby kdmukai · e9b08094 · Feb 17, 2026 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Improve tests, maintainability

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
parser or protocol pathsecond-pass: security-sensitive path
AI analysis · Informational 15/100

This commit only changes test files. It refactors how SettingsQR test data is built by introducing a shared base class so tests use the current default settings automatically instead of hardcoded strings. There is no change to the actual application code that users run, so it cannot directly affect security or introduce a vulnerability.

Security candidateImprovements for SettingsQR Generatorby kdmukai · fa111d8d · Feb 17, 2026 · 1 fileMessage 35 · OpaqueInformational 16Details
Commit message · kdmukai

Improvements for SettingsQR Generator

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 16/100

This commit makes small, non-security improvements to how SeedSigner discovers language files and how settings are exported. It removes a script that could write a settings definition file to a microSD card, but that script only ran when a developer manually executed the file. There is no clear security vulnerability being fixed.

Lower-prioritychore(l10n): regenerate `messages.pot`by okaybro · f8c4dce5 · Feb 16, 2026 · 1 fileMessage 57 · ThinInformational 15Details
Commit message · okaybro

chore(l10n): regenerate `messages.pot`

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 is a routine update to the translation template file (messages.pot). It refreshes copyright dates, timestamps, and adds/removes/reorders user-facing text strings for localization. There are no code changes and no security implications.

Security candidatefix(l10n): mark missing strings for translationby okaybro · 12a8e1c4 · Feb 16, 2026 · 2 filesMessage 57 · ThinInformational 15Details
Commit message · okaybro

fix(l10n): mark missing strings for translation

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit only wraps a few user-visible English text strings with translation markers so they can be translated into other languages. It does not change program logic, access controls, cryptography, or any security behavior. There is no security issue here.

Security candidatefix(l10n): update MicroSD toast timer terminology and add translator notesby okaybro · aa4b8e06 · Feb 16, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · okaybro

fix(l10n): update MicroSD toast timer terminology and add translator notes

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a non-security change. It renames the user-facing label 'MicroSD toast timer' to 'MicroSD notification duration' and adds two translator comments to help people translate the terms into other languages. No code behavior changes.

Security candidatefix(l10n): use named variables in `NetworkMismatchView` messageby okaybro · b7f394e9 · Feb 16, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · okaybro

fix(l10n): use named variables in `NetworkMismatchView` message

Co-authored-by: kdmukai <934746+kdmukai@users.noreply.github.com>

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
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is a minor localization (translation) improvement. It changes how a user-facing error message is assembled so translators can more easily work with named placeholders instead of numbered ones. There is no security-relevant change.

Lower-priorityExplicit description template; minor presentation reformatting; docs link fixby kdmukai · aa4e3293 · Feb 14, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Explicit description template; minor presentation reformatting; docs link fix

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
documentation-only discount
AI analysis · Informational 15/100

This commit only updates the GitHub pull request template. It restructures the description section, adds prompts for screenshots, fixes one documentation link, and reformats checklists. No application code, tests, build scripts, or security-sensitive files were changed.

AI review queuedUpdate PR templateby kdmukai · b386caa8 · Feb 14, 2026 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

Update PR template

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
documentation-only discountsecond-pass: opaque commit message
AI analysis · Informational 15/100

This commit only updates the GitHub pull request template, which is a form contributors fill out when submitting code changes. It does not change any actual application code, so it has no direct security impact on the SeedSigner software or its users.

AI review queuedRestore whitespace alignment formattingby kdmukai · b447edd6 · Jan 20, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

Restore whitespace alignment formatting

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only adjusts whitespace in a test screenshot generator file so that the opening parentheses line up visually. No code behavior, logic, or security-sensitive content changed.

AI review queuedMinor comments updatesby kdmukai · fd051d3b · Jan 20, 2026 · 2 filesMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

Minor comments updates

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only rewords comments in two test helper files. No code behavior was changed, so it has no security relevance.

Lower-priorityAdd `mock_context_manager`; factor out all `run_before` methodsby kdmukai · b609abb6 · Jan 20, 2026 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Add `mock_context_manager`; factor out all `run_before` methods

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a test-code cleanup only. It replaces manual 'before/after' setup callbacks in the screenshot generator with reusable Python context managers that automatically clean up mock data. There is no change to the actual SeedSigner application or its security behavior.