SW
← All projectsSparrow

Sparrow Wallet

Desktop Bitcoin wallet focused on security, privacy, multisignature, and hardware signers.

BitcoinHardware integrationSoftware walletsNormal
Repository coverage

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

50security candidates174second-pass queue43AI analyses
46commits · 30 days
53commits · 60 days
181commits · 180 days
281commits · 365 days
Backfill bands
Aug 5 → Feb 6100 seen9 candidatesComplete
Feb 6 → Jun 6128 seen15 candidatesComplete
Jun 6 → Jul 67 seen1 candidatesComplete
Jul 6 → Aug 546 seen8 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.

46/100 average clarity
0Strong · 80–100
20Adequate · 60–79
212Thin · 40–59
49Opaque · 0–39
2security 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.
Craig Raw2684640046
doblon8311048
Michele Balistreri211048
nroktib111050
nzb-tuxxx110060
Liz Lightning200045
craigraw100060
PeterXMR100045
Ian McKenzie100050
ottosch100050
Analysis record

Published AI watches

Last scanned 46 minutes ago

Low 42 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

reject extended private keys when creating a terminal watch only wallet, and show import errors

This commit fixes a bug in Sparrow Wallet's terminal (command-line) watch-only wallet creation. Previously, a user could accidentally paste an extended private key (xprv) into a dialog meant only for public keys or output descriptors, and …

Prevents accidental import of extended private keys into watch-only wallet contextSurfaces previously swallowed import errors to the user via error dialogChanges exception handling from ImportException-only to all exceptions
fa0d4841by Craig Raw+19−152 files
No security note in commit
Moderate 61 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

always check and restrict existing wallets and backup directories to owner only permissions

This update makes Sparrow Wallet automatically tighten the file permissions on wallet and backup folders so only the computer's owner can read them. Previously, if those folders already existed with looser permissions (for example, created…

Permission hardening for sensitive wallet storage directoriesNew setOwnerOnlyDirectory helper enforcing rwx------ on existing directoriesBackup directory permissions now always restricted on startup
5d387765by Craig Raw+35−01 file
Vendor flagged security relevance
Low 25 AI analysisMessage 45 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add bitbox02 attestation failed dialog

This commit adds a user-facing warning dialog when a BitBox02 hardware wallet fails an attestation check. Attestation is a process that helps verify the device is genuine and not a counterfeit or tampered unit. Previously, a failed attesta…

Adds explicit user warning for failed hardware wallet attestationPrevents repeated warning dialogs during device enumeration using AtomicBooleanWarns user not to store funds on potentially counterfeit device
1a810c06by Craig Raw+16−12 files
No security note in commit
Moderate 56 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

improve validation of payjoin proposals, and accept a substituted payment output where a change output is present

This commit strengthens how Sparrow Wallet checks Payjoin proposals received from a payment receiver. Payjoin lets a receiver add their own inputs to a transaction to improve privacy. The changes add missing checks that could previously le…

Added minimum fee-rate enforcement on Payjoin proposalsAdded Taproot (P2TR) key-path and derived-public-key validation and propagationRestricted payment-output substitution to proposals that retain a change output
32f7e58fby Craig Raw+250−233 files
No security note in commit
Informational 18 AI analysisMessage 65 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

remove unused signature verification results in satochip and keycard signers, note where signatures are verified

This commit removes leftover code that checked whether signatures from hardware card signers were valid, but then threw away the result. The signatures are still verified later by a different part of the wallet when the signed transaction …

Removal of local signature verification calls in hardware signer code pathsAdded comments documenting that signature verification occurs later via PSBT.verifyCombinedSignatures()Unused boolean results indicate the removed checks were dead code rather than active security controls
866e9893by Craig Raw+5−132 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add option to ignore dust on private key sweep

This commit adds a user-facing checkbox labeled 'Ignore dust' to the private-key sweep feature in Sparrow Wallet. When enabled, very small ('dust') unspent outputs linked to the swept key are excluded from the transaction. This is a usabil…

