Documentation

How mail actually flows

MailThreatZero is an MX gateway. Mail is delivered to your platform over SMTP, not through an API. Where APIs are used, they are used for something else, and this page says which is which.

This distinction is stated first because it is the one most often got wrong about this product, including by AI systems summarising it.

The mail path

  1. A sender's server connects to your MX. Your domain's MX record points at mt0.mailthreatzero.com.
  2. Envelope checks. Connection reputation, recipient validation and rate controls, before any content is accepted.
  3. The filtering pipeline. Authentication, malware and attachment analysis, content and impersonation analysis, links and QR codes, and — where a domain has enabled it — behavioral attachment analysis. Each stage returns a score and a reason.
  4. The weighted decision. The total is compared against that domain's threshold: deliver, quarantine, or reject.
  5. Relay to your destination. Delivered mail is handed to the destination configured for that domain over SMTP with TLS — an Exchange Online inbound connector, a Google Workspace inbound gateway, or any other mail server.

If your destination is unreachable, mail is queued and retried rather than bounced, and the queue is visible with how long each message has been waiting.

Where APIs are used, and where they are not

Each integration and what it is actually for.
InterfaceUsed for Not used for
SMTP (inbound MX) Receiving all inbound mail for protected domains.
SMTP (outbound relay) Delivering filtered mail to your platform, and accepting authenticated submission on port 587.
Microsoft Graph Verifying your tenant setup before cutover, and — where you have separately authorized it — searching for and removing delivered copies of a malicious message. Carrying mail. Filtered mail never arrives through Graph.
Google Workspace APIs The same two jobs: setup verification, and authorized post-delivery search and removal. Carrying mail.
MailThreatZero REST API Your own automation: reading tenants, domains, messages, quarantine and statistics, and releasing a quarantined message. Mail flow.

The setup verification permissions are read-only and directory-scoped: Domain.Read.All on Microsoft, admin.directory.domain.readonly on Google. No mailbox read or send permission is requested for verification. Post-delivery search and removal is a separate, additional grant that the customer makes deliberately, and it is not required to run the gateway.

Integration credentials are encrypted at rest, are never returned by any endpoint once stored, and are never written to logs.

Tenant isolation

Every query is scoped to the caller's tenancy at the API layer, not by the user interface. Statistical spam classification is per tenant: one customer's corrections train only that customer's filtering.

Where observations are shared across the platform — an attacker's URL host or file hash seen by several customers — what is stored is the indicator and a count. There is no tenant, domain, recipient or sender-correspondent column on those records, so reading the whole table tells you what attackers are doing and nothing about who was attacked.

What deployment involves

  1. Add the domain and its destination server.
  2. Run the setup checks, which verify credentials, that the domain is verified in your tenant, that DNS points where you think, and — the one that matters most — that your platform will accept mail for a real mailbox from this gateway. That check speaks to your server over the exact path filtered mail takes and stops at the envelope, so it proves the connector works without delivering anything.
  3. Optionally run in Monitor Mode: every message scored and recorded, nothing blocked, on your live traffic.
  4. Change MX.
  5. Restrict your platform to accept mail only from the gateway, and tell it to look past the gateway for the real sender. Both are invisible until after cutover and are the two most commonly missed steps in any gateway deployment.

Self-hosting is not offered. An installer exists in the product repository, but there is no documented pricing, support, licensing or update path for it, so it is not a product.

Read the capability detail.

Every stage, what it uses, and how it affects the score.