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 43 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 candidatereject extended private keys when creating a terminal watch only wallet, and show import errorsby Craig Raw · fa0d4841 · Aug 4, 2026 · 2 filesMessage 50 · ThinLow 42Details
Commit message · Craig Raw

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

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

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 the wallet would silently fail or create an empty wallet. Now the app rejects xprv keys with a clear error message and also shows import errors to the user instead of logging them silently.

Security candidatealways check and restrict existing wallets and backup directories to owner only permissionsby Craig Raw · 5d387765 · Aug 4, 2026 · 1 fileMessage 50 · ThinModerate 61Details
Commit message · Craig Raw

always check and restrict existing wallets and backup directories to owner only 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 statesigning or wallet path
AI analysis · Moderate 61/100

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 by an older version or another user), other accounts on the same machine might have been able to read wallet files. The change also adds a warning if the app cannot fix the permissions.

Security candidateadd bitbox02 attestation failed dialogby Craig Raw · 1a810c06 · Aug 4, 2026 · 2 filesMessage 45 · ThinLow 25Details
Commit message · Craig Raw

add bitbox02 attestation failed dialog

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

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 attestation may not have been clearly communicated to the user. The change improves security by warning users not to store funds on a device that failed verification until they confirm it externally. It is a defensive hardening change, not an active vulnerability fix.

Security candidateimprove validation of payjoin proposals, and accept a substituted payment output where a change output is presentby Craig Raw · 32f7e58f · Aug 4, 2026 · 3 filesMessage 50 · ThinModerate 56Details
Commit message · Craig Raw

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

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

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 let a malicious or buggy receiver: (1) silently lower the transaction fee rate, (2) add key-path or signature data that leaks wallet information, (3) substitute the payment output even when no change output exists, or (4) return arbitrary error text that the wallet would show to the user. The patch also fixes handling for modern Taproot (P2TR) transactions, which were not being copied or validated correctly. A new set of unit tests confirms these protections.

Security candidateremove unused signature verification results in satochip and keycard signers, note where signatures are verifiedby Craig Raw · 866e9893 · Aug 4, 2026 · 2 filesMessage 65 · AdequateInformational 18Details
Commit message · Craig Raw

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

65/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification✓ Names security-relevant behavior explicitly! No meaningful explanatory body
Why it was queued
signing boundarydefensive validationsigning or wallet path
AI analysis · Informational 18/100

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 is combined. The change is essentially a cleanup with no known security flaw, though it slightly reduces defense-in-depth by removing an early, unused sanity check.

Security candidateadd option to ignore dust on private key sweepby nroktib · cf797ea0 · Jul 29, 2026 · 1 fileMessage 50 · ThinInformational 19Details
Commit message · nroktib

add option to ignore dust on private key sweep

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

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 usability and privacy improvement, not a security fix, because dust outputs are often sent by third parties to track wallets or to make sweeps uneconomical due to fees. There is no evidence in the commit or supplied references that this addresses a vulnerability or was disclosed as a security issue.

Security candidateupdate external tor socks proxy control port authenticationby Craig Raw · b3d51bce · Jul 20, 2026 · 1 fileMessage 55 · ThinModerate 59Details
Commit message · Craig Raw

update external tor socks proxy control port authentication

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
access controlsigning or wallet path
AI analysis · Moderate 59/100

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 local connection. The update switches to Tor's 'SAFECOOKIE' challenge-response authentication, verifies the server before revealing anything, and refuses to open the control connection unless the target address is on the local computer (loopback). This reduces the risk that a malicious or misconfigured remote proxy could steal the Tor cookie or abuse the control port.

Security candidatecheck all open tabs when verifying a scanned or loaded transaction matches the originating psbtby Craig Raw · 078af174 · Jul 16, 2026 · 4 filesMessage 50 · ThinModerate 59Details
Commit message · Craig Raw

check all open tabs when verifying a scanned or loaded transaction matches the originating 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 · Moderate 59/100

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. Now it checks all open transaction tabs. This reduces the chance that a user accidentally accepts a wrong or maliciously substituted transaction because they had the wrong tab active. It is a defensive hardening fix, not a clear-cut remote exploit.

Security candidateverify scanned or loaded transactions match the originating psbtby Craig Raw · 4b8a4594 · Jul 16, 2026 · 4 filesMessage 60 · AdequateModerate 59Details
Commit message · Craig Raw

