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 16 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 candidateCapitalization fix for button optionby kdmukai · 95988c93 · Nov 22, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Capitalization fix for button option

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 only the capitalization of a button label from 'Verify Multisig Addr' to 'Verify multisig addr'. It is a cosmetic user-interface text fix with no security relevance.

Security candidateLight reorg and simplification of `PSBTChangeDetailsScreen`by kdmukai · 71b91cfc · Nov 22, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Light reorg and simplification of `PSBTChangeDetailsScreen`

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

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 centered. There is no security-relevant change.

Security candidateRemove unreachable codeby kdmukai · fbfa3ce6 · Nov 22, 2025 · 1 fileMessage 28 · OpaqueInformational 12Details
Commit message · kdmukai

Remove unreachable code

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

This commit removes a leftover 'Verify address' menu option and its related code from a seed management screen. The code was never reachable because nothing in the program ever set the 'unverified_address' value it depended on. It is a cleanup change, not a security fix.

Security candidateException str does not need to be translatedby kdmukai · 1cf22a4a · Nov 22, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Exception str does not need to be translated

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 removes translation markup from an internal error message. It is a code-quality cleanup with no security relevance. The exception is raised when the program reaches an impossible state, and the message is not shown to users in normal operation.

Lower-priorityUpdating `messages.pot` to `dev` at `3455aa4`by kdmukai · b45a67ef · Nov 21, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Updating `messages.pot` to `dev` at `3455aa4`

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only updates a timestamp in a translation template file (messages.pot). It changes one line: the creation date/time from 14:34 to 14:39. There is no code change, no security fix, and no user-facing behavior change.

Lower-priorityUpdating `messages.pot` to `dev` at `3455aa4`by kdmukai · 7d348046 · Nov 21, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Updating `messages.pot` to `dev` at `3455aa4`

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This commit is a routine update to the translation template file (messages.pot). It only changes user-visible text strings: rewording labels like 'Review PSBT' to 'Review Transaction', fixing capitalization, and updating version/date metadata. There are no code changes and no security implications.

Security candidateOption MICROSD_TOAST_TIMER_FOREVER refactorby alvroble · 663ada81 · Oct 24, 2025 · 3 filesMessage 68 · AdequateLow 37Details
Commit message · alvroble

Option MICROSD_TOAST_TIMER_FOREVER refactor

- Prevent escaping the RemoveMicroSDWarningView by launching SettingsEntryUpdateSelectionView
in a blocking mode. If the tracked setting remains unchanged, Back/normal navigation
returns to the blocking view (RemoveMicroSDWarningView).
- Only 2 ways of escaping this mode: 1) physically removing MicroSD and
2) modifying the setting
- Add test tests/test_flows.py::TestFlowTest::test_remove_microsd_blocking covering:

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Mentions testing or verification
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Low 37/100

This commit changes how SeedSigner handles a warning screen that appears when a MicroSD card is inserted but the device is set to never show reminders about it. Previously, users could simply dismiss the warning and continue using the device with the MicroSD still inserted. After this change, the warning becomes harder to bypass: users must either physically remove the MicroSD card or change the setting that suppresses the reminders. The change is framed by the project as a refactor of a settings option, not as a security fix.

Security candidateupdate seedsigner-translations submodule to commit with foreign language font filesby Nick Klockenga · 18865b10 · Oct 24, 2025 · 1 fileMessage 50 · ThinInformational 9Details
Commit message · Nick Klockenga

update seedsigner-translations submodule to commit with foreign language font files

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

This commit only updates a submodule pointer for translation files and fonts. There is no code change visible, and nothing in the commit message or stats suggests a security issue.

Security candidatemodify Fonts Class and get_font function to load fonts from 2 possible locationsby Nick Klockenga · b8f3ddf1 · Oct 24, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Nick Klockenga

modify Fonts Class and get_font function to load fonts from 2 possible locations

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 teaches the app to look for font files in two folders instead of one. It is a routine feature change to support translated or additional fonts, not a security fix or vulnerability.

