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 31 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 candidateExplain how MAX_CACHED_DERIVATIONS was chosen and test the capby kdmukai · b563f05f · Aug 14, 2026 · 2 filesMessage 83 · StrongLow 32Details
Commit message · kdmukai

Explain how MAX_CACHED_DERIVATIONS was chosen and test the cap

The cap was documented as a bound a real wallet would never approach.
That is backwards: a 3-of-5 multisig -- the largest common policy --
consolidating 200 inputs wants more cached levels than the cap allows.

That case is the watermark the number comes from. Record it, what the
cache costs at that size, and what going over means: the psbt still
parses correctly, it may just derive some levels more than once.

Nothing checked that last claim. Parse a multisig and a single-sig psbt
with the cache free to grow, then again with the cap low enough to fill
partway through, and require identical parser state. Assert the cap was
actually reached, so removing the cap outright fails the test rather
than passing it quietly.

Compare the two parses through a new assert_same_parse_result helper,
which checks field by field so a failure names the field that differs.
test_cache_does_not_change_parse_output still hand-rolls the same
comparison as a tuple of fields and should be moved onto the helper in
a follow-up.

Also give PSBTParser a class docstring; the cap comment had grown large
enough to read as one.

83/100 · StrongMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
signing boundaryseed or entropy pathsigning or wallet pathparser or protocol path
AI analysis · Low 32/100

This commit is a documentation and testing improvement for an existing safety cap in the PSBT parser. It does not change the cap's value or behavior; it explains why the cap exists (to stop a malicious PSBT from consuming unbounded memory), adds a test proving that hitting the cap does not corrupt the parse result, and clarifies that the cap was chosen based on a realistic large multisig transaction. There is no new vulnerability being fixed here, but the change makes the existing defense easier to understand and verify.

Security candidateDrop the duplicate p2sh branch in _parse_outputsby kdmukai · 272a6ace · Aug 14, 2026 · 1 fileMessage 78 · AdequateInformational 15Details
Commit message · kdmukai

Drop the duplicate p2sh branch in _parse_outputs

The change-detection block tested for a p2sh policy twice and built the
same script both times: a standalone if ahead of the policy chain, and
an elif inside it. For a p2sh policy neither p2wsh nor p2sh-p2wsh
matches, so control always reached the elif and reassigned an identical
script.p2sh over the first one, from the same redeem_script.

