skip to content

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

categorywhat they do with your mailwhat 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:

  1. brev migrate
    Push the archive into any account; copy, move, or restore.
  2. Unsubscribe agent
    Hand a message to an agent to complete a real unsubscribe.
  3. Encryption at rest
    Opt-in, off by default.
  4. Signed releases and brev update
    Linux today; nothing else until a build exists.