spark.exposed

Privacy

SDK information logs can contain complete payment records, and reviewed wallets retain or forward those logs

Breez emits complete Payment debug objects at INFO. Blink forwards SDK INFO and WARN lines to Crashlytics logging, while Cake appends SDK logs to a plaintext file, creating diagnostic copies with different retention and access paths. 123

3 sourcesEvidence reviewed through August 24, 2026

What the evidence shows

Technical and product details

  1. SDK behavior

    Breez logs the debug representation of a complete Payment at INFO when emitting a payment event. 1

    Supporting material shown on this page

    Breez payment-event loggingPinned source code · github.com · checked 2026-08-24
    Relevant lines from the pinned source · open raw file
    59                warn!("Failed to fetch payment from storage: {e:?}");
    60                payment
    61            }
    62        };
    63    info!("Emitting payment event: {payment:?}");
    64    event_emitter.emit(&SdkEvent::from_payment(payment)).await;
    65}
  2. Wallet behavior

    Blink forwards SDK INFO and WARN lines to Firebase Crashlytics logging and records SDK ERROR lines as application errors. Cake subscribes to the SDK log stream and appends every received line to a local plaintext lightning.log file. 23

    Supporting material shown on this page

    Blink Crashlytics log forwardingPinned source code · github.com · checked 2026-08-24
    Relevant lines from the pinned source · open raw file
    36const logDispatch: Record<SdkLogLevel, (msg: string) => void> = {
    37  [SdkLogLevel.Debug]: (msg) => console.debug(msg),
    38  [SdkLogLevel.Info]: (msg) => {
    39    console.debug(msg)
    40    crashlytics().log(msg)
    41  },
    Cake plaintext SDK logPinned source code · github.com · checked 2026-08-24
    Relevant lines from the pinned source · open raw file
    104      _eventStream ??= sdk.addEventListener().asBroadcastStream();
    105      _logStream ??= initLogging().asBroadcastStream();
    106
    107      try {
    108        final logFile = File("$appPath/lightning.log")
    109          ..createSync();

Interpretation

Why this matters for Spark's trust model

Payment data can leave the wallet database and enter diagnostic, crash-reporting, or export surfaces with different retention and access rules. 123

This section states the trust-model consequence of the cited evidence. Conditional or inferred claims remain bounded by the next section.

Scope control

What this does not establish

  • The code proves logging and forwarding paths, not that every line contains every field or that every Crashlytics line was uploaded. Cake's cited log is local unless another user or app action exports it. 123

Sources and excerpts

Primary sources

The relevant details and available source-code excerpts appear alongside the claims above. This list preserves the complete original-source trail for independent verification.

1

Breez payment-event logging

Pinned source code · github.com · Pinned or archival · checked 2026-08-24

Open original source
2

Blink Crashlytics log forwarding

Pinned source code · github.com · Pinned or archival · checked 2026-08-24

Open original source
3

Cake plaintext SDK log

Pinned source code · github.com · Pinned or archival · checked 2026-08-24

Open original source

How sources, absence findings, and limitations were evaluated