verify scanned or loaded transactions match the originating psbt

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

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 change, the app would accept any transaction or PSBT from a file/scan and display it, which could mislead a user into thinking a different transaction was the one they intended to sign. The fix shows an error dialog when the loaded or scanned data does not match the original PSBT, and includes a special message for silent-payment transactions that cannot be verified from a final transaction alone.

Security candidatesha pin all github actions for package workflowby Craig Raw · 72c1d822 · Jul 13, 2026 · 1 fileMessage 45 · ThinTriage 0Details
Commit message · Craig Raw

sha pin all github actions for package workflow

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
access controldocumentation-only discount
Security candidatecreate gradle dependency verification update workflowby nzb-tuxxx · c7798d92 · Jul 13, 2026 · 2 filesMessage 60 · AdequateTriage 0Details
Commit message · nzb-tuxxx

create gradle dependency verification update workflow

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
defensive validationboot or update pathdocumentation-only discount
Security candidatechange bip329 wallet labels export to only assert spendable false for frozen coins and omit otherwiseby Craig Raw · 37bab9f3 · Jul 2, 2026 · 1 fileMessage 62 · AdequateLow 28Details
Commit message · Craig Raw

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

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
secret or key materialsigning or wallet path
AI analysis · Low 28/100

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 'spendable' field should only be used to mark coins as frozen (not spendable). Other wallets importing this file could have treated frozen coins as spendable, or made incorrect assumptions about the user's coins. The fix now only writes 'spendable=false' for frozen coins and leaves the field out otherwise.

Security candidateimprove verification of psbt sighash typesby Craig Raw · 61ed816c · May 31, 2026 · 2 filesMessage 55 · ThinModerate 60Details
Commit message · Craig Raw

improve verification of psbt sighash types

55/100 · ThinMessage clarity
✓ Descriptive subject✓ Names a concrete action or component✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing boundarydefensive validationsigning or wallet path
AI analysis · Moderate 60/100

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 inside the PSBT. A malicious or malformed PSBT could ask the wallet to sign in a way that unexpectedly alters what the signature covers, potentially leading to loss of funds. After the change, Sparrow warns the user and asks whether to continue.

Security candidateimprove url validation for auth47 and lnurl-authby Craig Raw · 464fade6 · May 30, 2026 · 5 filesMessage 50 · ThinModerate 63Details
Commit message · Craig Raw

improve url validation for auth47 and lnurl-auth

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
signing or wallet pathauthentication path
AI analysis · Moderate 63/100

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 non-web schemes like file:// or ftp://. The patch now requires callbacks to be HTTPS, a special 'srbn' scheme, or a Tor .onion address over HTTP, and adds tests to confirm the new behavior. This reduces the risk that an attacker could trick the wallet into sending authentication data to an unintended destination.

Security candidateadd custom context menu to signature text area in message sign dialogby Craig Raw · 287c943b · May 23, 2026 · 1 fileMessage 55 · ThinInformational 15Details
Commit message · Craig Raw

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

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

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 or commit message.

Security candidateimprove loaded psbt verificationby Craig Raw · cb92f765 · May 23, 2026 · 2 filesMessage 45 · ThinLow 40Details
Commit message · Craig Raw

improve loaded psbt verification

45/100 · ThinMessage clarity
✓ Descriptive subject✓ Mentions testing or verification! No meaningful explanatory body
Why it was queued
signing boundarydefensive validationsigning or wallet path
AI analysis · Low 40/100

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 itself. Now it passes the PSBT to a wallet method that performs verification before returning the addresses. The change suggests the previous code may have accepted unverified or spoofed silent payment addresses from an external PSBT, which could lead to sending funds to an attacker's address, but the diff alone does not show what the new verification actually does or whether any bug was exploitable in practice.

Security candidateupdate bip322 implementation to match completed specby Craig Raw · bc7a0be8 · May 22, 2026 · 2 filesMessage 50 · ThinLow 33Details
Commit message · Craig Raw

update bip322 implementation to match completed spec

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

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 asked to sign. Now it warns the user and asks whether to continue, and if the user declines (or the extraction returns null), it no longer overwrites the signature field. This reduces the risk of a malicious or mismatched PSBT tricking a user into accepting a signature for a different message than intended.

Security candidatefinalize external inputs in cross-wallet psbts to avoid empty witnessesby Craig Raw · 79bbe7df · May 19, 2026 · 2 filesMessage 62 · AdequateTriage 18Details
Commit message · Craig Raw

