Skip to main content

Module crypto

Module crypto 

Source
Expand description

OpenPGP behind the window: protected messages opened for the reader, the keys Autocrypt brings, what a draft can be (signed, encrypted), and your keys: made, imported, exported, removed. Passphrases stay in the keyring; decrypted messages stay in memory.

Structs§

DraftProtection 🔒
What a draft can be, for the writing window’s switches.
KeysView 🔒

Enums§

Answered 🔒
The message a draft answers or forwards, as this device can read it. Its copy beside the draft stays as it came: encrypted when it came so.

Statics§

JUDGED 🔒
The copies beside drafts looked at (draftcopies), their verdicts read from the disk once: one look at a time in this process.

Functions§

answered 🔒
How the copy beside a draft reads here (raw: as copy_of read it).
copy_of 🔒
The copy beside draft, read whole (filelock::read_whole: never the zeros written over a copy replaced meanwhile); none when there is none.
draft_protection 🔒
export 🔒
Your public key into the downloads folder, to give to others.
generate 🔒
Makes a key for one of your addresses; its passphrase, random, goes to the keyring.
import 🔒
Imports the keys of a file (a file:// address); a secret key’s passphrase is checked, then kept in the keyring.
kept_versions 🔒
The copies’ earlier versions kept here (history), and those kept before sharing began (share/before-sharing-<day>/), beside the sharing’s memory.
keys_view 🔒
Your keys and others’, and the addresses that could have one.
learn_autocrypt 🔒
Keeps the key a sender’s Autocrypt header carries, only when the sender’s domain vouches for the message (the Porch’s judgement): an unproven one could plant a key for someone you write to, and read your answers.
looks_protected 🔒
Whether a message might be protected: cheap, before any key is read.
lookup 🔒
Looks up the keys a draft’s recipients miss; returns what the status line says.
offers 🔒
Your addresses Accounts offers “Make a key for”, and those it offers to read your security key for here instead: an address a security key of yours serves has its key, read here or on another device (N4: since a device signs only with the security key it read, card_for alone left the phone, and a computer that did not read it, offering a second key). Read here is offered on a computer only (a phone cannot read one yet), also where a key kept here signs for the address meanwhile: read here, the security key signs, and Autocrypt hands out the certificate that signs.
open 🔒
A protected message opened with your keys: what it reads once decrypted, and what was found; None when it is not protected. Your security key is never asked here: a message encrypted to it opens from its session key, kept since you opened it with the key, or waits for “Open with your security key”.
protect_answer 🔒
Answering an encrypted message: the answer is encrypted when every key is known. The copy kept with the draft stays as it came, encrypted: it opens only at Send, in memory (sioul_sync::send::build_draft), never in clear on a disk, nor in the sharing, which carries drafts to every device. Until 19 October 2026 its decrypted text was written there (seal_clear_drafts seals those copies again).
protection_with 🔒
draft_protection with keys, for address; card_here: whether this device can use a security key (a phone cannot yet).
readable 🔒
The message as it reads: decrypted when it was encrypted to you.
said 🔒
What a look did, for the log: counts only, never what a copy says.
seal_clear_drafts 🔒
The copies beside drafts that hold an encrypted message’s text in clear, their earlier versions kept here and the copies kept before sharing began (share/before-sharing-<day>/), encrypted again to your own certificates (sioul_core::draftcopies): at the window’s start, before each of its exchanges (never holding the exchanges’ BUSY: the look takes the exchange lock in short holds of its own), and at a phone’s background step; never on a dose’s alarm, nor at “Taken” (review of 19 October 2026, F9). Cheap once done: its verdicts are kept on the disk, a file is read again only once it changed, and your keys are read only when a copy is to be sealed. Said in counts only, never what a copy says.
seal_in 🔒
seal_clear_drafts in these folders: the drafts’, the sharing’s memory (its history and what it kept before sharing began beside it), your mail (roots, its index of Message-IDs kept in cache). Each copy takes its place under the sharing’s exchange lock, a short hold at a time (share::replacements_hold): no exchange reads one while it is replaced.
seal_with 🔒
self_copy_line 🔒
Why an encrypted message would go without a copy for you, for address: the part of your certificate that expired or was revoked (its encryption subkey, its primary key), how to renew it (on a phone: on a computer); or that no certificate of yours for it is known here (a phone whose settings do not come through the sharing). Review of 19 October 2026, F14: it said the whole certificate had expired whatever part had, and said nothing when none was known.
verdicts_path 🔒
Where the look’s verdicts are kept between processes, never shared.