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. Security candidates and broader second-pass signals receive full-patch Ollama analysis.

134security candidates25second-pass queue137AI 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
42security 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.
kdmukai1177979039
okaybro171414063
Nick Klockenga141313061
PROWLERx15101010020
alvroble12710055
FazleRabbbiferdaus172866061
biel411037
Advait111060
Kshitij111033
securesigner111050
S1DDHEY111045
newtonick100045
Analysis record

Published AI watches

Last scanned 53 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 15 AI analysisMessage 57 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

refactor: use `Seed` instead of `seed_num`

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

65e312c9by okaybro+238−2698 files
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge branch 'dev' into update-linux-docs

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

f42ffff6by Nick Klockenga+135220−0332 files
No security note in commit
Informational 15 AI analysisMessage 73 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

Merge pull request #603 from fedebuyito/resolves_issue_555

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

No security-relevant code changes present in supplied diffNo modifications to cryptographic, wallet, QR, or seed-handling logicNo input validation, parsing, or privilege changes visible
01a8dc38by Nick Klockenga+135192−0332 files
No security note in commit
Informational 23 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Minor bugfix to correct if/else path

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

Logic bug in seed finalization flowIncorrect fingerprint display conditionPotential user confusion during seed setup
c52577a9by kdmukai+3−21 file
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

changessss

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…

6ddc7a99by PROWLERx15+9−61 file
No security note in commit
Informational 15 AI analysisMessage 0 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

fix comment

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.

cf37ac2aby PROWLERx15+2−21 file
No security note in commit
Informational 15 AI analysisMessage 33 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

update comment

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.

94485e52by Kshitij+4−41 file
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

refactor 12/24 word tests into a single test

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

60cb1376by PROWLERx15+11−231 file
No security note in commit
Informational 15 AI analysisMessage 35 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

added comment explaining changes

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 …

d0b729a5by PROWLERx15+4−11 file
No security note in commit
Low 34 AI analysisMessage 35 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

update conditional branch

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…

Back-button control flow altered in seed creation UIPending mnemonic discard logic narrowed to first-word exit onlyRemoval of back-button guard before button_data indexing in finalize view
ef7d3716by PROWLERx15+3−71 file
No security note in commit
Informational 12 AI analysisMessage 0 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

remove test

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…

No production code modifiedTest-only deletionNo functional or behavioral change to firmware
804dad98by PROWLERx15+0−221 file
No security note in commit
Informational 12 AI analysisMessage 0 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

add tests

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

No production code changedTest-only commitTests assert navigation/state consistency for BACK behavior in seed entry flows
3f2344afby PROWLERx15+104−01 file
No security note in commit
Informational 19 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

fix back navigation

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

No security-relevant keywords in commit title or messageNo changes to cryptography, key handling, or authenticationChange is purely UI navigation flow
5c7dcd17by PROWLERx15+4−41 file
No security note in commit
Low 46 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

replaced os.popen() with inbuilt file handling

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

Removal of os.popen shell invocationReplacement of shell pipeline with native file I/ODefensive hardening in entropy collection path
a00810caby S1DDHEY+6−41 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Add missing "beta" designation for Czech

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.

990686f7by kdmukai+1−11 file
No security note in commit
Informational 15 AI analysisMessage 45 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

Finalize v0.8.7 languages

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). T…

8dbaa548by kdmukai+12−101 file
No security note in commit
Informational 15 AI analysisMessage 57 · Thin
SS SeedSignerSeedSigner BitcoinHardware wallets

chore: bump version to 0.8.7

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 …

27c8aa35by okaybro+4−43 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.

Security candidateDRY refactorby PROWLERx15 · 39400d15 · Aug 28, 2025 · 1 fileMessage 18 · OpaqueInformational 15Details
Commit message · PROWLERx15

DRY refactor