Security candidateremove foreign language fonts copied to seedsigner-translationsby Nick Klockenga · fb73cfb7 · Oct 24, 2025 · 5 filesMessage 50 · ThinInformational 15Details
Commit message · Nick Klockenga

remove foreign language fonts copied to seedsigner-translations

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 deletes five font files (for Arabic, Japanese, Korean, Simplified Chinese, and Thai text) from the project. There is no code change and no security-relevant behavior is modified. The action appears to be a cleanup or licensing/compliance step, not a fix for a vulnerability.

AI review queuedUpdates test suiteby alvroble · 21bf4e8e · Oct 24, 2025 · 2 filesMessage 38 · OpaqueInformational 15Details
Commit message · alvroble

Updates test suite

38/100 · OpaqueMessage clarity
✓ Subject identifies a change✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit only updates the project's test suite. It adds a new screenshot configuration for a warning screen and adds one new assertion checking a default setting value. There are no changes to production code, no security fixes, and no behavior changes that affect users.

Security candidateEnhancement for issue #546by alvroble · 385af5f4 · Oct 24, 2025 · 4 filesMessage 66 · AdequateInformational 18Details
Commit message · alvroble

Enhancement for issue #546

Provides 3 microSD options:
- Toast disabled
- 5-sec toast (default)
- SD card removal required* (fullscreen dialog,
cannot proceed unless microSD is removed)

- "SD card removal required" option: warning view
shown instead of fullscreen toast so user can
disable this setting without removing SD card.

66/100 · AdequateMessage clarity
✓ Descriptive subject✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
seed or entropy pathsigning or wallet path
AI analysis · Informational 18/100

This commit adds user-configurable reminders to remove the microSD card from a SeedSigner hardware wallet. Previously the reminder stayed on screen essentially forever; now users can choose a 5-second toast, no reminder, or a blocking warning that requires removing the card. It is a usability and safety enhancement, not a fix for an exploitable vulnerability.

Security candidateMinor bugfix; mocks for test suiteby kdmukai · 8a1b174e · Oct 23, 2025 · 2 filesMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Minor bugfix; mocks for test suite

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 a minor cleanup and test-fix change. It replaces a debug logging line with a commented-out print statement and adds mock modules so the test suite can run without Raspberry Pi-specific hardware dependencies. There is no security-relevant change.

Security candidateImport numpy, pivideostream in backgroundby kdmukai · 16e57e58 · Oct 23, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Import numpy, pivideostream in background

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 performance optimization, not a security fix. It moves two slow-to-load software modules (numpy and pivideostream) so they start loading in the background while the user is still seeing the startup screen. This makes the device feel faster but does not change what the software does or how it protects data.

Security candidateRestore minor button text changeby kdmukai · 378e52d0 · Oct 23, 2025 · 1 fileMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Restore minor button text change

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 changes the label on a button from 'Done' to 'Back to Main Menu' in a screen shown when an option is disabled. It is a cosmetic user-interface wording change with no security relevance.

Security candidateRemove unnecessary importby kdmukai · 5a1247a6 · Oct 23, 2025 · 1 fileMessage 35 · OpaqueInformational 15Details
Commit message · kdmukai

Remove unnecessary import

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 removes two redundant import statements inside a camera driver file. The same class (CameraConnectionError) is already available in the module, so the local imports were unnecessary. There is no security-relevant change.

Security candidateAdd custom error View for `CameraConnectionError`by kdmukai · 4cb0c5a4 · Oct 23, 2025 · 3 filesMessage 45 · ThinInformational 19Details
Commit message · kdmukai

Add custom error View for `CameraConnectionError`

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 adds a friendly, specific error screen for when the SeedSigner device cannot talk to its camera. Previously, camera connection failures fell through to a generic 'unhandled exception' screen. The change reroutes that specific error to a new screen that tells the user to check the camera cable. It is a user-experience and diagnostic improvement, not a security fix.

