2 min readMadrugo team

What an assistant that reads your email knows about you

Memory with an expiry date, field-level encryption and a working forget button: three things that should be mandatory and almost never are.

For an assistant to be useful it has to remember things. That your accountant is this firm, that Tuesdays are meeting-free, that this client is addressed formally. The trouble is that "remembering" means storing, and storing information taken out of your email is a different responsibility from storing your dark-mode preference.

Memory is not history

Two things get conflated and are worth separating. History is the copy of your messages; memory is what the system has inferred from them. "You have 613 emails from this sender" is history. "Works with this accountancy firm" is memory.

Memory is far smaller and far more sensitive. It is also the only one you need for the assistant to work well next month. A sensible design keeps memory and does not hoard history beyond what it needs to do the work.

Three properties every memory should carry

  • A source. Which message it came from. Without that you cannot check whether it is true, and a memory you cannot check ends up as a rumour the system repeats.
  • A confidence. A fact that appears in twenty emails is not the same as one inferred from a single ambiguous sentence. Mixing them makes the assistant state nonsense with the same certainty it uses when it is right.
  • An expiry. Facts age. Someone's job title, a project, an address. A memory with no expiry date is a future mistake waiting its turn.

And above all three: a forget button, per memory, that actually works rather than ticking a flag while the data sits there.

Field-level encryption, not just "the database is encrypted"

"Data is encrypted at rest" usually means the disk is, which protects against someone stealing the disk and not much else. If somebody reaches the database with valid credentials, they read everything in the clear.

Encrypting per field — the subject, the sender, the summary, each with its own key and context — is more work and it changes the outcome: a stray query against the table returns nothing readable. It is the difference between protecting the building and protecting the document.

Consent has to be reversible

A permission requested once, at the start, when the user does not yet know what the application does, is not informed consent: it is a toll. Permissions should be asked for at the moment they are needed, with the reason stated, and withdrawn just as easily. If granting takes one click and revoking takes an email to support, the design is telling you something.

You can see exactly what we store, under which keys and for how long, in our privacy policy and the retention policy. There is more on this in the privacy articles.

Keep reading

All news