SIGNET

Metadata Honesty Table · Fantom Tech Labs

SIGNET is designed so that content is unreadable to everyone but its intended recipients. But no system hides everything — a server still routes bytes, a network still carries them. Rather than claim perfection, we publish exactly what each observer can and cannot learn. This table is a build-time invariant: the iOS app's Privacy screen links to it verbatim, and it is published verbatim here.

ObserverLearnsNever learns
Our DS Envelope timing / bucket sizes; mailbox & per-epoch channel existence; APNs token ↔ mailbox link; transient IP (≤24 h counters); opt-in payable-handle → mailbox + identity key + BOLT12 offer (only if the user claims a @handle, which is a public address by design) Content, message contents, sender of any message, contact graph, cross-epoch group linkage (by construction), payment amounts; identity keys and names for anyone who has not claimed a payable handle
Blob store Ciphertext sizes, access timing Content, ownership
Apple / iCloud (backup) That a backup file exists, its ciphertext size, sync timing Content, names, contacts, amounts — the SGBK01 container is sealed under the recovery-phrase key on-device (Argon2id → XChaCha20); iCloud holds ciphertext only
Apple / APNs Push timing, device token Content, sender, counterpart
Breez / LSP Payment amounts, timing, node identity, swap metadata Who the counterparty is socially, message context
Removed group member Nothing after removal epoch
Current group member Everything in-group (social boundary)

“Never learns” items are guaranteed by construction — by the cryptography and the protocol, not by our policy or good intentions. Where an observer necessarily sees something (timing, sizes, an opt-in public handle), we list it plainly rather than omit it.