What brev does
Every feature on this page exists on brev's master today, except the one labelled coming.
Ownership, in eight concrete forms
the archiveAll your mail, every account, on your disk, in one SQLite file per account:
~/.local/share/brev/archive/<email>/mail.sqlite3, with attachments in a content-addressed store deduplicated by sha256.open formatReadable by anything that reads SQLite. No server, no container, no brev process required. The schema is a stable, versioned contract, evolved only by appending numbered migrations.
live syncMail arrives continuously: Gmail through
history.list, IMAP through IDLE plus polling. brev watch runs as a user service (brev service install) and the client attaches to its control socket and refreshes when a pass changes anything.the clientA fast terminal client: unified inbox across all accounts, threads, search, reader pane, compose, reply, forward, archive, trash, spam, stars. Every feature reachable from a menu; every key binding shown in it;
F1 or ? lists them all.safe by constructionThe client opens the archive read-only. Its own state — read markers, stars, queued actions — lives in the overlay,
state/overlay.sqlite3. Sent mail is frozen to exact bytes at queue time and delivered at most once.bulk operationsAct on mail by sender and by thread, not one message at a time:
A archives every inbox message from the selected sender, t marks a whole thread read.your agentsBring the coding agent you already trust. brev spawns it from a command template in
config.toml — claude -p, codex exec, anything with a stdin — hands it the message, and streams the result back. Nothing is sent to a brev server.migration comingPush your archive into any provider. Copy, switch hosts, or restore after losing an account. Planned; not on master.
Against the alternatives
| category | what they do with your mail | what brev does |
|---|---|---|
| Desktop clients Thunderbird, Apple Mail, Outlook | An interface first, storage an afterthought: the mail lives in an undocumented profile directory in a format only that program reads. Thunderbird carries a calendar, a chat client, an RSS reader and an extension platform. | The archive is not the client's job, so the client is small. The storage format is documented and any program can open it. |
| Provider webmail Gmail, Outlook.com, Fastmail | An interface to a copy of your mail that you do not hold. The export is a one-time download in a format designed for their import tool. | Keeps using the provider for receiving and sending. The copy on your disk is the one that matters. |
| Migration tools a provider's importer, imapsync | Copy provider-to-provider and leave you dependent on whichever end survives. | brev migrate coming pushes from your own disk, so it also restores when the source provider is gone. |
| AI mail Superhuman, Shortwave, the assistants in Gmail and Outlook | Embed a model you did not choose, run it on a server you do not control, and give it your whole mailbox. | Spawns the agent you already use, on your machine, with the message you selected. The trust boundary is yours. |
| Archive-only tools offlineimap, mbsync, getmail, Takeout | Produce Maildir or mbox: piles of files with no index, no dedup, no attachment store, no query language, no client. | Queryable SQLite with a documented schema and a client on top of it. |
Roadmap
Planned and not yet built, in the order they are queued:
- Push the archive into any account; copy, move, or restore.
brev migrate - Unsubscribe agentHand a message to an agent to complete a real unsubscribe.
- Encryption at restOpt-in, off by default.
- Signed releases andLinux today; nothing else until a build exists.
brev update