Expand description
Texts sealed at rest (sioul_core::texts::Sealer; docs/texts.md, “Sealed
at rest”): each line of the texts’ stores, on every device, is sealed by
the device that writes it, so that a computer’s copy of your texts is
unreadable without the sharing key, which each device keeps in its
keyring (the Secret Service, the Credential Manager, the Keychain, or
Android’s KeyStore). The sharing then seals the lines again in the folder,
as it seals every record.
The key: made from the sharing key (HKDF-SHA-256, “sioul-texts 1”), so
that it seals nothing else and the sharing key itself seals no text. Each
line: XChaCha20-Poly1305, a random nonce, bound to its use; written
“t1:” and the nonce and the sealed bytes in base64, on one line. Each
media file of a multimedia message kept on a computer: the same, bound to
another use, the nonce and the sealed bytes (seal_bytes).
Structs§
- Text
Seal - The sealer of the texts’ lines, from the sharing key.
Constants§
- BOUND 🔒
- What each line is bound to: a line sealed for another use does not open here.
- BOUND_
FILE 🔒 - What a media file sealed this way is bound to.
- PREFIX 🔒
- What a line sealed this way starts with: its format.