Security & Data Flow

How mail moves through Maru Mail, and every boundary it can cross.

The data flow, complete

Google Gmail API  (TLS, OAuth 2.0 + PKCE)
   │
   ▼
Maru process on your device
   │
   ├── encrypted local database  (mail, index, approvals, audit)
   ├── OS keychain               (OAuth tokens, encryption keys)
   ├── optional: Maru Sync ─────► encrypted vault ciphertext only
   │
   └── optional: local socket (0600) ──► agent process you connected
                                            │
                                            └── possibly that agent's
                                                hosted model provider
                                                (outside your device)

Maru Sync is optional. It stores an encrypted vault containing settings, account addresses, and refresh tokens. The account key stays in your device's keychain, so the service cannot read the vault. The agent hop happens only for agents you created, granted, and consented to.

Sign-in

Encryption

The agent gateway

Reporting a vulnerability

Maru is open source (AGPL-3.0). Report security issues to security@getmaru.app — see SECURITY.md for scope and expectations. The full permission model is specified in PERMISSION-MODEL.md.