18/100 · OpaqueMessage clarity
✓ Subject identifies a change! 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 is a minor code cleanup (DRY = Don't Repeat Yourself) in the user interface of a Bitcoin seed-signing device. It merges two nearly identical blocks of code that update the on-screen title into one shared block. There is no security-relevant change.

Security candidate[REF] logger in is moved above the commentby FazleRabbbiferdaus172 · 0d8e158e · Aug 27, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · FazleRabbbiferdaus172

[REF] logger in is moved above the comment

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 moves a log message one line earlier in the code, placing it above a comment instead of below it. There is no functional change, no security fix, and no behavior change. It is a minor code cleanup (refactoring).

Security candidate[REF] __post_init__ removed and RestartView initiates and start inside run methodby FazleRabbbiferdaus172 · 1334ad30 · Aug 27, 2025 · 1 fileMessage 50 · ThinInformational 12Details
Commit message · FazleRabbbiferdaus172

[REF] __post_init__ removed and RestartView initiates and start inside run method

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 path
AI analysis · Informational 12/100

This is a small internal code cleanup in SeedSigner, a hardware wallet project. It moves the creation and starting of a background restart thread from a setup method into the main run method. There is no obvious security problem introduced by this change, and no security relevance is stated by the project.

Security candidatelog moved to DoResetThreadby FazleRabbbiferdaus172 · 674945e9 · Aug 25, 2025 · 1 fileMessage 58 · ThinInformational 13Details
Commit message · FazleRabbbiferdaus172

log moved to DoResetThread

Placing the log message inside the thread means it gets written at the exact moment the restart process actually begins. As in case of restart view this never gets executed. Better encapsulates the component responsible for rest.

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 13/100

This commit simply moves a log message that says 'Restarting SeedSigner' from one place in the code to another place inside the restart thread. It does not change what the program does, only when a status message is recorded. There is no security issue visible in this change.

Security candidate[FIX] generate png for restart viewby FazleRabbbiferdaus172 · e12a11b1 · Aug 24, 2025 · 1 fileMessage 78 · AdequateInformational 15Details
Commit message · FazleRabbbiferdaus172

[FIX] generate png for restart view

run_screen need to be executed by screenshot generator test to generate png for restart view. But we don't want to restart so the not starting the thread should be the way.

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 path
AI analysis · Informational 15/100

This commit fixes a screenshot-generation test issue. Previously, the RestartView skipped rendering entirely when used by the screenshot generator, so no PNG image was produced for the restart screen. The change now renders the reset screen but only starts the actual restart thread when not in screenshot mode. There is no security issue here.

Security candidateUpdate src/seedsigner/gui/screens/psbt_screens.pyby Advait · a31a4fc2 · Aug 19, 2025 · 328 filesMessage 60 · AdequateInformational 15Details
Commit message · Advait

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

Co-authored-by: notTanveer <101289209+notTanveer@users.noreply.github.com>

60/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
signing boundaryseed or entropy pathsigning or wallet pathauthentication pathparser or protocol path
AI analysis · Informational 15/100

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 only one file (psbt_screens.py), but the actual diff covers 328 files and is almost entirely additive. There is no evidence in the supplied materials of any security vulnerability, malicious change, or code defect.

Security candidaterefactor: replace `.display()` with `View.run_screen`by okaybro · 80af82aa · Aug 15, 2025 · 4 filesMessage 62 · AdequateInformational 15Details
Commit message · okaybro

refactor: replace `.display()` with `View.run_screen`

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 internal code cleanup: it replaces direct calls to a screen's `.display()` method with a new helper called `self.run_screen()`. The user-visible behavior appears unchanged; it is a refactoring, not a security fix.

Security candidateMerge pull request #773 from PROWLERx15/cleanup-bip-referencesby Nick Klockenga · 7dd2e075 · Aug 12, 2025 · 333 filesMessage 73 · AdequateInformational 15Details
Commit message · Nick Klockenga

Merge pull request #773 from PROWLERx15/cleanup-bip-references

BIP references cleanup to read like "BIP-XX"

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 that adds many documentation, build, and asset files to the repository, plus a GitHub pull request template and CI workflows. The stated purpose is to clean up BIP references so they read like 'BIP-XX'. Nothing in the visible diff changes application code that handles seeds, keys, transactions, or cryptography. There are no security-relevant code changes evident from the supplied materials.

Security candidatefix dice roll countby PROWLERx15 · 6bbac946 · Aug 10, 2025 · 1 fileMessage 28 · OpaqueInformational 19Details
Commit message · PROWLERx15

fix dice roll count

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 a minor user-interface bug in SeedSigner, a hardware Bitcoin wallet. When a user was entering dice rolls to create a seed and pressed the backspace/delete key, the on-screen title did not update to show the reduced dice-roll count. The fix simply refreshes the title after each deletion. There is no indication this affects security, private keys, funds, or device integrity.