Removing the standalone if leaves a single if/elif chain covering every
policy type, and keeps the comment recording that this branch also
carries pre-segwit multisig (m/45').

Parse output is unchanged. Verified with the full test suite and by
diffing the complete parser state -- policy, amounts, destinations,
change_data, op_return_data -- across 112 scenarios: all seven wallet
script types against all seven recipient types, as spend-with-change,
full spend, self-transfer, and multi-recipient.

78/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
seed or entropy pathsigning or wallet pathparser or protocol path
AI analysis · Informational 15/100

This commit removes a duplicated code branch that did the exact same thing twice in a row. The behavior of the program is unchanged; it is a minor cleanup with no security effect.

Security candidateCut repeated computation out of PSBTParser.parseby kdmukai · 1178055c · Aug 13, 2026 · 2 filesMessage 90 · StrongInformational 15Details
Commit message · kdmukai

Cut repeated computation out of PSBTParser.parse

Parsing repeats work that only needs doing once, which is noticeable on
the Pi Zero. Three changes remove that repetition. Parse output is
unchanged.

- _parse_outputs read psbt.tx at twelve points in its loop, and PSBT.tx
rebuilds the entire Transaction on each access; read it once up front.

- _fill_missing_fingerprints derived a whole child key per input and per
output purely to read the parent fingerprint stamped on it. HDKey
exposes that same value as my_fingerprint, which derives nothing.

- Cosigner and change-output checks re-derive the same BIP32 levels for
every input and output, since only the address at the end differs. A
new _derive_with_cache memoizes each level for the duration of one
parse; its docstring covers how the cache is keyed, bounded and
discarded, and why.

Verified byte-identical against every fixture in psbt_testing_util.py on
both mainnet and testnet. Tests parse each of them with the cache active
and bypassed and compare the full parser state and the resulting PSBT
bytes.

90/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides detailed explanatory context✓ Explains rationale or failure mode✓ Mentions testing or verification
Why it was queued
secret or key materialsigning boundaryseed or entropy pathsigning or wallet pathparser or protocol path
AI analysis · Informational 15/100

This commit is a performance optimization, not a security fix. It speeds up parsing of Bitcoin transaction files (PSBTs) on the slow Pi Zero hardware by avoiding repeated work: reading the transaction once instead of rebuilding it twelve times, using a direct fingerprint lookup instead of deriving a child key, and caching intermediate key derivations during parsing. The author explicitly states the parse output is unchanged and adds tests to prove the cached and uncached paths produce identical results.

Security candidateMerge pull request #991 from kdmukai/image_entropy_2_preview_poolby Nick Klockenga · 5088588d · Aug 13, 2026 · 4 filesMessage 78 · AdequateLow 25Details
Commit message · Nick Klockenga

Merge pull request #991 from kdmukai/image_entropy_2_preview_pool

[enhancement] Image Entropy: Require a full pool of distinct preview frames before capture

78/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
entropy or randomnessseed or entropy pathsigning or wallet pathmerge-commit duplicate discount
AI analysis · Low 25/100

This change improves how SeedSigner creates a new seed from camera noise. Before taking the final picture, it now requires 50 distinct, non-blank preview frames. This is a defensive hardening measure: it prevents a stuck, covered, or repeating camera from being mistaken for good randomness. It is not a fix for an active attack, but it reduces the chance that a hardware or environment problem produces a weak or predictable seed.

Security candidateMerge pull request #990 from kdmukai/bugfix_image_entropy_held_buttonby Nick Klockenga · 2bbae4a5 · Aug 13, 2026 · 2 filesMessage 78 · AdequateModerate 60Details
Commit message · Nick Klockenga

Merge pull request #990 from kdmukai/bugfix_image_entropy_held_button

[bugfix] Image Entropy: Held button can skip live preview and final review

78/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
entropy or randomnessseed or entropy pathsigning or wallet pathmerge-commit duplicate discount
AI analysis · Moderate 60/100

This commit fixes a user-interface bug in SeedSigner's 'image entropy' feature, where a user holding down a button could accidentally skip the live camera preview and the final photo review. Because the generated seed's randomness comes from the photo, skipping the review could let a user unknowingly accept a poor or unintended image. The patch now waits until the button is released before accepting the next press, and adds tests to confirm the behavior.

Security candidateMerge pull request #969 from ruipereira1/fix/ur2-bytewords-crc-widthby Nick Klockenga · 56637104 · Aug 10, 2026 · 3 filesMessage 73 · AdequateModerate 64Details
Commit message · Nick Klockenga

Merge pull request #969 from ruipereira1/fix/ur2-bytewords-crc-width

Serialize the Bytewords CRC as a fixed 4 bytes and re-enable the checksum check

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
seed or entropy pathsigning or wallet pathmerge-commit duplicate discount
AI analysis · Moderate 64/100

This commit fixes a bug in how SeedSigner creates and verifies Bytewords checksums, a format used to encode data (such as crypto wallet information) as readable words or compact strings. The checksum was sometimes output as 3 bytes instead of the required 4 bytes, which could cause other wallets or scanners to reject the encoded data. It also re-enables a previously disabled checksum verification, so corrupted data is now properly rejected instead of being silently accepted.

Security candidateMerge pull request #987 from newtonick/add-security-mdby Nick Klockenga · aa1897e8 · Aug 9, 2026 · 1 fileMessage 78 · AdequateInformational 15Details
Commit message · Nick Klockenga

Merge pull request #987 from newtonick/add-security-md

Add SECURITY.md with vulnerability disclosure policy

78/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference✓ Names security-relevant behavior explicitly
Why it was queued
explicit security languagedocumentation-only discountmerge-commit duplicate discount
AI analysis · Informational 15/100

This commit adds a SECURITY.md file to the repository. It is purely a policy document that tells people how to privately report security bugs and what information to include. It does not change any code, fix any vulnerability, or introduce any new functionality.

Security candidatefix: replace removed `get_seed` call in `PSBTSelectSeedView`by okaybro · 442b7a1a · Jul 22, 2026 · 2 filesMessage 77 · AdequateLow 43Details
Commit message · okaybro

fix: replace removed `get_seed` call in `PSBTSelectSeedView`

Co-authored-by: Nick Klockenga <127377+newtonick@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
signing boundaryseed or entropy pathsigning or wallet path
AI analysis · Low 43/100

This commit fixes a bug where selecting an existing seed during PSBT signing would crash because the code called a method (`get_seed`) that no longer exists. The fix uses the already-loaded list of seeds directly. The crash is a reliability issue, not a direct theft-of-funds vulnerability, but it could prevent a user from signing a transaction at a critical moment.

Security candidatechore: update seedsigner-screenshots submodule to latest devby okaybro · 387fa91f · Jul 21, 2026 · 1 fileMessage 77 · AdequateInformational 15Details
Commit message · okaybro

chore: update seedsigner-screenshots submodule to latest dev

Bumps the screenshots submodule from c157f6e to f04b02c (28 commits),
picking up the v0.8.7 screenshot updates.

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 only updates a submodule containing screenshots used for documentation or testing. There is no code change to the SeedSigner application itself, so it has no security impact on users.

Security candidaterefactor: use `Seed` instead of `seed_num`by okaybro · 65e312c9 · Jul 21, 2026 · 8 filesMessage 57 · ThinInformational 15Details
Commit message · okaybro

refactor: use `Seed` instead of `seed_num`

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 straightforward internal code cleanup: it replaces the use of numeric seed indexes (seed_num) with direct references to Seed objects throughout the user interface and tests. There is no security-relevant change; it is purely a refactoring to make the code clearer and avoid index-based lookups.

Security candidateMerge branch 'dev' into update-linux-docsby Nick Klockenga · f42ffff6 · Jul 17, 2026 · 332 filesMessage 45 · ThinInformational 15Details
Commit message · Nick Klockenga

Merge branch 'dev' into update-linux-docs

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 pathauthentication pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Informational 15/100

This commit is a large merge from the 'dev' branch into a documentation update branch. It primarily adds documentation, build/CI configuration, enclosure files, images, and project scaffolding. There is no code change that introduces a security vulnerability or fixes one. It is not a security-relevant patch.

Security candidateMerge pull request #603 from fedebuyito/resolves_issue_555by Nick Klockenga · 01a8dc38 · Jul 16, 2026 · 332 filesMessage 73 · AdequateInformational 15Details
Commit message · Nick Klockenga

Merge pull request #603 from fedebuyito/resolves_issue_555

Resolves issue 555 - Improve UX navigating across DEL button (expanding it)

73/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
seed or entropy pathsigning or wallet pathauthentication pathparser or protocol pathmerge-commit duplicate discount
AI analysis · Informational 15/100

This commit is a large merge pull request titled 'Resolves issue 555 - Improve UX navigating across DEL button (expanding it)'. The supplied diff shows only additions of project documentation, build workflows, Docker files, images, and templates — there are no code changes shown that modify the DEL button behavior or any application logic. Based on the visible materials, this appears to be a repository initialization or documentation/assets bulk addition rather than a functional security patch.

Security candidateMinor bugfix to correct if/else pathby kdmukai · c52577a9 · Jul 15, 2026 · 1 fileMessage 45 · ThinInformational 23Details
Commit message · kdmukai

Minor bugfix to correct if/else path

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 23/100

This commit fixes a small logic bug in SeedSigner, a hardware-wallet-like signing device. The code was checking whether a seed's fingerprint string was empty, but it should have been checking whether the seed has a passphrase. The bug could cause the app to skip computing or displaying the seed fingerprint at the wrong time, potentially confusing the user about which seed they are finalizing. There is no direct evidence in the commit that this is a security vulnerability, and no exploit path is described.

Security candidatechore: update seedsigner-translations submodule pointer to latest dev (708961)by okaybro · 3d8af166 · Jun 5, 2026 · 1 fileMessage 62 · AdequateInformational 15Details
Commit message · okaybro

chore: update seedsigner-translations submodule pointer to latest dev (708961)

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 pathtranslation-only discount
AI analysis · Informational 15/100

This commit only updates a submodule pointer for translation files. There is no code change visible, and nothing in the commit message or supplied materials suggests any security relevance.

Security candidatechangessssby PROWLERx15 · 6ddc7a99 · Jun 2, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · PROWLERx15

changessss

0/100 · OpaqueMessage clarity
! 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 15/100

This commit only updates a test file. It rewrites comments and adds two assertions to verify that backing out of seed word entry leaves the first word saved and clears the second word. There is no change to the actual application code that users run, so it cannot directly affect security.

Security candidatefix commentby PROWLERx15 · cf37ac2a · Jun 2, 2026 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · PROWLERx15

fix comment

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! 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 fixes the indentation of a comment line so it is properly formatted as a code comment. No executable code, logic, or behavior was changed.

Security candidateupdate commentby Kshitij · 94485e52 · Jun 2, 2026 · 1 fileMessage 33 · OpaqueInformational 15Details
Commit message · Kshitij

update comment

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

33/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Provides an explanatory body! Too few words to establish purpose! Opaque security-relevant change
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit only rewrites an inline code comment to describe the same back-button behavior more clearly. No actual code logic, function calls, or data handling changed.

Security candidaterefactor 12/24 word tests into a single testby PROWLERx15 · 60cb1376 · Jun 1, 2026 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · PROWLERx15

refactor 12/24 word tests into a single test

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

This commit is a simple cleanup of automated tests. It merges two nearly identical test cases (one for 12-word seeds and one for 24-word seeds) into a single test that loops over both seed types. No production code was changed, and there is no security relevance.

Security candidateadded comment explaining changesby PROWLERx15 · d0b729a5 · Jun 1, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · PROWLERx15

added comment explaining changes

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 15/100

This commit only adds a clarifying comment to existing code. It does not change any program behavior, fix a bug, or alter security logic. The comment explains that pressing the back button during seed phrase entry can mean either aborting entirely (on the first word) or returning to the previous word (on later words), and that aborting requires discarding the partially entered mnemonic.

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.