mailrust

Security

Your mail.Your server.Your rules.

mailrust runs where you put it and keeps everything there. Below is what it does to keep that mail safe, written so you can check every line in the product.

01Data

One file, on your disk

The mail index, contacts and settings live in one SQLite file next to the program. Nothing is sent to us.

No telemetry

mailrust talks to your mail servers. It reaches mailrust.com only when you run an update.

AI only with your key

The writing assistant stays off until an administrator adds a key for a provider they choose.

02Secrets

Passwords hashed

Sign-in passwords are stored as argon2id hashes. Nobody can read them back, not even an administrator.

Mailbox secrets encrypted

Mailbox passwords and service keys are encrypted with XChaCha20-Poly1305. The master key is a separate file, never in the database.

Keys stored as fingerprints

API keys, agent keys and agent tokens are kept as SHA-256 fingerprints and shown once.

03Sign-in

Passkeys and codes

Sign in with a passkey, add a one-time code as a second step, or use your company's single sign-on over OpenID Connect.

Guessing does not pay

Repeated wrong passwords pause sign-in for that login and that IP address for a while.

Sessions in view

See every signed-in device and sign out of all of them in one click.

04Reading mail

A sandbox for every email

Messages render in an isolated frame where scripts never run.

Images on request

Remote images stay blocked until you choose to show them, so senders do not learn when you read.

Careful with files

Programs, fake extensions and password-protected archives are named before you save them. ClamAV can scan attachments too.

05Control

Audit log

Who did what and from where: sign-ins, mailbox access, settings, agents. Filter it and export it as CSV.

Retention

Set how long trash, spam and the log are kept, and mailrust cleans up on schedule.

AI agents on a leash

Rights per area and mailbox, approval before sending, a daily limit and one switch to turn them all off.

06The program

Written in Rust

A memory-safe language, one static binary, no interpreter and no plugins.

Strict pages

A tight Content Security Policy with no inline scripts, HttpOnly cookies, and no requests to internal addresses on a sender's behalf.

Signed updates

Releases are signed with Ed25519. An update checks the signature, keeps the previous version and rolls back if needed.