SP
← All projectsSpecter

Specter DIY

DIY air-gapped Bitcoin hardware-wallet firmware.

BitcoinHardware walletsNormal
Repository coverage

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

11security candidates2second-pass queue7AI analyses
0commits · 30 days
0commits · 60 days
5commits · 180 days
23commits · 365 days
Backfill bands
Aug 5 → Feb 618 seen6 candidatesComplete
Feb 6 → Jun 65 seen1 candidatesComplete
Jun 6 → Jul 60 seen0 candidatesComplete
Jul 6 → Aug 50 seen0 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.

64/100 average clarity
4Strong · 80–100
7Adequate · 60–79
12Thin · 40–59
0Opaque · 0–39
Read the scoring rubric →
Developer activity

Who is changing the project?

Public Git author strings; identities are not independently verified.

DeveloperCommitsCandidatesAnalyzedHigh riskMessage avg.
k9ert1075064
3rd Iteration511056
Tads210076
Oren111073
Schnuartz110058
al-munazzim200083
Azzbo77100058
Mike Tolkachev100053
Analysis record

Published AI watches

Last scanned 0 minutes ago

Informational 0 AI analysisMessage 68 · Adequate
SP SpecterSpecter DIY BitcoinHardware wallets

Update bootloader submodule to latest (#350)

This commit only updates a Git submodule pointer for the bootloader to a newer commit. No actual source code changes are shown, and no verified security references were provided. There is no direct evidence in the materials that this updat…

95353b64by k9ert+1−11 file
No security note in commit
Informational 19 AI analysisMessage 73 · Adequate
SP SpecterSpecter DIY BitcoinHardware wallets

Show Transaction Version, Locktime and inputs' sequences when signing transactions! (#321)

This commit adds more information to the transaction signing screen of the Specter DIY hardware wallet. It now shows the transaction version, locktime, and each input's sequence number, helping users spot unusual transaction settings (such…

UI now surfaces transaction version, nLockTime, and input nSequence during signingSequence values are interpreted to warn about RBF and relative locktimeLocktime is flagged when all inputs have sequence=0xFFFFFFFF (locktime disabled)
3d1bb8edby Oren+207−108 files
No security note in commit
Informational 11 AI analysisMessage 53 · Thin
SP SpecterSpecter DIY BitcoinHardware wallets

Add bootloader to upgrade binary (#323)

This commit changes a build script so that the upgrade package now includes the bootloader alongside the main application firmware, and adds a safety flag that stops the script on first error. There is no direct evidence in the commit that…

Build script now includes bootloader in upgrade binaryBuild script now fails fast with set -eNo explicit security claim in commit message or diff
ed9ad9a6by k9ert+4−21 file
No security note in commit
Informational 15 AI analysisMessage 58 · Thin
SP SpecterSpecter DIY BitcoinHardware wallets

Update build firmware.sh to add no bootloader build by default (#315)

This change simply updates the project's firmware build script and documentation to also produce a 'no bootloader' firmware image by default. It is a developer convenience for testing on development boards and does not alter any runtime co…

6f66962aby 3rd Iteration+21−03 files
No security note in commit
Informational 11 AI analysisMessage 65 · Adequate
SP SpecterSpecter DIY BitcoinHardware wallets

Revert "chore: adding the bootloader to upgrade binary for next release"

This commit undoes a previous change that added the bootloader to the device's upgrade binary. It removes the bootloader from the generated upgrade file and also removes a 'set -e' safety flag from the build script. On its own, this revert…

Build script change affecting firmware packagingBootloader removed from upgrade binary generationset -e error-on-fail flag removed from shell script
b6778187by k9ert+2−51 file
No security note in commit
Informational 11 AI analysisMessage 62 · Adequate
SP SpecterSpecter DIY BitcoinHardware wallets

chore: adding the bootloader to upgrade binary for next release

This is a build-script change for a hardware-wallet project. It adds a command-line flag so that the upgrade package generator includes the bootloader file alongside the main firmware. It also adds `set -e` so the build script stops on err…

Build script now bundles bootloader into upgrade binaryBuild script now exits on first error (`set -e`)No security-relevant description in commit message or diff
54a38094by k9ert+5−21 file
No security note in commit
Informational 15 AI analysisMessage 88 · Strong
SP SpecterSpecter DIY BitcoinHardware wallets

chore: Get build back to work and some CI (#307)

This commit is a routine build and continuous-integration (CI) maintenance change for the Specter DIY hardware wallet project. It adds Nix package-manager files to pin build dependencies, a GitHub Actions workflow to compile the firmware, …

ce35419bby k9ert+45671−0243 files
No security note in commit
Repository ledger

Explore captured commits

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

Security candidateUpdate bootloader submodule to latest (#350)by k9ert · 95353b64 · Apr 9, 2026 · 1 fileMessage 68 · AdequateInformational 0Details
Commit message · k9ert

Update bootloader submodule to latest (#350)

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

68/100 · AdequateMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
update trustboot or update path
AI analysis · Informational 0/100

This commit only updates a Git submodule pointer for the bootloader to a newer commit. No actual source code changes are shown, and no verified security references were provided. There is no direct evidence in the materials that this update fixes or introduces a security issue.

Security candidaterelease: prepare release (#340)by k9ert · 30ebb834 · Jan 29, 2026 · 2 filesMessage 58 · ThinTriage 12Details
Commit message · k9ert

release: prepare release (#340)

Co-authored-by: k9ert <kim@swanbitcoin.com>

58/100 · ThinMessage clarity
✓ Descriptive subject✓ Provides an explanatory body✓ Links an issue, advisory, or supporting reference
Why it was queued
boot or update path
Security candidatefeat: Removed ben and added k9ert keys for releasing (#306)by k9ert · 7bfd5196 · Jan 22, 2026 · 1 fileMessage 70 · AdequateTriage 12Details
Commit message · k9ert

feat: Removed ben and added k9ert keys for releasing (#306)

70/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
boot or update path
Security candidateShow Transaction Version, Locktime and inputs' sequences when signing transactions! (#321)by Oren · 3d1bb8ed · Jan 20, 2026 · 8 filesMessage 73 · AdequateInformational 19Details
Commit message · Oren

Show Transaction Version, Locktime and inputs' sequences when signing transactions! (#321)

Co-authored-by: k9ert <117085+k9ert@users.noreply.github.com>
Co-authored-by: k9ert <kim@swanbitcoin.com>

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
signing boundarysigning or wallet path
AI analysis · Informational 19/100

This commit adds more information to the transaction signing screen of the Specter DIY hardware wallet. It now shows the transaction version, locktime, and each input's sequence number, helping users spot unusual transaction settings (such as delayed spending or disabled locktime) before they approve a signature. There is no direct evidence this fixes an active exploit; it is primarily a user-interface hardening change.

Security candidateAdd support for selecting and combining build actions (#333)by Tads · 1f98790b · Dec 11, 2025 · 5 filesMessage 58 · ThinTriage 12Details
Commit message · Tads

Add support for selecting and combining build actions (#333)

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
boot or update path
Security candidateAdd bootloader to upgrade binary (#323)by k9ert · ed9ad9a6 · Dec 4, 2025 · 1 fileMessage 53 · ThinInformational 11Details
Commit message · k9ert

Add bootloader to upgrade binary (#323)

53/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
update trustboot or update path
AI analysis · Informational 11/100

This commit changes a build script so that the upgrade package now includes the bootloader alongside the main application firmware, and adds a safety flag that stops the script on first error. There is no direct evidence in the commit that this fixes a security vulnerability; it appears to be a build/packaging improvement.

Security candidateUpdate build firmware.sh to add no bootloader build by default (#315)by 3rd Iteration · 6f66962a · Nov 27, 2025 · 3 filesMessage 58 · ThinInformational 15Details
Commit message · 3rd Iteration

Update build firmware.sh to add no bootloader build by default (#315)

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
update trustboot or update path
AI analysis · Informational 15/100

This change simply updates the project's firmware build script and documentation to also produce a 'no bootloader' firmware image by default. It is a developer convenience for testing on development boards and does not alter any runtime code, cryptographic checks, or security behavior of the actual device firmware.

Security candidateChange button text from 'Enter BIP-39 password' to 'Enter passphrase' (#327)by Schnuartz · 7447f04a · Nov 27, 2025 · 2 filesMessage 58 · ThinTriage 18Details
Commit message · Schnuartz

Change button text from 'Enter BIP-39 password' to 'Enter passphrase' (#327)

58/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Links an issue, advisory, or supporting reference! No meaningful explanatory body
Why it was queued
access control
Security candidateRevert "chore: adding the bootloader to upgrade binary for next release"by k9ert · b6778187 · Nov 17, 2025 · 1 fileMessage 65 · AdequateInformational 11Details
Commit message · k9ert

Revert "chore: adding the bootloader to upgrade binary for next release"

This reverts commit 54a38094e822c42b6acaabf30a5cbbca418388ef.

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Provides an explanatory body
Why it was queued
update trustboot or update path
AI analysis · Informational 11/100

This commit undoes a previous change that added the bootloader to the device's upgrade binary. It removes the bootloader from the generated upgrade file and also removes a 'set -e' safety flag from the build script. On its own, this revert does not introduce a clear security vulnerability; it is a build-script change whose security implications depend heavily on whether the bootloader is supposed to be included in upgrades.

Security candidatechore: adding the bootloader to upgrade binary for next releaseby k9ert · 54a38094 · Nov 17, 2025 · 1 fileMessage 62 · AdequateInformational 11Details
Commit message · k9ert

chore: adding the bootloader to upgrade binary for next release

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
update trustboot or update path
AI analysis · Informational 11/100

This is a build-script change for a hardware-wallet project. It adds a command-line flag so that the upgrade package generator includes the bootloader file alongside the main firmware. It also adds `set -e` so the build script stops on errors. There is no direct evidence in the commit that this fixes or introduces a security vulnerability; it appears to be a release-engineering change.

Security candidatechore: Get build back to work and some CI (#307)by k9ert · ce35419b · Oct 7, 2025 · 243 filesMessage 88 · StrongInformational 15Details
Commit message · k9ert

chore: Get build back to work and some CI (#307)

* fix: pin dependencies via on nix and create flake

* ci: try build

* Update flake.nix

Co-authored-by: Ruben <36157890+ubbabeck@users.noreply.github.com>

* Update shell.nix

Co-authored-by: Ruben <36157890+ubbabeck@users.noreply.github.com>

* fix: as suggested by mike

* a bit more concrete prerequisites

* nix prefixes

---------

Co-authored-by: Ruben <36157890+ubbabeck@users.noreply.github.com>

88/100 · StrongMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Uses a recognizable type or scope✓ Provides detailed explanatory context✓ Links an issue, advisory, or supporting reference
Why it was queued
access controlseed or entropy pathsigning or wallet pathboot or update pathauthentication path
AI analysis · Informational 15/100

This commit is a routine build and continuous-integration (CI) maintenance change for the Specter DIY hardware wallet project. It adds Nix package-manager files to pin build dependencies, a GitHub Actions workflow to compile the firmware, and a large amount of documentation, hardware files, and project scaffolding. There is no indication in the diff that any cryptographic, wallet, or firmware runtime code was changed in a way that introduces a security vulnerability.