Skip to main content

Module textseal

Module textseal 

Source
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§

TextSeal
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.