AI review queuedremove unused importby kdmukai · 7a054a05 · Oct 23, 2025 · 1 fileMessage 28 · OpaqueInformational 15Details
Commit message · kdmukai

remove unused import

28/100 · OpaqueMessage clarity
✓ Subject identifies a change! No meaningful explanatory body
Why it was queued
second-pass: opaque commit message
AI analysis · Informational 15/100

This commit removes an unused test import (UnhandledExceptionView) from a test helper file. It is a routine cleanup with no security relevance.

Lower-priorityImproved flow test exception simulationby kdmukai · 643ef1e1 · Oct 23, 2025 · 1 fileMessage 55 · ThinInformational 14Details
Commit message · kdmukai

Improved flow test exception simulation

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 14/100

This is a small change to a test file that makes the test suite simulate a camera error more realistically. It does not change the actual application code that users interact with, so it has no direct security impact on the product itself.

Lower-priorityAdd flow test for `CameraConnectionErrorView`by kdmukai · 5df8f647 · Oct 23, 2025 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · kdmukai

Add flow test for `CameraConnectionErrorView`

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
AI analysis · Informational 15/100

This commit only adds a new automated test that checks what happens when the camera fails to connect. It does not change any production code, so it cannot introduce a security vulnerability or fix one.

Lower-priorityExplicitly add CameraConnectionError as our UnhandledExceptionView screenshotby kdmukai · 353ce598 · Oct 23, 2025 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · kdmukai

Explicitly add CameraConnectionError as our UnhandledExceptionView screenshot

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
AI analysis · Informational 15/100

This is a tiny change to a test screenshot generator. It swaps one fake error message used for generating documentation screenshots for another fake error message. There is no change to the actual application code that users run, and no security relevance.

Security candidateFix error screen button textby kdmukai · 655a3129 · Oct 23, 2025 · 2 filesMessage 45 · ThinInformational 15Details
Commit message · kdmukai

Fix error screen button text

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 only changes the text on two on-screen buttons: one shown when an unrecognised QR code is scanned, and one shown after an unexpected system error. It does not change any security logic, input handling, cryptography, or network behaviour. It is a user-interface wording fix with no security relevance.

Security candidateHandle PiCameraError more gracefullyby kdmukai · 94b82b15 · Oct 23, 2025 · 1 fileMessage 35 · OpaqueInformational 19Details
Commit message · kdmukai

Handle PiCameraError more gracefully

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

This commit changes how the SeedSigner camera code handles hardware camera failures. Instead of letting a low-level PiCamera error crash the user experience with a technical message, it now catches that error and raises a friendlier 'CameraConnectionError' telling the user to check camera connections. It is a reliability/usability improvement, not a security fix.

Security candidateMerge pull request #760 from kdmukai/add_screenshot_screen_brightness_tipby Nick Klockenga · bc8bcbff · Oct 22, 2025 · 336 filesMessage 73 · AdequateInformational 15Details
Commit message · Nick Klockenga

Merge pull request #760 from kdmukai/add_screenshot_screen_brightness_tip

[New screenshot] Brightness tip during QR display

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 appears to be adding documentation, build infrastructure, enclosure designs, and other project files to the SeedSigner repository. The commit title mentions adding a screenshot for a brightness tip during QR display. Based on the supplied diff, there are no code changes that introduce security vulnerabilities. The additions are primarily documentation, GitHub workflow files, Docker setup, 3D enclosure files, images, and PDF templates. No malicious or suspicious changes are visible in the provided materials.

Security candidateminor editsby kdmukai · 830a6889 · Oct 22, 2025 · 1 fileMessage 0 · OpaqueInformational 15Details
Commit message · kdmukai

minor edits

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

This commit only rewords two sentences in a documentation file about SeedQR. There are no code changes, no configuration changes, and no security-relevant alterations.