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 queue116AI 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.
kdmukai1177975039
okaybro171413063
Nick Klockenga14134061
PROWLERx1510106020
alvroble1277055
FazleRabbbiferdaus172866061
biel411037
Advait111060
Kshitij111033
securesigner111050
S1DDHEY111045
newtonick100045
Analysis record

Published AI watches

Last scanned 46 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 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

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 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 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
Informational 15 AI analysisMessage 28 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

minor comment updates

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

848fbc03by Nick Klockenga+2−11 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

refactor(l10n): make multisig wallet policy display translatable

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 …

7f7f977aby okaybro+59−66 files
No security note in commit
Informational 15 AI analysisMessage 77 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

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

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

3e1f8625by okaybro+5−11 file
No security note in commit
Informational 16 AI analysisMessage 35 · Opaque
SS SeedSignerSeedSigner BitcoinHardware wallets

Improvements for SettingsQR Generator

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…

Removal of a standalone export script that wrote to /mnt/microsd when executed on the device hostnamePath traversal/reliability improvement: replaces cwd-based path construction with resolved pathlib pathsNo explicit security bug, CVE, or vulnerability fix present in the diff
fa111d8dby kdmukai+24−271 file
No security note in commit
Informational 15 AI analysisMessage 62 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

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

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

aa4b8e06by okaybro+3−11 file
No security note in commit
Informational 15 AI analysisMessage 77 · Adequate
SS SeedSignerSeedSigner BitcoinHardware wallets

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

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

b7f394e9by okaybro+6−41 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 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.

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): 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): 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.

Security candidatebufixes: dataclass; paramby kdmukai · 0b373b32 · Jan 20, 2026 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

bufixes: dataclass; param

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 is a tiny code cleanup commit in a single display driver file. It adds the Python dataclass decorator to a class and renames one method parameter from 'state' to 'enabled' to match the rest of the code. There is no visible security relevance.

Security candidateRename to `BaseDisplayDriver`; ili9341 changesby kdmukai · 777f6041 · Jan 20, 2026 · 4 filesMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Rename to `BaseDisplayDriver`; ili9341 changes

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 is a routine internal code cleanup. It renames the parent display class from DisplayDriver to BaseDisplayDriver, makes a couple of methods optional instead of requiring every display subclass to implement them, and adjusts the ILI9341 display driver to inherit from the new base class. There is no visible security fix or vulnerability being addressed.

Security candidateRefactor `DisplayDriver` to be a true parent class; add Factoryby kdmukai · 6fed5e88 · Jan 20, 2026 · 4 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Refactor `DisplayDriver` to be a true parent class; add Factory

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

This commit is a routine internal code reorganization. It restructures how the SeedSigner app creates and manages its screen drivers, turning the existing display controller into a parent class and adding a factory pattern. There is no indication this change fixes a security bug or introduces a security vulnerability.

Security candidateBetter bulletproofingby kdmukai · dd9b3ece · Jan 20, 2026 · 2 filesMessage 18 · OpaqueLow 35Details
Commit message · kdmukai

Better bulletproofing

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 · Low 35/100

This commit hardens how SeedSigner loads multiselect settings from saved files or QR codes. Previously, an empty or malformed multiselect value (for example, an empty string, a lone comma, or a missing entry) could leave the setting empty, which might cause unexpected behavior when the app later uses that setting. The patch now strips empty pieces from comma-separated input and falls back to the default value whenever the result is empty. A new test checks four empty/missing cases.

Security candidateEnsure persistent settings load valid multiselectsby kdmukai · 40e9fe76 · Jan 20, 2026 · 2 filesMessage 50 · ThinLow 31Details
Commit message · kdmukai

Ensure persistent settings load valid multiselects

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 · Low 31/100

This commit fixes a bug in how SeedSigner reloads saved settings. If a setting that is supposed to be a list of choices (a 'multiselect') was saved as empty/None, the app could behave incorrectly. The patch makes the app fall back to the default list instead. It is a defensive fix rather than a clear-cut remote exploit.

