Security & compliance

How MailAgent handles access control, tenant isolation, secrets, and operational change management. This is an engineering summary — not a SOC 2 certificate.

Report a vulnerability

Do not file public GitHub issues for security-sensitive reports. Use private vulnerability reporting or email hello@webmailagent.com. Full policy: SECURITY.md.

Access control (CC6)

ControlImplementation
API authenticationBearer API keys; scoped keys (labelPrefix, readOnly)
MCP OAuthclient_credentials JWT (mat_) + optional Auth0 OIDC
Team isolationTeam-scoped keys, domains, inboxes, audit events
Secrets in clientsNo API keys in static bundles; env / Worker secrets only

Scoped keys guide → · MCP OAuth →

Operations (CC7)

ControlImplementation
Deploy gatetest:prod:gate on push; full test:prod on tag v*
Audit logGET /v1/audit · retention cron (AUDIT_RETENTION_DAYS)
Rate limitsPer-key KV-sampled limits; plan tiers in GET /v1/me

Audit log console →

Change management (CC8)

Enterprise tenant isolation

Enterprise teams can attach a dedicated Resend account for custom domains, per-team inbound webhooks, and outbound send — isolated from the shared hosted Resend quota.

Dedicated Resend setup → · Enterprise overview →

Availability (A1)

Before SOC 2 Type II

Outstanding for a formal audit (not blockers for self-host or enterprise pilot):

Internal baseline: npm run doctor:security · control mapping: docs/SOC2.md

Enterprise contact: hello@webmailagent.com