SS
← All projectsSeedSigner

SeedSigner

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

BitcoinHardware walletsNormal
Repository coverage

187 commits in the local evidence base

Every captured commit receives deterministic security triage and a separate communication-quality score. Full patches and Ollama analysis are reserved for ranked candidates.

9candidates9AI analyses
8commits · 30 days
8commits · 60 days
37commits · 180 days
187commits · 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.

44/100 average clarity
4Strong · 80–100
30Adequate · 60–79
89Thin · 40–59
64Opaque · 0–39
1security candidate 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.
kdmukai11733039
alvroble1233055
okaybro1711063
FazleRabbbiferdaus172811061
Advait111060
Nick Klockenga1400061
PROWLERx151000020
biel400037
Kshitij100033
S1DDHEY100045
newtonick100045
securesigner100050
Analysis record

Published AI watches

Last scanned 24 minutes ago

Low 43 AI analysisMessage 77 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

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

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 reliabilit…

Fixes a runtime exception (AttributeError) in a signing workflowPrevents workflow failure when user selects an existing seed for PSBT signingAdds regression test covering the previously broken code path
442b7a1aby okaybro+13−12 files
No security note in commit
Informational 17 AI analysisMessage 35 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Remove `TextArea.allow_text_overflow`

This commit removes a UI flag called allow_text_overflow from SeedSigner's on-screen text rendering code. Previously, the flag decided whether text that was too long should be silently allowed to spill past its box (overflow) or trigger an…

No cryptographic, wallet-seed, or input-validation code is touchedException path removed: TextDoesNotFitException no longer raised for single-word overflowAll changes are in GUI rendering/layout components
1f188754by kdmukai+9−427 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Remove now-unused `has_passphrase` attr

This commit simply removes an unused attribute called has_passphrase from two screen classes and the two places that passed it in. There is no functional change, no bug fix, and no security relevance visible in the code change.

639c2a14by kdmukai+0−42 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve commenting and solve minor nits

This commit only rewrites comments and removes an unused variable in a single file. It does not change any program logic, security behavior, or functionality. There is no security issue here.

c565b825by alvroble+10−111 file
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Improve naming, comments and code consistency * Added explanatory comments and reference to the original issue * Better variable naming and type hinting to increase clarity * Modified nested functions handling, naming and (intended) visibility

This commit is a code cleanup and documentation improvement for a previously existing fingerprint-repair feature in SeedSigner. It renames functions, adds explanatory comments, adds type hints, and refactors nested helper functions. The ac…

725ae563by alvroble+62−601 file
No security note in commit
Informational 15 AI analysisMessage 50 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Light reorg and simplification of `PSBTChangeDetailsScreen`

This commit is a minor UI cleanup for a screen that shows details about a Bitcoin change address. It reorders on-screen elements, changes some label text (for example from 'Change' to 'change address'), and adjusts how a success message is…

71b91cfcby kdmukai+27−201 file
No security note in commit
Low 32 AI analysisMessage 68 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Add PSBT with empty fingerprint support

This commit changes how SeedSigner handles Bitcoin transaction files (PSBTs) that contain placeholder '00000000' fingerprints. Normally, a fingerprint identifies which wallet seed a transaction belongs to. Some wallet software exports inco…

Change to fingerprint matching logic for PSBT ownership verificationNew fallback derivation-and-public-key comparison when fingerprint is zeroMutation of PSBT derivation metadata before parsing/signing
5ebd49c1by alvroble+85−51 file
No security note in commit
Informational 15 AI analysisMessage 65 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

replace PSBT text in codebase with Proposed transaction or Transaction

This commit only renames user-facing text strings. Every occurrence of 'PSBT' shown to the user is changed to 'Transaction' or 'Proposed Transaction' (for example, 'Review PSBT' becomes 'Review Transaction'). There are no code logic, secur…

7df24a84by FazleRabbbiferdaus172+16−164 files
No security note in commit
Informational 15 AI analysisMessage 60 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Update src/seedsigner/gui/screens/psbt_screens.py

This commit is a massive initial repository import or merge of the entire SeedSigner project into the branch. It adds documentation, images, 3D enclosure files, GitHub workflows, Docker files, and source code. The commit title mentions onl…

a31a4fc2by Advait+131777−0328 files
No security note in commit
Repository ledger

Explore captured commits

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

Routine changeMerge pull request #956 from newtonick/fix-build-yml-versioningby Nick Klockenga · 1fb29563 · Jul 22, 2026 · 1 fileMessage 73 · AdequateTriage 0Details
Commit message · Nick Klockenga

Merge pull request #956 from newtonick/fix-build-yml-versioning

[CI] Fix for build.yml and writing `version.json`

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 security-ranked
documentation-only discountmerge-commit duplicate discount
Routine changefix build github action after version additionby newtonick · 7cf5cdd8 · Jul 22, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · newtonick

fix build github action after version addition

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was security-ranked
documentation-only discount
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 security-ranked
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.