Security candidateSettingsQR values cannot be blankby kdmukai · adaf3d1f · Jan 20, 2026 · 2 filesMessage 45 · ThinLow 36Details
Commit message · kdmukai

SettingsQR values cannot be blank

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

This commit fixes a bug in how SeedSigner reads setup information from a QR code. Previously, if a setting value was left blank (for example, 'sigs=' with nothing after the equals sign), the app would silently accept it and could misinterpret later settings. Now the app rejects blank values and reports an error. This is a defensive hardening change rather than a confirmed exploit, but it prevents potential misconfiguration or unexpected behavior.

Security candidateUX changes to require a selection for multiselect settingsby kdmukai · 6e25e3f9 · Jan 20, 2026 · 3 filesMessage 50 · ThinInformational 23Details
Commit message · kdmukai

UX changes to require a selection for multiselect settings

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

This commit adds a user-experience guard so that settings where multiple options can be toggled now require at least one option to remain selected. Previously, a user could back out of such a setting with nothing selected, which could leave the device in an unintended or non-functional configuration. The fix shows a warning and returns the user to the setting until they pick at least one option.

Security candidateAdd `is_release_image` and related testby kdmukai · 797d036a · Dec 27, 2025 · 3 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Add `is_release_image` and related 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 pathsigning or wallet path
AI analysis · Informational 15/100

This commit adds a helper function that decides whether the running software is an official release image. It then uses that helper to hide extra technical details (fork name and commit hash) from the version screen only for official releases. There is no security fix or vulnerability here; it is a UI refinement with tests.

Security candidateAdds Github Actions CI `SOURCE_SHA` custom env varby kdmukai · 4a7552c8 · Dec 26, 2025 · 3 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Adds Github Actions CI `SOURCE_SHA` custom env var

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

This commit is a routine improvement to how SeedSigner reads version information during automated GitHub testing. It adds a new environment variable SOURCE_SHA so that when outside contributors open pull requests, the displayed commit hash points to the contributor's actual latest commit rather than a temporary merge commit GitHub creates internally. There is no security vulnerability here.

Security candidateGithub Actions CI env var improvementsby kdmukai · e08442dd · Dec 26, 2025 · 3 filesMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Github Actions CI env var improvements

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 improves how the SeedSigner software detects its own version information when running automated tests in GitHub Actions. It adds new environment variables so that pull request builds correctly show the contributor's branch name and username instead of misleading placeholder values. There is no security vulnerability here; it is a quality-of-life improvement for build metadata.

Security candidateGithub Actions CI timestamp format bugfixby kdmukai · 3394d0cb · Dec 26, 2025 · 2 filesMessage 45 · ThinInformational 19Details
Commit message · kdmukai

Github Actions CI timestamp format bugfix

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

This commit fixes a small date-parsing bug in the software's version helper. When the code runs in GitHub Actions, Git reports the latest commit time ending in 'Z' (a common UTC notation), but the Python function used to read that date didn't understand 'Z' before Python 3.11. The patch simply replaces 'Z' with '+00:00' so the date parses correctly. It is a compatibility fix, not a security fix.

Security candidateSimplify SeedSigner OS builder pathby kdmukai · d2914c33 · Dec 26, 2025 · 4 filesMessage 45 · ThinInformational 20Details
Commit message · kdmukai

Simplify SeedSigner OS builder 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 20/100

This commit refactors how SeedSigner determines and records its software version. It removes an environment-variable-based build path and instead reads version info directly from git. The change is mostly cleanup and testing improvements. There is no obvious security vulnerability, but the code still uses shell commands (os.popen) and parses git output, which can be risky if inputs are ever attacker-controlled. Here, the inputs come from the local git state or trusted environment variables, so the practical risk is low.

Security candidateRemove unnecessary error messageby kdmukai · 9d6a93b9 · Dec 26, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

Remove unnecessary error message

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 simplifies a custom camera error exception by removing a hard-coded user-facing error message. The exception still exists and will still be raised; it just no longer automatically includes the text 'Camera error. Check camera connections.' There is no security-relevant change visible in the diff.

