Reading as device:?
Reading as deviceEach message is sealed separately for every recipient device. Pick a device here to decrypt the transcript with that device's key — exactly what that person would see. In a real deployment only the device's owner holds its private key.
the Board Chair · Principal iPhonethe Board Chair · Principal MacBookSecurity Advisor · Sec GrapheneOS
safety #: 37043 88203 22163 85376 26410 82034 51378 71729 90028 23576 41757 11290
- Security Advisor · 8/6/2026, 6:07:28 AMAdvance team swept the venue. Two items flagged — details sealed.
- the Board Chair · 8/6/2026, 6:07:28 AMNoted. Tighten the perimeter on the east entrance.
What the server actually stores?
On-the-wire envelopeThis is the raw record the server keeps for the latest message: iv (a one-time nonce), eph_pub (the sender's per-message public key), and ciphertext (the sealed bytes). There is no plaintext column anywhere — only a holder of the recipient device's private key can read the message.
?
On-the-wire envelopeThis is the raw record the server keeps for the latest message: iv (a one-time nonce), eph_pub (the sender's per-message public key), and ciphertext (the sealed bytes). There is no plaintext column anywhere — only a holder of the recipient device's private key can read the message.
wire.envelope
$ halo show --raw --lastiv: F/zSV5pUgFnRhlwjeph_pub: MCowBQYDK2VuAyEAYh4Cde09LSn1AD31/wv9O1l77lFc…ciphertext:uRW4qOfc5NULwka7xYKBpzZs4YG3cQdefFzAP4/QNCrV…plaintext: <never stored on server>