Skip to content

Antiphon

Antiphon is a mail client for the terminal. It keeps a full copy of your mail on your own machine, indexed by notmuch, so every search, every folder change and every keystroke answers instantly, whether or not the network is there. A background daemon does all the talking to your servers; the interface never waits on a socket.

Two things set it apart from the clients it otherwise stands beside:

  • The store is encrypted at rest. Maildir, search index, OAuth tokens, the lot, live inside a vault built on your platform's own disk encryption. Seal it and nothing but ciphertext exists on disk; your backup tool copies ciphertext and never sees a subject line.
  • Your keys never leave your agent. OpenPGP runs through Sequoia and your existing gpg-agent, so pinentry, keyrings and smartcards work exactly as they do for gpg. Antiphon never touches a private key.

The message list

How it thinks

One idea explains most of Antiphon's behaviour: the client never touches the network. The antiphon binary reads and writes only the local store. Every change you make, reading a message, flagging it, archiving it, sending one, becomes a durable operation in a local log, applied to the store at once and replayed against the server by antiphond when it next gets the chance. Kill the network, kill the daemon, kill the machine: nothing you did is lost, and nothing you see is a lie about what the server said.

That split buys the rest. The interface is fast because it only ever reads local data. Offline works because offline is the normal case, not an error path. And the vault can seal the whole store because there is exactly one directory that matters.

These pages document what works today, nothing aspirational.

Where to go

Antiphon is free software under GPL-3.0-or-later, developed at git.sr.ht/~donquinleone/antiphon with a read-only mirror on GitHub.