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 #: 87470 58023 48005 09504 58335 21006 03237 44686 93865 03569 57814 53761
- Security Advisor · 8/6/2026, 1:07:40 AMAdvance team swept the venue. Two items flagged — details sealed.
- the Board Chair · 8/6/2026, 1:07:40 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: MVoUTatEr4psXxfgeph_pub: MCowBQYDK2VuAyEArl/4rkq526rtScv3roC4ohakOZkh…ciphertext:eJS0F3Qv46aZ8Ik1Td45NNgFf7zru3WLoB6TcEH3Eqc+…plaintext: <never stored on server>