Privacy
Breez cloud sync encrypts values but exposes deterministic record identifiers and omits exit state
Breez real-time sync encrypts record values but uses deterministic SHA-256 identifiers for four metadata record types. A party that already knows the underlying payment ID can test for its record, while exit state is excluded and requires a separate backup. 123
What the evidence shows
Technical and product details
- Record scope
The reviewed real-time sync stores PaymentMetadata, Contact, LightningAddress, and CrossChainSwap records. Exit trees and unilateral-exit state are not among its record types. 1
Supporting material shown on this page
Breez real-time sync record typesPinned source code · github.com · checked 2026-08-24 Relevant lines from the pinned source · open raw file 32enum RecordType { 33 PaymentMetadata, 34 Contact, 35 LightningAddress, 36 CrossChainSwap, 37} - Identifier mechanism
Each server-visible record ID is the unsalted SHA-256 of
record-type:data-id. The payload is encrypted, but the identifier is deterministic rather than randomized. 2Supporting material shown on this page
Breez deterministic record identifierPinned source code · github.com · checked 2026-08-24 Relevant lines from the pinned source · open raw file 76#[derive(Debug, Clone, PartialEq, Eq, Hash, Deserialize, Serialize)] 77pub struct RecordId { 78 pub r#type: String, 79 pub data_id: String, 80}
Interpretation
Why this matters for Spark's trust model
A party that already knows a payment ID and record type can calculate the same identifier and test for that record. Under combined service visibility, this can join selected payment metadata to timing and revision activity without decrypting the payload. Ordinary cloud sync is also not an operator-outage exit backup. 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
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.
Breez real-time sync record types
Pinned source code · github.com · Pinned or archival · checked 2026-08-24
Breez deterministic record identifier
Pinned source code · github.com · Pinned or archival · checked 2026-08-24
Breez 0.23 exit-state export
Pinned source code · github.com · Pinned or archival · checked 2026-08-24
How sources, absence findings, and limitations were evaluated