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

Security candidatedebuggingby kdmukai · 906f21cc · Dec 20, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

debugging

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 adds a single debug print statement that displays the value of an environment variable used during the build process. It does not change how the software works, does not introduce a security flaw, and does not affect end-user security. It is a routine development/debugging change.

Security candidaterename and bugfixby kdmukai · 657167ac · Dec 20, 2025 · 3 filesMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

rename and bugfix

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

This commit simply renames a method from get_last_edit to get_last_edit_timestamp and updates the places that call it and test it. There is no security issue here—just a cleanup to fix a naming mismatch (the caller was already using a name that did not exist).

Security candidateUse `git` directly to get branch or tag nameby kdmukai · d02e9805 · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 18Details
Commit message · kdmukai

Use `git` directly to get branch or tag name

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

This commit removes a leftover debug print statement and changes how the software figures out its own version name by asking the Git tool directly instead of relying on a pre-existing file. The change itself is not a security fix, but it removes a minor information leak (the hostname) and avoids a build-time dependency on a generated file. There is no evidence this was reported as a security issue or credited to a researcher.

Security candidateTry to pull version name from CI env varsby kdmukai · 97386fff · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Try to pull version name from CI env vars

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 changes how the SeedSigner software figures out its own version number when it cannot read version info from the local git repository. Instead of immediately giving up, it now checks whether it is running inside GitHub Actions and, if so, uses environment variables provided by GitHub to determine the version. There is no security issue visible in this change.

Security candidateUse SeedSigner OS env var; enforce utc timeby kdmukai · 37531c03 · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 19Details
Commit message · kdmukai

Use SeedSigner OS env var; enforce utc time

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 changes how SeedSigner records its software version and build timestamp. It now reads a version name from an environment variable used by SeedSigner OS and forces the last-edit timestamp to UTC. These are build-process improvements, not fixes for an active security vulnerability. The only security-relevant aspect is a small hardening of how external shell commands and environment input are handled.

Security candidateUse `git log` for most recent commit's edit time when writing version.jsonby kdmukai · 3f7803fa · Dec 20, 2025 · 1 fileMessage 50 · ThinInformational 14Details
Commit message · kdmukai

Use `git log` for most recent commit's edit time when writing version.json

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

This commit changes how SeedSigner records the 'last edit time' in its version.json file. Previously it scanned all source files for the most recent modification time. Now it runs a git command to use the most recent commit timestamp. The main concern is that it uses os.popen(), which executes a shell command, and does not validate the output. In normal use this is benign, but if an attacker can control the working directory or git executable, it could become a command-injection or misleading-metadata issue. There is no direct evidence this is being exploited.

Security candidatebetter path handlingby kdmukai · 5eb8d08b · Dec 20, 2025 · 1 fileMessage 28 · OpaqueInformational 18Details
Commit message · kdmukai

better path handling

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

This commit is a small code-quality improvement that cleans up how a file path is constructed. It uses a standard function (os.path.normpath) to remove redundant '..' segments from a path and prints the actual resolved path instead of a hardcoded string. There is no direct evidence this fixes an exploitable security vulnerability.

Security candidateRemove hard-coded VERSIONby kdmukai · 5ff2e25d · Dec 20, 2025 · 2 filesMessage 35 · OpaqueInformational 18Details
Commit message · kdmukai

Remove hard-coded VERSION

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

This commit removes a hard-coded version number from the SeedSigner software and instead reads the version from a generated file or git metadata. It also adds a debug print statement that exposes the device's hostname setting to standard output. There is no direct security vulnerability in the diff itself, but the change makes version reporting depend on build-time files and local git state, and it leaks an internal configuration value in logs or console output.

Security candidatedir handling improvementsby kdmukai · 722d9986 · Dec 20, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

dir handling improvements

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 is a small code cleanup in SeedSigner's version helper. It extracts a repeated file-path calculation into a shared method and updates a comment about where the version file is written. There is no security-relevant change: the same file is read/written, the same JSON parsing occurs, and no new inputs or trust decisions are introduced.

Security candidateWrite src/version.jsonby kdmukai · 9b717624 · Dec 20, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

Write src/version.json

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

This commit adds a helper that can write the project's version number and last source-edit time into a small JSON file. It is a build/infrastructure change with no apparent security relevance.

Security candidateFix inadvertantly persistent test artifactsby kdmukai · d0b29d22 · Dec 20, 2025 · 2 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Fix inadvertantly persistent test artifacts

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 only changes test files. It removes direct assignments to a shared Settings.HOSTNAME variable inside tests and replaces one with a temporary mock. This prevents test runs from accidentally leaving the simulated device hostname in an unexpected state for later tests. There is no change to the actual SeedSigner application or its security behavior.

Security candidateFix path construction to be compatible with CIby kdmukai · 483cb814 · Dec 20, 2025 · 1 fileMessage 45 · ThinInformational 17Details
Commit message · kdmukai

Fix path construction to be compatible with CI

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

This commit changes how the app finds its own source-code folder so it works correctly in automated build environments. The old code assumed the project path always contained the literal text '/src' and used string splitting, which could fail or behave unexpectedly on some systems. The new code walks up a fixed number of parent directories. There is no direct security vulnerability here, but the old approach could have produced wrong paths in unusual environments.

Security candidateMove version functionality to its own `helpers/version.py` fileby kdmukai · 60e11e9e · Dec 20, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Move version functionality to its own `helpers/version.py` file

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 simply moves existing version-checking code from one file to a new dedicated helper file. It is a routine code cleanup with no visible security implications.

Security candidateCleaner dir path approachby kdmukai · 28c1d928 · Dec 20, 2025 · 2 filesMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

Cleaner dir path approach

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 is a small code cleanup that changes how the app finds the project root directory. It replaces a method based on the current working directory with one based on the location of the source file itself. There is no security issue visible in the change.

Security candidateCreate a 2nd screenshot for the bottom part of the main Settings menuby kdmukai · c5bff2ae · Dec 20, 2025 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Create a 2nd screenshot for the bottom part of the main Settings menu

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 only changes how a settings menu screenshot is generated for documentation. It adds a way to pre-select a specific menu button so the screenshot can show the bottom of the settings list. There is no security-relevant change to user-facing behavior, cryptography, or private data handling.

Security candidateMinor editby kdmukai · 6229f027 · Dec 20, 2025 · 1 fileMessage 0 · OpaqueInformational 17Details
Commit message · kdmukai

Minor edit

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

This is a one-line tightening of a string comparison. The code previously accepted a tag file's commit hash if it merely began with the same characters as the git reference; now it requires an exact match. This prevents a partial-prefix match from being treated as a valid tag, which could in theory cause the wrong software version tag to be displayed or selected. There is no direct evidence this is exploitable for harm, and the commit message does not describe it as a security fix.

Security candidateAdds "Version" option in Settings; pulls git branch or hash in local devby kdmukai · bb243034 · Dec 20, 2025 · 4 filesMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Adds "Version" option in Settings; pulls git branch or hash in local dev

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

This commit adds a new 'Version' menu in Settings and updates the opening splash screen to show the software version. It is a straightforward user-interface feature with no security relevance.

Security candidateAdd get_last_src_editby kdmukai · 3a063334 · Dec 20, 2025 · 5 filesMessage 18 · OpaqueInformational 15Details
Commit message · kdmukai

Add get_last_src_edit

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 commit is a routine UI enhancement for a Bitcoin hardware wallet project. It renames an internal method, adds a helper that finds the most recently modified source file, and displays that timestamp on the version/about screen. There is no security-relevant change.