Routine changechore: update seedsigner-screenshots submodule to latest devby okaybro · 387fa91f · Jul 21, 2026 · 1 fileMessage 77 · AdequateTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changerefactor: use `Seed` instead of `seed_num`by okaybro · 65e312c9 · Jul 21, 2026 · 8 filesMessage 57 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changeMerge branch 'dev' into update-linux-docsby Nick Klockenga · f42ffff6 · Jul 17, 2026 · 332 filesMessage 45 · ThinTriage 4Details
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 security-ranked
seed or entropy pathsigning or wallet pathauthentication pathparser or protocol pathmerge-commit duplicate discount
Routine changeMerge pull request #603 from fedebuyito/resolves_issue_555by Nick Klockenga · 01a8dc38 · Jul 16, 2026 · 332 filesMessage 73 · AdequateTriage 4Details
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 security-ranked
seed or entropy pathsigning or wallet pathauthentication pathparser or protocol pathmerge-commit duplicate discount
Routine changeMinor bugfix to correct if/else pathby kdmukai · c52577a9 · Jul 15, 2026 · 1 fileMessage 45 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changechore: update seedsigner-translations submodule pointer to latest dev (708961)by okaybro · 3d8af166 · Jun 5, 2026 · 1 fileMessage 62 · AdequateTriage 2Details
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 security-ranked
seed or entropy pathsigning or wallet pathtranslation-only discount
Routine changechangessssby PROWLERx15 · 6ddc7a99 · Jun 2, 2026 · 1 fileMessage 0 · OpaqueTriage 15Details
Commit message · PROWLERx15

changessss

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was security-ranked
seed or entropy path
Routine changefix commentby PROWLERx15 · cf37ac2a · Jun 2, 2026 · 1 fileMessage 0 · OpaqueTriage 27Details
Commit message · PROWLERx15

fix comment

0/100 · OpaqueMessage clarity
! Very short subject! Too few words to establish purpose! No meaningful explanatory body
Why it was security-ranked
seed or entropy pathsigning or wallet path
Routine changeupdate commentby Kshitij · 94485e52 · Jun 2, 2026 · 1 fileMessage 33 · OpaqueTriage 27Details
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
Why it was security-ranked
seed or entropy pathsigning or wallet path
Routine changeci: update workflow to include localization dependencies and compile translationsby okaybro · 3a449ab3 · Jun 1, 2026 · 2 filesMessage 62 · AdequateTriage 0Details
Commit message · okaybro

ci: update workflow to include localization dependencies and compile translations

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 security-ranked
documentation-only discount
Routine changerefactor 12/24 word tests into a single testby PROWLERx15 · 60cb1376 · Jun 1, 2026 · 1 fileMessage 55 · ThinTriage 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 security-ranked
seed or entropy path
Routine changeadded comment explaining changesby PROWLERx15 · d0b729a5 · Jun 1, 2026 · 1 fileMessage 35 · OpaqueTriage 27Details
Commit message · PROWLERx15

added comment explaining changes

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was security-ranked
seed or entropy pathsigning or wallet path
Routine changeupdate conditional branchby PROWLERx15 · ef7d3716 · Apr 9, 2026 · 1 fileMessage 35 · OpaqueTriage 27Details
Commit message · PROWLERx15

update conditional branch

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body
Why it was security-ranked
seed or entropy pathsigning or wallet path
Routine changeremove testby PROWLERx15 · 804dad98 · Apr 9, 2026 · 1 fileMessage 0 · OpaqueTriage 15Details
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
Why it was security-ranked
seed or entropy path
Routine changeadd testsby PROWLERx15 · 3f2344af · Apr 6, 2026 · 1 fileMessage 0 · OpaqueTriage 15Details
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
Why it was security-ranked
seed or entropy path
Routine changefix back navigationby PROWLERx15 · 5c7dcd17 · Apr 6, 2026 · 1 fileMessage 28 · OpaqueTriage 27Details
Commit message · PROWLERx15

fix back navigation

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was security-ranked
seed or entropy pathsigning or wallet path
Routine changereplaced os.popen() with inbuilt file handlingby S1DDHEY · a00810ca · Apr 4, 2026 · 1 fileMessage 45 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changeAdd missing "beta" designation for Czechby kdmukai · 990686f7 · Mar 6, 2026 · 1 fileMessage 45 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changeFinalize v0.8.7 languagesby kdmukai · 8dbaa548 · Mar 6, 2026 · 1 fileMessage 45 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changedocs(README): bump version to 0.8.7by okaybro · bbd0a2f8 · Mar 5, 2026 · 1 fileMessage 57 · ThinTriage 0Details
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 security-ranked
documentation-only discount
Routine changechore: bump version to 0.8.7by okaybro · 27c8aa35 · Mar 5, 2026 · 3 filesMessage 57 · ThinTriage 27Details
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 security-ranked
seed or entropy pathsigning or wallet path
Routine changeupdate seedsigner-translations submodule to latest devby Nick Klockenga · 55939c3c · Mar 5, 2026 · 1 fileMessage 50 · ThinTriage 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 security-ranked
seed or entropy pathsigning or wallet pathtranslation-only discount