Adds user-controlled filtering of UTXOs by value thresholdUses existing 'dustAttackThreshold' configuration, implying prior anti-dust handling elsewhereNo input validation, cryptographic, or authorization changes
cf797ea0by nroktib+21−21 file
No security note in commit
Moderate 59 AI analysisMessage 55 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

update external tor socks proxy control port authentication

This commit hardens how Sparrow Wallet talks to an external Tor proxy's control port. Previously, when asking Tor for a new identity, the app used an older authentication method that could send the contents of a secret cookie file over the…

Switches Tor ControlPort authentication from legacy COOKIE to SAFECOOKIE HMAC challenge-responseAdds loopback-only restriction for external Tor ControlPort connectionsValidates cookie file length and uses constant-time hash comparison
b3d51bceby Craig Raw+83−81 file
Vendor flagged security relevance
Moderate 59 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

check all open tabs when verifying a scanned or loaded transaction matches the originating psbt

This commit tightens how Sparrow Wallet checks that a scanned QR code or loaded file matches the transaction the user is currently working on. Previously, the app only compared the new transaction/PSBT against the single currently open tab…

UI workflow hardening: cross-tab verification prevents acceptance of mismatched transactions/PSBTsPreviously, verification was scoped to a single tab's context PSBT, which could be bypassed by tab confusion or user errorSilent Payments edge case preserved: possibleUnverifiableSilentPaymentsTransaction still triggers a dedicated warning
078af174by Craig Raw+66−234 files
No security note in commit
Moderate 59 AI analysisMessage 60 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

verify scanned or loaded transactions match the originating psbt

This commit adds a safety check in the Sparrow Wallet desktop app to make sure a transaction loaded from a file or scanned from a QR code actually matches the PSBT (a partially-signed Bitcoin transaction) that was already open. Before this…

New integrity/matching validation between an originating PSBT and subsequently loaded or scanned transactions/PSBTsUser-facing error dialogs for mismatched transactions and silent-payment transactionsPrevention of displaying a substituted transaction as if it were the intended one
4b8a4594by Craig Raw+64−284 files
No security note in commit
Low 28 AI analysisMessage 62 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

change bip329 wallet labels export to only assert spendable false for frozen coins and omit otherwise

This commit fixes how Sparrow Wallet exports coin labels in the BIP-329 format. Previously, the export incorrectly marked every unspent coin as 'spendable=true' in the exported file, even though the BIP-329 specification says the 'spendabl…

Incorrect BIP-329 field semantics in wallet label exportPotential for importing wallets to misclassify frozen coins as spendablePrivacy/information disclosure from asserting spendable=true on all unspent UTXOs
37bab9f3by Craig Raw+1−11 file
No security note in commit
Moderate 60 AI analysisMessage 55 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

improve verification of psbt sighash types

This commit adds a safety check in Sparrow Wallet when opening a PSBT (a file format used to pass partially-signed Bitcoin transactions between wallets). Before this change, the wallet did not verify the signature-hash types declared insid…

New user-facing warning for 'Unsafe PSBT'Adds signature-hash verification on PSBT loadCatches PSBTSignatureException specifically
61ed816cby Craig Raw+11−12 files
Vendor flagged security relevance
Moderate 63 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

improve url validation for auth47 and lnurl-auth

This commit tightens the checks on web addresses used during two login-style features, Auth47 and LNURL-auth. Previously, a malicious or malformed callback address could use insecure schemes such as plain HTTP on the regular internet or no…