finalize external inputs in cross-wallet psbts to avoid empty witnesses

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
signing boundary
Security candidateadd bip322 message signing for silent payments walletsby Craig Raw · a2eb937f · May 18, 2026 · 4 filesMessage 50 · ThinInformational 19Details
Commit message · Craig Raw

add bip322 message signing for silent payments wallets

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

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 indication in the commit that it fixes a security bug or vulnerability.

Security candidatedefault sp wallet birthdate to creation time to avoid full rescansby Craig Raw · a035767e · May 14, 2026 · 4 filesMessage 62 · AdequateInformational 19Details
Commit message · Craig Raw

default sp wallet birthdate to creation time to avoid full rescans

62/100 · AdequateMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component✓ Explains rationale or failure mode! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathsigning or wallet path
AI analysis · Informational 19/100

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 for transactions. Without it, the wallet would perform a full rescan of the entire blockchain, which is slow and resource-intensive. The change is a performance/usability improvement, not a security fix.

Security candidateimplement sp wallet loadingby Craig Raw · e64069f0 · May 4, 2026 · 22 filesMessage 35 · OpaqueInformational 23Details
Commit message · Craig Raw

implement sp wallet loading

35/100 · OpaqueMessage clarity
✓ Descriptive subject! No meaningful explanatory body! Opaque security-relevant change
Why it was queued
signing or wallet pathboot or update path
AI analysis · Informational 23/100

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 commit of a security vulnerability, but the new code handles private scan keys and network state, so correctness matters. The change is large and touches concurrency, making subtle bugs possible, but nothing in the diff clearly enables theft, remote code execution, or data leakage.

Security candidatesupport sp wallet import via all keystore importersby Craig Raw · 723b004e · Apr 27, 2026 · 13 filesMessage 50 · ThinInformational 19Details
Commit message · Craig Raw

support sp wallet import via all keystore importers

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

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, import logic, and several hardware-wallet/file parsers so users can choose between HD and SP when importing. There is no direct evidence in the commit of a security vulnerability; it reads as a feature expansion with explicit guardrails (some importers reject SP if they cannot support it).

Security candidateadd policy type to all keystore import interfaces and factory methods for explicit keystore xpub or spscan field populationby Craig Raw · 0459f4ca · Apr 26, 2026 · 57 filesMessage 50 · ThinLow 33Details
Commit message · Craig Raw

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

50/100 · ThinMessage clarity
✓ Specific, descriptive subject✓ Names a concrete action or component! No meaningful explanatory body
Why it was queued
cryptography-sensitive pathseed or entropy pathsigning or wallet path
AI analysis · Low 33/100

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' (policy type SINGLE_SP) from Coldcard hardware wallets. It also makes sure the correct extended public key or silent-payment scan key is set when a keystore is created, depending on the wallet type. There is no explicit mention of a security bug or fix in the commit message or code, but the change touches sensitive key-handling code and removes some workarounds that previously forced wallet-model labels.

Security candidateimprove sp related output descriptor and psbt behaviourby Craig Raw · c23dbeed · Apr 24, 2026 · 9 filesMessage 50 · ThinLow 26Details
Commit message · Craig Raw

improve sp related output descriptor and psbt behaviour

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

This commit improves how Sparrow Wallet handles a newer Bitcoin address type called 'Silent Payments' (SP). It adds null-safety checks so the app doesn't crash when an extended public key is missing, supports exporting and importing labels tied to Silent Payment scan keys, and updates UI labels. Most changes are defensive or feature-related rather than fixes for active attacks.

Security candidateimplement silent payments change outputs and other sp related fixesby Craig Raw · c6700884 · Apr 23, 2026 · 8 filesMessage 50 · ThinLow 27Details
Commit message · Craig Raw

implement silent payments change outputs and other sp related fixes

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 adds support for silent payment change outputs in the Sparrow Wallet and fixes related silent payment issues. Silent payments are a newer Bitcoin privacy feature that lets someone receive payments without publicly revealing their receiving address on the blockchain. The changes touch how transactions are displayed, how change is created, and how the wallet interacts with Bitcoin Core. There is no clear security bug being fixed in the diff itself; it looks like a feature/enhancement commit with some defensive checks, such as blocking Bitcoin Core scanning for silent payment wallets because that is not yet supported.