Skip to content

Privacy limitations

Hidden UI is not hidden state. If plaintext hands, future draws, or private metadata enter a shared Chronicle, peers that receive the document may inspect them. Server projection can reduce disclosure in an authoritative room, but raw P2P CRDT sync is not protected by that projection.

The generic E2E implementation in network/E2EEncryption.ts is security critical but currently unwired from the general sync/peer path; the MessageCodec encrypted flag is reserved and throws when used. Do not document generic HyperToken multiplayer as encrypted by default.

Cuttle is the honest-dealer exception used for demonstration: it encrypts hands at the example layer and uses commitments to detect post-deal substitution, but it does not prove a fair shuffle. The dealer can bias the shuffle, and key authentication remains a separate concern. Do not use this design as a complete privacy or fairness protocol.