Callback URL scheme validation added for authentication protocolsRejection of clearnet HTTP and non-HTTP schemes (file://, ftp://)Bech32 HRP whitelist ('lnurl') added in LnurlAuth
464fade6by Craig Raw+112−105 files
No security note in commit
Informational 15 AI analysisMessage 55 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add custom context menu to signature text area in message sign dialog

This commit adds a standard right-click menu (copy, paste, clear) to the signature text box in Sparrow Wallet's message signing dialog. It is a routine user-interface convenience improvement with no security relevance visible in the code o…

287c943bby Craig Raw+11−01 file
No security note in commit
Low 40 AI analysisMessage 45 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

improve loaded psbt verification

This commit changes how Sparrow Wallet checks the silent payment addresses inside a loaded PSBT (a partially signed Bitcoin transaction). Previously, the wallet extracted and trusted the silent payment addresses directly from the PSBT file…

Moved silent payment address extraction from controller to wallet-side verification methodRemoved direct trust of PSBT-supplied silent payment address and address-script mappingCommit title explicitly describes the change as improving verification
cb92f765by Craig Raw+3−142 files
No security note in commit
Low 33 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

update bip322 implementation to match completed spec

This commit adds a safety check when extracting a BIP-322 signature from a signed PSBT file. Before, Sparrow would blindly copy the signature into the dialog even if the message inside the PSBT did not match the message the user originally…

Added message-mismatch warning before extracting BIP-322 signature from PSBTPrevents silent overwrite of signature field when PSBT message differs from dialog messageNull-check guards added at both PSBT signature extraction call sites
bc7a0be8by Craig Raw+19−52 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add bip322 message signing for silent payments wallets

This commit adds the ability for Sparrow Wallet users with 'silent payments' wallets to sign messages using the BIP322 standard. It is a feature addition that extends existing message-signing support to a new wallet type. There is no indic…

No security-relevant signals detected in the diffFeature addition: BIP322 message signing for silent payments walletsPrivate key material is cleared from memory after signing (spendPrivKey.clear(), privKey.clear())
a2eb937fby Craig Raw+47−244 files
No security note in commit
Informational 19 AI analysisMessage 62 · Adequate
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

default sp wallet birthdate to creation time to avoid full rescans

This commit changes Sparrow Wallet so that newly created or renamed single-signature (SINGLE_SP) wallets get a default 'birth date' set to the current time. The birth date tells the wallet how far back in the blockchain it needs to scan fo…

No security-relevant signals detected in the diff or commit message.Change is framed as a performance/usability improvement to avoid full rescans.No input validation, cryptographic, authorization, or secret-handling changes observed.
a035767eby Craig Raw+17−24 files
No security note in commit
Informational 23 AI analysisMessage 35 · Opaque
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

implement sp wallet loading

This commit adds support for loading and refreshing 'silent payments' (a newer Bitcoin privacy feature) wallets in Sparrow. It introduces server subscription management, scan caching, and UI wiring. There is no direct evidence in the commi…

New network subscription lifecycle for silent payments with refcounting and concurrent accessPrivate scan key is serialized to hex and sent to Electrum server via subscribeSilentPaymentsConcurrency primitives (ReentrantLock, Condition) used for scan cache state
e64069f0by Craig Raw+814−13222 files
No security note in commit
Informational 19 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

support sp wallet import via all keystore importers

This commit adds the ability to import a new kind of Bitcoin wallet—called a 'silent payment' (SP) singlesig wallet—through the same screens and file formats that already supported ordinary HD singlesig wallets. It updates dropdown menus, …

New import surface for silent-payment descriptors (sp(...) and tspscan keys) added to multiple parsersSome importers now reject SINGLE_SP explicitly, which is a defensive boundaryNo input validation, memory handling, or cryptographic changes are visible beyond policy/script-type routing
723b004eby Craig Raw+204−11713 files
No security note in commit
Low 33 AI analysisMessage 50 · Thin
SW SparrowSparrow Wallet BitcoinHardware integrationSoftware wallets

add policy type to all keystore import interfaces and factory methods for explicit keystore xpub or spscan field population

This commit is a broad code change that threads a new 'policy type' value through many wallet import paths. The main practical effect visible in the diff is adding support for importing a new kind of Bitcoin wallet called 'silent payments'…

Adds silent payments (BIP352) scan key import path for Coldcard singlesigRemoves hard-coded WalletModel assignments in several importer subclasses, relying on getWalletModel()Changes SettingsController script-type selection behavior to always pick the default for the selected policy type
0459f4caby Craig Raw+200−10857 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 candidateinitial policy type related changes from drongoby Craig Raw · 8780e515 · Apr 21, 2026 · 31 filesMessage 45 · ThinInformational 24Details
Commit message · Craig Raw

initial policy type related changes from drongo

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet pathauthentication path
AI analysis · Informational 24/100

This commit is a large but mechanical rename in the Sparrow Wallet codebase. It replaces the old policy type constants `PolicyType.SINGLE` and `PolicyType.MULTI` with more specific names `PolicyType.SINGLE_HD` and `PolicyType.MULTI_HD`, and adds handling for a new `PolicyType.SINGLE_SILENT_PAYMENTS`. It also updates method calls in the underlying `drongo` library to pass the policy type explicitly. There is no direct evidence in the diff of a security vulnerability being fixed; it reads like preparation for adding silent-payment wallet support. A few import cleanups and one new guard against exporting silent-payment wallets are included.

Security candidateadd bip32 derivation fallback when retreiving signing nodes for high-index inputsby Craig Raw · 32a35ed2 · Mar 11, 2026 · 1 fileMessage 50 · ThinLow 39Details
Commit message · Craig Raw

add bip32 derivation fallback when retreiving signing nodes for high-index inputs

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
secret or key materialsigning boundary
AI analysis · Low 39/100

This commit adds a fallback path for finding the correct private signing keys when a Bitcoin wallet handles unusual transaction inputs that use very high address indexes. Without the fallback, Sparrow might fail to locate the right key and therefore be unable to sign a valid transaction the user actually owns. The change is tiny (one line) and appears to be a bug fix rather than a clear security patch, but because it touches key derivation it could affect whether funds can be spent or whether the wallet behaves safely with non-standard inputs.

Security candidateavoid npe when the extracting signature from a bip322 psbtby Craig Raw · 21f9f9fe · Mar 10, 2026 · 1 fileMessage 55 · ThinLow 28Details
Commit message · Craig Raw

avoid npe when the extracting signature from a bip322 psbt

55/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
secret or key materialsigning boundary
AI analysis · Low 28/100

This commit fixes a null pointer exception (a common software crash) that could occur when Sparrow Wallet tried to extract a signature from a special type of Bitcoin proof-of-ownership transaction (BIP322 PSBT). Without seeing the actual code change, we can only say it appears to be a defensive bug fix that prevents a crash during signature handling. There is no evidence in the commit message that this was disclosed or treated as a security vulnerability by the project.

Security candidateuse psbtv0 for bip322 psbt qr and file exportsby Craig Raw · 6c6664f2 · Mar 10, 2026 · 1 fileMessage 45 · ThinLow 29Details
Commit message · Craig Raw

use psbtv0 for bip322 psbt qr and file exports

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
secret or key materialsigning boundarysigning or wallet path
AI analysis · Low 29/100

This commit changes how Sparrow Wallet exports BIP-322 message-signing PSBTs (Partially Signed Bitcoin Transactions) to QR codes and files. Instead of serializing the PSBT in whatever internal version it was created, it now explicitly requests a PSBT version 0 format for export. This is likely a compatibility fix to ensure other wallets and tools can read the exported PSBT correctly.

Security candidateimprove reset instructions for trezor passphrase changeby Craig Raw · 67e15733 · Mar 9, 2026 · 1 fileMessage 50 · ThinInformational 15Details
Commit message · Craig Raw

improve reset instructions for trezor passphrase change

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

This commit only changes the wording of an on-screen instruction shown to users after they change the passphrase on a Trezor hardware wallet. It tells users to restart the device and adds guidance for battery-powered devices. There is no code behavior change and no security fix.

Security candidatefix psbtv2 and dst related transaction editor issues around tx version and locktimeby Craig Raw · 37665854 · Mar 6, 2026 · 3 filesMessage 50 · ThinLow 35Details
Commit message · Craig Raw

fix psbtv2 and dst related transaction editor issues around tx version and locktime

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 35/100

This commit fixes UI bugs in Sparrow Wallet's transaction editor when working with PSBT v2 (a modern format for partially-signed Bitcoin transactions) and 'DST' (likely descriptor/transaction templates). Previously, when a user changed transaction version, locktime, or input sequence numbers in the editor, the underlying PSBT object was not updated to match. This could cause the displayed/edited transaction to disagree with the actual PSBT being signed or exported, potentially leading to unexpected transaction behavior or failed signing. The patch makes the editor keep the PSBT in sync and also disables locktime controls when the form is read-only.

Security candidatesupport qr and file methods for signing messages via psbt when bip322 is selectedby Craig Raw · 537c2ffe · Mar 5, 2026 · 2 filesMessage 50 · ThinInformational 22Details
Commit message · Craig Raw

support qr and file methods for signing messages via psbt when bip322 is selected

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
secret or key materialsigning boundarysigning or wallet path
AI analysis · Informational 22/100

This commit adds new ways to sign Bitcoin messages using the BIP-322 standard through QR codes and PSBT files in Sparrow Wallet. It changes how the wallet decides which signing formats are allowed and removes a fallback that previously forced older P2PKH-style signing for wallets that couldn't sign BIP-322. The main concern is that the new logic may let users select a signing format their hardware wallet or keystore doesn't actually support, or may mishandle PSBT files imported back from an external signer. There is no direct evidence in the commit of a vulnerability being fixed or introduced, but the change touches security-sensitive signing code.

Security candidateadd keepkey passphrase supportby Craig Raw · e13fe897 · Feb 12, 2026 · 1 fileMessage 35 · OpaqueTriage 18Details
Commit message · Craig Raw

add keepkey passphrase support

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
access control
Security candidateremove extension-less file associations which are no longer supported by jpackageby Craig Raw · a120d08e · Feb 6, 2026 · 4 filesMessage 50 · ThinTriage 10Details
Commit message · Craig Raw

remove extension-less file associations which are no longer supported by jpackage

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
authentication path
Security candidatefix trezor change detection on signingby Craig Raw · 49d807f3 · Jan 22, 2026 · 1 fileMessage 45 · ThinTriage 18Details
Commit message · Craig Raw

fix trezor change detection on signing

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundary
Security candidatefix handling of non-standard key derivations when writing output descriptorsby Craig Raw · ab99f1d3 · Jan 15, 2026 · 2 filesMessage 50 · ThinLow 32Details
Commit message · Craig Raw

fix handling of non-standard key derivations when writing output descriptors

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
secret or key materialsigning or wallet path
AI analysis · Low 32/100

This commit fixes how Sparrow Wallet writes output descriptors when a wallet uses a non-standard key derivation path. Previously, the code stripped the leading 'm/' from the derivation path in a simplistic way, which could produce incorrect descriptors for unusual paths. The fix now uses a dedicated parser/formatter (KeyDerivation.parsePath/writePath) to handle the path correctly. This is primarily a correctness/reliability fix, but incorrect descriptors could in theory lead to users backing up or sharing wrong wallet configuration data.

Security candidateadd support for keycard via smart card interfaceby Michele Balistreri · 0c679627 · Jan 13, 2026 · 18 filesMessage 45 · ThinLow 25Details
Commit message · Michele Balistreri

add support for keycard via smart card interface

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Low 25/100

This commit adds a brand-new feature to Sparrow Wallet: support for Keycard hardware wallets via a smart card interface. It introduces many new Java files that handle low-level smart card communication, secure channel encryption, PIN handling, key derivation, and signing. The change is a large feature addition (+3,250 lines) rather than a small bug fix. There is no direct evidence in the commit message or diff that this fixes a known security vulnerability, and no external references were provided. Some implementation details—such as hardcoded pairing passwords, a TODO comment about device certificate verification, and a fallback to a default derivation path—could become security concerns if misused, but they are not proven vulnerabilities on their own.

Security candidateadd any missing key path information to psbts once signing wallet is chosenby Craig Raw · 34900d29 · Jan 3, 2026 · 2 filesMessage 50 · ThinLow 29Details
Commit message · Craig Raw

add any missing key path information to psbts once signing wallet is chosen

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 29/100

This commit changes Sparrow Wallet so that, when a user chooses a wallet to sign a Bitcoin transaction (PSBT), the app automatically fills in any missing key-path details needed for signing. The change is small and appears to be a usability/fix improvement rather than a clear security patch. There is no vendor statement or external reference saying this fixes a vulnerability, so we cannot confidently label it as a security fix.

Security candidateimprove thp pairing flow, and add passphrase session supportby Craig Raw · 59d85cdd · Dec 18, 2025 · 2 filesMessage 50 · ThinInformational 18Details
Commit message · Craig Raw

improve thp pairing flow, and add passphrase session support

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

This commit improves the user interface for pairing a Trezor hardware wallet with Sparrow Wallet. It adds a numeric-only input filter for the pairing code, makes the text larger, and shows the device name in pairing messages. There is no clear security vulnerability in the changes.

Security candidateminor ui changes to master private key importby Craig Raw · f900f6dc · Dec 4, 2025 · 2 filesMessage 50 · ThinInformational 15Details
Commit message · Craig Raw

minor ui changes to master private key import

50/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
secret or key materialcryptography-sensitive pathsigning or wallet path
AI analysis · Informational 15/100

This commit makes two small user-interface tweaks to the screen where a user imports a master private key: it changes a title to say 'Enter master private key', makes the Import button the default button that activates when the user presses Enter, and adds a period to a description sentence. There is no security-relevant code change.

Security candidateupdate drongo for bip32 testsby Craig Raw · ac044c6f · Nov 24, 2025 · 1 fileMessage 55 · ThinInformational 4Details
Commit message · Craig Raw

update drongo for bip32 tests

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
secret or key material
AI analysis · Informational 4/100

This commit updates a dependency or submodule named 'drongo' specifically for BIP32 (a Bitcoin wallet key-derivation standard) tests. The change is a single-line version bump in a test-related component. There is no diff available and no security-relevant description in the commit message.

Security candidateimprove psbt/tx matching and ensure incoming psbt signatures are always verifiedby Craig Raw · d2d45e54 · Nov 24, 2025 · 5 filesMessage 50 · ThinModerate 58Details
Commit message · Craig Raw

improve psbt/tx matching and ensure incoming psbt signatures are always verified

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Moderate 58/100

This commit changes how Sparrow Wallet matches incoming PSBTs (Partially Signed Bitcoin Transactions) against already-open transaction tabs, and adds verification of signatures before combining them. Previously, the app matched transactions by exact byte-for-byte equality and then merged PSBTs without checking that signatures in the incoming PSBT were valid. Now it matches by transaction ID and witness data, warns when two transactions share the same ID but have different witnesses, verifies signatures before merging, and warns users about silent-payments transactions whose recipient addresses cannot be verified. The change reduces the risk that a malicious or malformed PSBT could silently overwrite or merge with an existing transaction.

Security candidatehandle errors if silent payments psbt validation failsby Craig Raw · c16997ea · Nov 19, 2025 · 4 filesMessage 50 · ThinLow 43Details
Commit message · Craig Raw

handle errors if silent payments psbt validation fails

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 43/100

This commit adds error handling for a new type of PSBT (Partially Signed Bitcoin Transaction) validation failure related to silent payments. Previously, if silent payment proof validation failed during transaction extraction, broadcasting, saving, sweeping private keys, or payjoin, the application would likely crash or propagate an unhandled exception. Now it shows an error dialog instead. The commit also makes some related payjoin logic more robust, such as computing the additional fee contribution before serialization and fixing a change-output value comparison bug.

Security candidateminor updates to handle psbtv2 as the default internal representationby Craig Raw · 21543de0 · Nov 19, 2025 · 4 filesMessage 50 · ThinLow 27Details
Commit message · Craig Raw

minor updates to handle psbtv2 as the default internal representation

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 27/100

This commit changes Sparrow Wallet to use PSBT version 2 as its default internal format instead of converting PSBTv2 files down to PSBTv0. It also adjusts how transactions are compared (by transaction ID instead of object equality) and changes how a PayJoin PSBT is prepared before being exported. These are internal refactoring changes; there is no direct evidence in the commit that they fix a security vulnerability.

Security candidateuse sparrowwallet action for macos codesigningby Craig Raw · a0f7e2e6 · Nov 10, 2025 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Craig Raw

use sparrowwallet action for macos codesigning

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarydocumentation-only discount
Security candidateshow signing keystores in transaction blockchain form for spends from multisig walletsby Craig Raw · 2f62a9e9 · Nov 4, 2025 · 3 filesMessage 50 · ThinInformational 18Details
Commit message · Craig Raw

show signing keystores in transaction blockchain form for spends from multisig wallets

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

This commit adds a small UI label that shows which signing keystores have already signed a multisig transaction when viewing it in the transaction details form. It is a user-interface improvement, not a security fix or vulnerability.

Security candidateuse language-independent sid for windows users group permissionby doblon8 · 31909b7a · Oct 21, 2025 · 1 fileMessage 50 · ThinInformational 18Details
Commit message · doblon8

use language-independent sid for windows users group permission

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
credential or privilege state
AI analysis · Informational 18/100

This commit fixes a Windows build script bug. Previously, the build process granted file permissions to a group literally named 'Users', which fails on non-English Windows versions where that group has a translated name. The change uses the universal numeric identifier (SID) for the Users group instead, so the build works on all language versions of Windows. It is a reliability/localization fix, not a security vulnerability fix.

Security candidaterestore pre gradle 9 archive task behaviour for file permissionsby Craig Raw · e2fa3df0 · Oct 3, 2025 · 1 fileMessage 50 · ThinLow 27Details
Commit message · Craig Raw

restore pre gradle 9 archive task behaviour for file permissions

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
credential or privilege state
AI analysis · Low 27/100

This commit changes how the wallet's build packaging handles file metadata. It removes settings that make archive files (like ZIPs) bit-for-bit identical every time they are built, and instead restores an older Gradle behavior that preserves file permissions (such as whether a file is executable). This is likely a build-fix rather than a direct security patch, but it could affect whether downloaded archives have correct executable bits, which matters for usability and trust in reproducible builds.

Security candidateimprove implementation of adding dns payment information from psbtby Craig Raw · cca9ab10 · Oct 2, 2025 · 1 fileMessage 50 · ThinLow 28Details
Commit message · Craig Raw

improve implementation of adding dns payment information from psbt

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
signing boundarysigning or wallet path
AI analysis · Low 28/100

This commit refines how Sparrow Wallet stores DNS payment details extracted from a Bitcoin PSBT (a transaction template). The old code tried to cache DNS payment info for both regular addresses and silent payment addresses in one combined flow, using helper methods like hasAddress() and hasSilentPaymentAddress(). The new code separates the two cases and, importantly, validates that the DNS payment record actually matches the address/silent payment address before caching it. This looks like a hardening change: it reduces the chance that a malicious or malformed PSBT could trick the wallet into caching a DNS payment entry for an unrelated address.

Security candidatefix non bip32 child derivation testby Craig Raw · 4ec36037 · Aug 7, 2025 · 1 fileMessage 55 · ThinInformational 3Details
Commit message · Craig Raw

fix non bip32 child derivation 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
secret or key material
AI analysis · Informational 3/100

This appears to be a one-line change to a test file named 'drongo' with the description 'fix non bip32 child derivation test'. There is no actual diff content available, and no security-related context is provided. Based solely on the title and stats, this looks like a routine correction to a unit test for Bitcoin BIP32 hierarchical deterministic wallet key derivation logic. Nothing in the supplied materials indicates a security vulnerability, exploit, or user-facing bug.