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 #: 42353 00643 37000 55559 03401 10916 54127 94415 68125 87504 38285 27397
- 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: MozqyoqGX/XFsovFeph_pub: MCowBQYDK2VuAyEA/9xVETfL3UcwYf4Ex32tdsDZ2w+j…ciphertext:drk0Yn5fLp6wVO9qHCAKhhKibh3sFpl3TBqCUAi18ps0…plaintext: <never stored on server>