Security candidateNaming clean up; version.json gets "v" prefix; explicit SeedSigner OS builder pathsby kdmukai · 0a02616c · Dec 25, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Naming clean up; version.json gets "v" prefix; explicit SeedSigner OS builder paths

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

This commit is a routine code cleanup and build-system improvement. It renames internal variables (for example, changing 'version_commit_hash' to 'short_commit_hash'), makes the version string consistently include a 'v' prefix, and adds explicit support for detecting the SeedSigner OS build environment. There is no change that affects security or user safety.

Security candidatere-org section placement; minor test name fixups after renamesby kdmukai · 6cd932ab · Dec 25, 2025 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · kdmukai

re-org section placement; minor test name fixups after renames

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! 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 block of existing code (the git shell command helpers) to a different location in the same file and renames a couple of test methods. No behavior changes, no security fixes, and no new vulnerabilities are introduced.

Security candidateSlight test case reorg; additional tests to maintain 100% coverageby kdmukai · 65009775 · Dec 25, 2025 · 2 filesMessage 60 · AdequateInformational 15Details
Commit message · kdmukai

Slight test case reorg; additional tests to maintain 100% coverage

60/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 15/100

This commit is purely a code cleanup and test expansion. It renames internal helper methods in the version utility to be clearer (for example, changing `_get_version_name_from_env_var` to `_get_version_name_from_seedsigner_os_env_var`), reorganizes comments, and adds new tests to keep test coverage at 100%. There is no change to user-facing behavior, no fix for a bug, and no security-related change.

Security candidaterestore Version.override_data for screenshot generatorby kdmukai · 10767de9 · Dec 24, 2025 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · kdmukai

restore Version.override_data for screenshot generator

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

This commit restores a helper function that lets the project’s screenshot generator temporarily override version information shown in screenshots. The function is decorated so it cannot run on the actual SeedSigner OS device. It only affects display text used in documentation screenshots, not private keys, seeds, or transaction logic.

Security candidateInterim commit; coverage at 100%by kdmukai · 74ebe10b · Dec 24, 2025 · 3 filesMessage 55 · ThinInformational 14Details
Commit message · kdmukai

Interim commit; coverage at 100%

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

This commit is a routine internal refactor of how the app reads its own version information (version name, fork, timestamp, commit hash). It consolidates singleton setup, renames constants and methods, adds GitHub Actions CI detection, and expands unit tests to reach 100% code coverage. There is no direct evidence in the commit that this fixes a security vulnerability or introduces a new attack path. The changes are mostly about making version reporting more reliable and testable.

Security candidateAdding tests, bugfixes; interim commitby kdmukai · c5efda30 · Dec 23, 2025 · 4 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Adding tests, bugfixes; interim commit

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

This commit is mostly a routine code cleanup and test expansion for how SeedSigner reports its software version. It renames a decorator, adds more tests, improves error handling when files are missing, and fixes a timestamp formatting bug when checking GitHub releases. There is no direct evidence in the commit that this fixes an active security vulnerability, but it does reduce risky behavior such as silently swallowing errors and making unverified shell calls in some contexts.

Security candidateHuge refactor; interim commitby kdmukai · 47212c98 · Dec 22, 2025 · 7 filesMessage 35 · OpaqueInformational 16Details
Commit message · kdmukai

Huge refactor; interim commit

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 is a large code refactor that changes how SeedSigner detects and displays its software version. It replaces a simple version reader with a more complex singleton system that reads git state, environment variables, and a JSON file. The changes are mostly about version reporting and do not appear to alter how private keys, seeds, or Bitcoin transactions are handled. There is no clear security bug visible in the diff, but the refactor introduces new code paths that touch files and shell commands, which always carry some risk of mistakes.

Security candidatebugfixby kdmukai · 272db5df · Dec 20, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

bugfix

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 fixes a bug in how SeedSigner determines and reports its software version. Previously, the version was set once and could be left blank or stale in certain build situations. The patch makes version detection more reliable by trying multiple sources: an environment variable, the current Git branch, the latest Git tag, and finally the short commit hash. There is no direct evidence this is a security fix, but reliable version reporting helps users and developers confirm they are running the expected software.