What this covers and who needs it
Both topics concern the same point in the mail path: an intermediary accepts a message and passes it on, often modified. The question you need to answer depends on your role.
On narrow screens, scroll the table sideways.
| Your situation | What matters | Where to read on |
|---|---|---|
| You send email using your domain. | Valid DKIM signatures aligned with the visible sender domain. You do not need to publish an ARC record for this. | Forwarding and mailing lists |
| You operate a forwarding service or mailing list. | Pass messages on unchanged where possible and change the envelope sender. An ARC signature is an additional, optional assertion. | Forwarding, your own systems |
| A gateway operates before your mailbox service. | Restrict acceptance to the gateway, check authentication at the boundary, and account for gateway modifications and the outbound route. | Gateway before the mailbox |
| You are investigating a message with ARC headers. | Read your own receiving system's result first, then the chain and sealers. | Read headers |
| The Email Security Check shows an ARC or gateway indication. | These are unweighted DNS and hostname indications without message checking. | What the check observes |
“Secure Email Gateway” is a product term, not a term from the mail standards. In the Internet mail architecture of RFC 5598, a filter before the mailbox is a forwarding intermediary acting as a boundary filter, checking and potentially modifying content. A “gateway” as defined by RFC 5598, by contrast, is a transition between different kinds of mail system. In this chapter, gateway means the filter placed before the mailbox.
ARC: pass authentication results through intermediaries
Forwarding sends the message again. If the forwarder retains the original envelope sender, SPF usually fails because its address is not authorised by the sender domain's SPF record. If it rewrites the envelope sender to its own domain, SPF can pass but is no longer aligned with the visible sender domain. DMARC then depends on a valid, aligned DKIM signature. RFC 7960, section 2.2
DKIM often survives simple forwarding because the signed parts remain unchanged. Mailing lists and filters, however, often modify messages: adding a subject prefix or footer, restructuring MIME parts or replacing links. This invalidates the original DKIM signature. If no aligned SPF or DKIM pass remains, DMARC fails. RFC 6376, appendix B.2, RFC 7960, sections 2.3 and 3.2.3, DMARC alignment
This is where ARC comes in. Each participating intermediary adds an ARC set of three headers with the same instance number i=; numbers start at 1 and may go up to 50. RFC 8617, sections 4.1–4.2
On narrow screens, scroll the table sideways.
| Header | Content | What it establishes | What it does not establish |
|---|---|---|---|
ARC-Authentication-Results (AAR) | The authentication results this intermediary obtained on receipt of the message, in Authentication-Results format. | Which results the intermediary claims. | That those claims are true. Chain validation does not confirm the factual correctness of authentication claims correctly embedded in the chain. The required ARC structure and signatures must nevertheless be correct. |
ARC-Message-Signature (AMS) | A DKIM-like signature over the message in the state in which the intermediary passes it on. | That the signing domain (d=) passed on the message in this state. | Who wrote the message or what the intermediary changed. |
ARC-Seal (AS) | A signature over all ARC sets up to and including its own, plus cv= with the chain status on receipt: none, pass or fail. | That the chain and its order have not changed since sealing. | That the sealer is trustworthy. |
Sources: RFC 8617, sections 3.4, 4.1.1–4.1.3 and 4.4.
The first set carries cv=none. Later sets carry cv=pass if the intermediary found the existing chain valid. If an intermediary finds an invalid chain, it seals with cv=fail; further intermediaries do not continue that chain. A validator checks that each set is complete, the numbers run consecutively from 1 to N and the cv values fit. It then cryptographically verifies the newest message signature and every seal. It should record its result as arc=pass, arc=fail or arc=none in its own Authentication-Results. It must treat a chain with result fail like a message without a chain; DNS errors during key retrieval also count as a permanent failure here. RFC 8617, sections 5.1–5.2.1
A valid chain binds the signed claims to the sealing domains. An intermediary thus states which message state it passes on, which authentication results it claims to have obtained on receipt and which earlier sets it found. It can still claim false results; a signature does not make the claim true. ARC therefore authenticates the identity of some participating intermediaries, but does not assess their trustworthiness. A valid chain indicates neither harmless content nor delivery. The specification explicitly says ARC is not a trust framework. RFC 8617, sections 9–9.4 and appendix A.2
Schematic explanation · not a measurement
Check the ARC chain and trust separately
Alice at example.com writes to Bob at example.org through lists.example.net. The sender domain publishes p=reject; the mailing list changes the message.
From sender to list
- Alice · example.com
Original message with a valid DKIM signature.
-
Message reaches lists.example.net
The list checks firstSPF, DKIM and DMARC pass on arrival.
-
After the incoming checks
The list changes and sealsChange the subject and footer, add its own DKIM signature, then add ARC set i=1 / cv=none with the incoming result.
At the recipient
- Bob · example.org
SPF passes only for the list; original DKIM fails. The list’s DKIM is not aligned: DMARC fail.
-
Check ARC separately
ARC chain: passThe list’s signed statement can be checked; the original signature remains damaged.
-
Assess trust in addition to chain validity
Local trust decisionTrusted list: a policy override may be possible. Untrusted list: no ARC override.
A signed statement from the list does not replace the trust decision. ARC pass does not automatically lead to delivery.
Complete description of the flow
Alice sends a DKIM-signed message from example.com to the mailing list lists.example.net; example.com publishes the DMARC policy p=reject. On receipt, the list checks SPF, DKIM and DMARC for example.com and gets pass for each. It then adds a subject prefix and footer, signs with its own domain lists.example.net and finally adds an ARC set with i=1 and cv=none. Its ARC-Authentication-Results records the list's results on receipt. The list sends the message using its own envelope sender to bob@example.org. The receiver example.org performs its own checks: SPF passes only for lists.example.net and is not aligned; example.com's DKIM signature has been invalidated by the changes; the list's signature is not aligned, so DMARC fails. It validates the ARC chain. Whether it believes the list's results on receipt depends entirely on whether it trusts lists.example.net. If it does, its local policy can override the DMARC failure and it can report this as an exception in the DMARC report. If it does not, it treats the message like any other DMARC failure. The figure shows protocol rules using an invented example, not a measurement or a delivery promise.
Read ARC headers and Authentication-Results
The following abbreviated example corresponds to the situation in the figure. Received fields are omitted and signature values are placeholders. Domains and the address come from ranges reserved for documentation; mx.example.org is assumed to be your own trusted receiving system solely for this explanation.
Authentication-Results: mx.example.org;
spf=pass smtp.mailfrom=team-bounces@lists.example.net;
dkim=fail (body hash did not verify) header.d=example.com header.s=sel2026;
dkim=pass header.d=lists.example.net header.s=list2026;
dmarc=fail header.from=example.com;
arc=pass header.oldest-pass=0 smtp.remote-ip=198.51.100.25
ARC-Seal: i=1; a=rsa-sha256; cv=none; d=lists.example.net; s=arc2026;
t=1790000000; b=PLACEHOLDER
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed;
d=lists.example.net; s=arc2026; t=1790000000;
h=from:to:subject:date:message-id:dkim-signature;
bh=PLACEHOLDER; b=PLACEHOLDER
ARC-Authentication-Results: i=1; lists.example.net;
spf=pass smtp.mailfrom=alice@example.com;
dkim=pass header.d=example.com header.s=sel2026;
dmarc=pass header.from=example.com
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.example.net;
s=list2026; h=from:to:subject:date:message-id; bh=PLACEHOLDER;
b=PLACEHOLDER
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=example.com;
s=sel2026; h=from:to:subject:date:message-id; bh=PLACEHOLDER;
b=PLACEHOLDER
From: Alice <alice@example.com>
To: team@lists.example.net
Subject: [Team] Meeting minutes
Date: Mon, 21 Sep 2026 16:12:05 +0200
Message-ID: <protokoll-0921@example.com>Read the excerpt in this order:
- Your own authentication result first. Only an
Authentication-Resultsadded by your own receiving system within your trust boundary is reliable; identify it by the authentication service identifier (heremx.example.org). A compliant system must remove fields with that name arriving from outside and falsely carrying your identifier. With several fields, position alone therefore does not determine which to trust. RFC 8601, sections 1.2 and 5 - The individual results. Here,
spf=passapplies to the list's domain, not example.com, and is not aligned. example.com's signature is invalid after the list's changes. lists.example.net's valid signature is not aligned either. The result isdmarc=fail. - Your system's ARC result.
arc=passmeans your system found the chain structurally and cryptographically valid. The sealer is identified byd=in theARC-Seal.i=1withcv=noneshows that the list is the first and only participating intermediary.header.oldest-pass=0means all older message signatures in the chain were also still valid. - The intermediary's claim. The AAR with
i=1reports that the message passed SPF, DKIM and DMARC for example.com when it arrived at the list. This is a claim by lists.example.net, not a check by your system. - The decision. The receiver's local policy determines whether this claim matters. Only if it trusts the sealer may it treat the DMARC failure differently on this basis. RFC 8617, section 7.2.1
On narrow screens, scroll the table sideways.
| Finding | Meaning | Next step |
|---|---|---|
arc=none | The message arrived without an ARC chain, for example directly from the sender or through an intermediary without ARC. | Normal for direct delivery; not an error. |
arc=pass | The chain is valid according to your system's check. | Identify the sealer (d=) and establish whether your system trusts it. |
arc=fail | The chain is invalid, for example because an intermediary modified something after sealing or a key could not be retrieved. | Treat it like a message without a chain; use cv values and instances to narrow down the break. |
cv=pass in the newest ARC-Seal | The last intermediary claims to have found the chain valid on receipt. | Do not read this as your system's result; arc= in your own field is decisive. |
Multiple sets, i=1 to i=N | Several intermediaries sealed in sequence; the highest number is the newest. | Identify each sealing domain separately. |
header.oldest-pass greater than 0 | During optional backwards verification, the sequence of valid AMS ends at this instance; at least one older signature could no longer be confirmed. | Read this as a way to narrow down the problem, not proof of who changed something. Key retrieval or expired signatures can also cause verification to fail. |
Sources: RFC 8617, sections 4.4, 5.2 and 6.
Providers record additional details differently. Microsoft describes the following for Microsoft 365: when a trusted sealer is recognised, the last ARC-Authentication-Results contains oda=1 alongside arc=pass; compauth=pass reason=130 in Authentication-Results indicates that the ARC result overrode a DMARC failure. These are Microsoft-specific indicators, not general notation. Microsoft Learn: Configure trusted ARC sealers
If you have saved a message as an .eml file, this small Python script lists the relevant fields in their order. It only reads them and does not verify signatures; the position number shows which field is further up.
# Lists Authentication-Results and ARC headers from a saved
# message in their original order. Read-only; does not verify signatures.
import sys
from email import policy
from email.parser import BytesParser
FIELD_NAMES = {"authentication-results", "arc-seal",
"arc-message-signature", "arc-authentication-results"}
with open(sys.argv[1], "rb") as source:
message = BytesParser(policy=policy.default).parse(source, headersonly=True)
for position, (name, value) in enumerate(message.items(), start=1):
if name.lower() in FIELD_NAMES:
print(f"{position:>3} {name}: {' '.join(str(value).split())}")Run it with: python3 arc-fields.py message.eml. The script was tested only with our own synthetic files. Cryptographic ARC verification needs an ARC-capable validator; reading the fields does not replace it.
ARC is a receiver's trust decision
The specification permits receivers to include ARC results in their local decision; it does not require them to. Its wording is that a DMARC validator “MAY choose to accept the authentication assessments provided by an Authenticated Received Chain”, as a matter of local policy. It also says receivers should treat every sealer with caution, to prevent attackers sealing their own spam or fraudulent messages to facilitate delivery. RFC 8617, sections 7.2.1 and 9.4
DMARC itself leaves the final treatment of every message to the receiver. For p=reject, RFC 9989 states: “Mail Receivers MUST NOT reject incoming messages solely on the basis of a "p=reject" policy by the sending domain.” Without further knowledge, receivers must treat such failures as p=quarantine. If a receiver departs from the published policy, it should report the fact and reason in the aggregate report. RFC 9989, sections 5.3.6, 5.4 and 7.4
How receivers actually use ARC therefore varies and is established only where they document it:
On narrow screens, scroll the table sideways.
| Receiver | Documented behaviour | Limit |
|---|---|---|
| Microsoft 365 | Administrators add signing domains (d= from ARC-Seal) as trusted ARC sealers. Their ARC result can then override authentication failures caused by changes in transit; the final assessment uses composite authentication (compauth). | This is not a promise to bypass other filtering decisions or ensure delivery. Microsoft advises adding only services actually used and trusted. |
| Rspamd (self-hosted) | A valid chain is a scoring symbol (ARC_ALLOW, default −1.0). You maintain trusted forwarders in a separate list (whitelisted_signers_map); the DMARC assessment is adjusted only for them. | The effect depends on your configuration and overall score. |
| Gmail | Google describes ARC as information about earlier authentication of forwarded messages: if ARC reports an earlier failure, Gmail may treat a message as unauthenticated despite a current SPF or DKIM pass. | This promises neither acceptance of every ARC sealer nor delivery. The receiver's own checks and policy remain decisive. |
| Other receivers | Their own, often unpublished rules. | RFC 9989 states that ARC had not achieved widespread adoption by its publication in May 2026. |
Sources: Microsoft Learn: Configure trusted ARC sealers, Rspamd: ARC module, Gmail: check authentication, Gmail: Best practices for forwarding email to Gmail, Gmail: Email sender guidelines, RFC 9989, section 7.4.
In DMARC aggregate reports, such an exception is not shown by changing the DKIM and SPF result fields: those must show the values evaluated for DMARC, not the values used by the receiver to override the result. If alignment failed and the applied treatment differs from the published policy, the report must contain a reason element. Permitted types are local_policy, mailing_list, trusted_forwarder, policy_test_mode and other; for ARC-based exceptions, RFC 8617 suggests local_policy with a comment about the sealers. A comment is free text and may be absent. RFC 9990, sections 3.1.1.9 and 3.1.6, RFC 8617, section 7.2.2
<record>
<row>
<source_ip>198.51.100.25</source_ip>
<count>3</count>
<policy_evaluated>
<disposition>none</disposition>
<dkim>fail</dkim>
<spf>fail</spf>
<reason>
<type>local_policy</type>
<comment>arc=pass as[1].d=lists.example.net as[1].s=arc2026</comment>
</reason>
</policy_evaluated>
</row>
<identifiers>
<header_from>example.com</header_from>
</identifiers>
<auth_results>
<dkim>
<domain>example.com</domain>
<selector>sel2026</selector>
<result>fail</result>
</dkim>
<dkim>
<domain>lists.example.net</domain>
<selector>list2026</selector>
<result>pass</result>
</dkim>
<spf>
<domain>lists.example.net</domain>
<result>pass</result>
</spf>
</auth_results>
</record>The invented excerpt belongs to a report about example.com with p=reject. It shows three messages from the list that the receiver accepted despite DMARC failure (disposition none) and gives its local policy as the reason. Embedded in a complete synthetic report, it was successfully checked locally against the XML schema from RFC 9990. It is not a real report. The DMARC chapter explains how to analyse aggregate reports overall.
Standards status: Experimental, proposed Historic status and DKIM2
- RFC 8617 was published in July 2019. It is explicitly not a Standards Track document, but “published for examination, experimental implementation, and evaluation”. The errata search shows technical reports 7910 (whitespace grammar) and 8357 (missing SMTP reference), both only “Reported”. They are not incorporated as adopted corrections to the specification. RFC 8617, Datatracker
- draft-ietf-dmarc-arc-to-historic-00 has been a DMARC working group document since 22 April 2026, so far only in this first revision. The Datatracker shows no further procedural step; without a new revision, the draft expires on 24 October 2026. It declares the experiment concluded: operators should stop relying on ARC, avoid further Internet-wide deployments and remove existing deployments or restrict them to controlled environments with bilateral agreement. RFC 8617 is to be marked “Historic”. The draft's central lesson is that signatures do not create trust: without reliable reputation for every intermediary, DMARC cannot safely be overridden. Datatracker: draft-ietf-dmarc-arc-to-historic
- RFC 9989 of May 2026 cites ARC as the best-known example of attempts to make mailing lists work with DMARC without rewriting the
Fromfield, and notes that none of these approaches is widely used. RFC 9989, section 7.4 - DKIM2 is being developed in the DKIM working group. Active working group drafts are
draft-ietf-dkim-dkim2-spec-06of 28 August 2026,draft-ietf-dkim-dkim2-dns-00of 20 July 2026 anddraft-ietf-dkim-dkim2-bcp-01of 9 September 2026; the motivation draft has expired. There is no RFC or promised timetable, so there is no adopted standard ready as a replacement yet. Datatracker: DKIM working group
The implications for your decision are an assessment, not statements from a standard:
On narrow screens, scroll the table sideways.
| Your role | Assessment |
|---|---|
| You operate a gateway before your mailbox service. | If your mailbox service trusts your own gateway's ARC seal, this is a locally configured bilateral trust relationship. It is the use case that the Historic draft also describes as remaining. Check your platform's additional tools, such as Enhanced Filtering in Microsoft 365, and document the decision. |
| You operate a forwarding service or mailing list. | An ARC seal is optional. Do not count on receivers using it, and first implement the measures in the next section. |
| You only send mail. | Nothing to publish. Aligned DKIM signatures are decisive. |
| ARC is already active in your environment. | Do not disable it hastily, but do not expand it as a strategic solution either. Follow the draft and DKIM2 status through the linked primary sources. |
Forwarding and mailing lists: what actually helps
For domains with p=reject, RFC 9989 requires that they “MUST NOT rely solely on SPF to secure a DMARC pass and MUST apply valid DKIM signatures to their messages”. Forwarding is precisely the reason: SPF fails, but DKIM usually survives. For domains whose users participate in mailing lists, the RFC advises against p=reject. The DMARC enforcement chapter explains how to introduce a stricter policy gradually while considering these constraints. RFC 9989, section 7.4
On narrow screens, scroll the table sideways.
| Measure | Effect | Limit |
|---|---|---|
| Forward messages unchanged | The sender domain's DKIM signature usually remains valid; DMARC can pass on that basis. | SPF for the sender domain fails if the envelope sender remains unchanged. |
| Rewrite the envelope sender to your own domain (for example, using Sender Rewriting Scheme, SRS) | SPF can pass for the forwarding domain; non-delivery messages reach the forwarder. Google recommends this step for forwarding to Gmail. | The SPF result is not aligned with the visible sender domain. DKIM remains decisive for DMARC. |
| Do not modify signed parts | No subject prefix, footer, MIME restructuring or re-encoding: DKIM then remains intact. | Limits some mailing list functions. |
| Mailing list with its own sender address | The list rewrites the From field to its own address and signs with its domain. RFC 9989 describes this as the established workaround. | Receivers see the list as the sender; the original address remains only in the display name or unauthenticated additional fields. |
| Add an ARC set | Receivers can trace the intermediary's authentication results on receipt. | Works only with receivers that evaluate ARC and trust you. The Historic draft advises against new Internet-wide deployments. |
Sources: RFC 7208, appendix D, RFC 7960, sections 2.2 and 4.1.3, RFC 6376, appendix B.2, RFC 9989, section 7.4, Gmail: Best practices for forwarding email to Gmail.
Alias services, university addresses and association addresses usually have no relationship with the sender domain. Solutions therefore must not assume that every sender knows every forwarder or adds them to its SPF record. RFC 7960, section 3.2.1
Secure Email Gateway: a filter in the mail path
A Secure Email Gateway checks messages that are actually routed through it. Depending on the product, licence and configuration, this may include spam and malware checking, link and attachment analysis, quarantine and rules for outbound messages. SPF, DKIM and DMARC, by contrast, check domain authorisation and alignment, not a person's identity or whether content is harmless. The two tasks complement each other.
Filters can be integrated in different ways:
- Before the mailbox service: MX records point to the gateway, which passes messages to the mailbox service after checking. The next section covers this architecture in detail.
- Behind the mailbox service: MX records continue to point to the mailbox service, which routes incoming messages to the filter and back. Microsoft describes this as a separate scenario with its own challenges. Microsoft Learn: Mail flow with a third-party cloud service
- Through an API: some products access mailboxes after delivery. They do not change MX records and cannot be detected in DNS.
- Integrated: large mailbox services include their own filtering functions, whose scope depends on the plan and settings.
On narrow screens, scroll the table sideways.
| Possible function | What it can do | What to check |
|---|---|---|
| Spam and phishing filter | Classify messages by sender, content, links and reputation. | False positives and missed threats using your own examples and logs, not advertised rates. |
| Malware checking and sandbox | Examine attachments, potentially executing them in an isolated environment. | Which file types are covered and how encrypted archives are handled. |
| Link rewriting | Replace links with checking URLs and reassess them when clicked. | The change invalidates DKIM signatures covering the body; consider the effects on internal forwarding. |
| Warning banners and footers | Visibly label external or suspicious messages. | This also modifies the message and can break DKIM. |
| Rules for outbound messages | Check content or recipients before sending. | Effective only if the outbound route actually goes through the gateway. |
| Impersonation detection | Flag similar domains and forged display names. | Complements DMARC; does not replace it. |
Sources for the effects of changes: RFC 8617, section 7.1.1, RFC 7960, section 3.2.5.
Gateway before the mailbox: mail flow, bypass and authentication
Placing a gateway in front of the mailbox service changes who accepts messages from the Internet and where authentication can usefully be checked. The following points apply regardless of provider; a vendor is named where it documents specific settings.
Changing MX records and managing the transition
The domain’s MX records point to the gateway; the gateway knows the accepted domains and forwards messages to the mailbox service. Plan the change with both operators and keep the previous receiving path available until the new path demonstrably works. If you publish MTA-STS, your policy’s mx entries must cover the gateway hosts, and the old policy should continue to work during the transition. A backup MX must enforce the same filters because any published MX can be contacted directly. RFC 8461, sections 4.1 and 8.1, Deploying MTA-STS, MX infrastructure
If you use DANE on the path to the mailbox service, the gateway must support validation. For Exchange Online, Microsoft explicitly notes that, with a third-party gateway, inbound SMTP DANE with DNSSEC protects only the path from the gateway to Exchange Online, and only if the gateway can validate DANE. MX names under mx.microsoft are now also available there alongside the older mail.protection.outlook.com. Microsoft Learn: How SMTP DANE secures email
Preventing direct delivery that bypasses the gateway
The mailbox service’s receiving server remains reachable from the Internet, and its name can often be inferred. At Microsoft 365, for example, it follows a pattern such as <Domain>-com.mail.protection.outlook.com. If the mailbox service accepts messages from arbitrary senders, attackers can bypass the gateway and submit messages directly there. Microsoft Learn: Direct Send and SMTP relay
- Microsoft 365: Microsoft recommends securing the organisation so that it accepts messages only from the third-party service: through an inbound partner connector bound to the gateway’s certificate (preferred) or IP addresses. Directly submitted messages are then rejected. The
RejectDirectSendsetting has a narrower effect: it rejects anonymous messages with one of your own accepted domains in the envelope sender that do not match a connector. Microsoft Learn: Mail flow with a third-party cloud service, Microsoft Learn: Set-OrganizationConfig - Google Workspace: “Reject all mail not from gateway IPs” restricts incoming mail to the listed public gateway addresses; “Require TLS for connections” requires TLS for this path. Google also explicitly notes that Gmail does not enforce the sender’s DMARC policy for messages arriving through the configured inbound gateway. Authentication data still contributes to spam and phishing assessment. This decision must fit the checks performed by your gateway. Google: Inbound mail gateway
- Your own server: Restrict acceptance on port 25 for the affected domains to the gateway’s addresses, using a firewall or MTA rule.
Old relay and forwarding permissions at the gateway, together with orphaned DNS references, are a related attack surface; the section on Echospoofing and SubdoMailing explains them.
Checking authentication at the boundary
Behind the gateway, the mailbox service sees the gateway’s IP address as the source of the SMTP connection; the message’s sender fields are separate. Microsoft explains that the message takes on the source address of the last hop before Microsoft 365: this is how SMTP works, rather than a limitation of Microsoft 365. An SPF check against that address says nothing about the original sender. RFC 7208 therefore places the check at the border MTAs, including all secondary MX hosts; elsewhere, the RFC says it is likely to produce unreliable results. Microsoft Learn: Enhanced Filtering for Connectors, RFC 7208, Appendix F
If the gateway changes messages — banners, rewritten links or removed attachments — the original DKIM signature also fails afterwards. Without a countermeasure, the mailbox service may therefore classify legitimate messages as DMARC failures or spoofing. Two documented approaches address this:
- Passing on the gateway’s result: The gateway checks SPF, DKIM and DMARC before making changes and seals the message with ARC. The mailbox service trusts this seal; in Microsoft 365, this is configured by adding a trusted ARC sealer. RFC 8617 describes precisely this use by scanning services to which MX records are redirected. RFC 8617, section 7.1.1
- Skipping the gateway’s address: Microsoft 365 offers “Enhanced Filtering for Connectors”, also called skip listing. According to Microsoft, the feature preserves the original source address and compensates for DKIM failures caused by modifications. Microsoft explicitly recommends it for gateways that do not support ARC and advises against disabling spam filtering for gateway addresses across the board: many filtering providers share addresses among many customers, so an exception could also admit spoofed messages from those addresses. Microsoft Learn: Mail flow with a third-party cloud service
The gateway also shifts the trust boundary for Authentication-Results. A provider-operated gateway can be inside your trust boundary if you configure it that way; RFC 8601 explicitly includes systems operated by a service provider in its data centre. Define which system writes which results and which field your administrators evaluate. The receiving system must remove fields arriving from outside that carry your identifier. RFC 8601, sections 1.2 and 5
The outbound path
Whether outbound messages pass through the gateway is a separate decision. The gateway belongs in the SPF record only if they do; Microsoft states this explicitly for Microsoft 365. If the gateway changes outbound messages, for example by adding a signature block or notice, the DKIM signature must be created afterwards: either by the gateway itself using an aligned domain, or through a design that makes no further changes after signing. RFC 6376 explicitly requires modifying intermediaries such as mailing lists to make their changes before signing again. Microsoft Learn: Mail flow with a third-party cloud service, RFC 6376, section 5.4, SPF, DKIM
On narrow screens, scroll the table sideways.
| Check | Risk if incorrect | How to substantiate it |
|---|---|---|
| MX records point only to the intended gateway hosts | Messages reach the mailbox service without filtering. | DNS query with the complete answer; comparison with the gateway operator’s requirements. |
| The mailbox service accepts mail only from the gateway | Direct submission that bypasses the gateway. | Connector or MTA configuration; an agreed test from your own external system. |
| Authentication is evaluated at the boundary | Incorrect SPF, DKIM and DMARC results and misclassification. | Headers of your own test message: the gateway’s result, ARC seal and evaluation at the mailbox service. |
| The ARC signing domain matches the trusted sealer configuration | No override, or trust placed in the wrong domains. | Compare d= in a test message’s ARC-Seal with the configuration. |
| The outbound path matches SPF/DKIM | Outbound messages fail DMARC. | Your own test message to an external mailbox; read its Authentication-Results there. |
| The MTA-STS policy and backup MX match the new path | Delivery delays or an unfiltered alternative path. | Check the policy file and MX record set together. |
The following DNS query shows which MX targets your domain publishes. It was not run for this chapter; the names and output are examples.
dig +short MX example.com
# Example output (invented):
# 10 mx1.gateway.example.net.
# 20 mx2.gateway.example.net.The output answers only which targets senders should use. Configuration and your own test messages establish whether the mailbox service also accepts mail directly, whether filtering takes place and whether your messages arrive correctly authenticated. Where the Email Security Check offers a private test email, it shows the SPF, DKIM and DMARC findings for that one message; it does not include ARC analysis.
Schematic explanation · not a measurement
An effective gateway needs a controlled mail route
The MX targets point to the gateway. The mailbox service restricts acceptance to the intended upstream route.
Main incoming route
- Internet → gateway
Check SPF against the actual sender, plus DKIM and DMARC, before making changes.
-
Forward after checking and any changes
Gateway → mailbox serviceComplete changes before ARC sealing. Use ARC only with configured platform support and trust.
-
The mailbox service initially sees the gateway as its SMTP peer
Restricted acceptanceAssociate the certificate or address with the gateway; explicitly configure platform features and the trust boundary.
Direct route bypassing the gateway
- Internet → mailbox service
An attacker knows the direct target despite changed MX records.
-
Handle direct connections separately
Acceptance restrictionReject if the restriction is effective. If it is missing, bypass without gateway checks is possible.
Outgoing route
- Your outgoing mail → gateway
Only actual outbound use justifies SPF authorisation for the gateway.
-
Configure the outgoing route separately
Gateway → recipientComplete changes to signed content before the relevant DKIM signature is applied.
Gateway protection requires the actual mail route and restricted acceptance. This is an example design, not a provider test.
Complete description of the flow
A sender on the Internet queries example.com's MX records and obtains the gateway hosts mx1.gateway.example.net and mx2.gateway.example.net. It delivers to the gateway. The gateway checks SPF against the sender's actual address, as well as DKIM and DMARC, before modifying the message, for example with a warning banner or rewritten links. It then passes the message to the mailbox service and adds an ARC set with its own signing domain. The mailbox service sees the gateway as the connecting SMTP server. It accepts only connections associated with the gateway by certificate or address, and uses the gateway's results on receipt only because it is configured as a trusted sealer or a platform feature skips the gateway address. A second, dashed path leads directly from the Internet to the mailbox service's receiving server; it ends in rejection because acceptance is restricted to the gateway. Without this restriction, the message reaches the mailbox without gateway checks. A small side branch shows the outbound route: only outbound routing through the gateway justifies its SPF authorisation for that sending. Changes to signed content must be completed before the relevant DKIM signature. The figure explains an architecture with invented names; it is neither a measurement nor a statement about a particular provider.
Choose a gateway: questions to ask instead of brand lists
This chapter does not list providers, market shares or ownership structures. Such information changes quickly and establishes nothing about the protection provided by a particular installation. Provider categories in market studies and market shares are different measures; a study can only be assessed alongside its date, products covered and methodology. Detection rates are meaningful only with the test setup, selection of attacks, product version, configuration and false-positive rate. Registered office and ownership are information for the contract, but neither evidence of protection nor proof of compliance.
On narrow screens, scroll the table sideways.
| Question about the offer | Why it matters | Evidence you can request |
|---|---|---|
| Which functions do we need, and how is their effectiveness demonstrated? | Functions depend on the product, licence and configuration. | Description of the purchased functions, configuration state and test reports with methodology. |
| In front of, behind or alongside the mailbox service? | The design determines MX records, bypass risks and coverage of internal messages. | The provider’s architecture description for your mailbox service. |
| Fixed addresses or certificates for restricting acceptance? | Without fixed identifiers, blocking direct delivery is difficult. | Documented address ranges or certificate names. |
| Does the gateway seal with ARC, and with which signing domain? | Required for configuring it as a trusted sealer. | Headers of a test message. |
| What modifications does it make? | Banners, rewritten links and attachment handling affect DKIM and users. | Settings and test messages. |
| How does the outbound path work? | SPF, DKIM and DMARC must match it. | Setup instructions and your own test message. |
| Which logs and quarantine functions are available? | Incorrect decisions must be open to investigation. | Sample log and retention period. |
| How and where are messages processed, and who can access them? | Contractual and data protection questions require their own assessment. | Contract documents; see Compliance and documentation. |
| How do we exit? | Otherwise, remaining MX records, connectors, relay permissions and sealer entries become legacy exposure. | Decommissioning plan. |
Your own forwarding service or mailing list: use ARC only for a clear purpose
If you operate a forwarding service, mailing list or gateway yourself, first review the measures in Forwarding and mailing lists. ARC signing supplements them; it replaces none of them. Before sending sealed messages for the first time, publish and check the corresponding public key. In live mail flow, follow this order:
- Check on arrival. Evaluate the incoming message’s SPF, DKIM and DMARC and record the results in an
Authentication-Resultsfield with your own identifier. This becomes the AAR. - Modify and sign. Complete all changes, including your own DKIM signature, before sealing.
- Seal last. Add the ARC set with the next instance number. If the message already contains a chain whose most recent seal has
cv=fail, do not add another seal. - Maintain the keys. ARC uses the same key publication mechanism as DKIM, under
<selector>._domainkey.<signing domain>. The selector name can be chosen freely; the namearcis not mandatory. The specification imposes no requirements on the selectors and domains used by the seals. - Test and document. Check results at receiving systems you control, and tell recipients who want to trust you which signing domain you use.
Sources: RFC 8617, sections 4.1.2, 4.1.3 and 5.1.
The state of common implementations as documented on 27 September 2026:
- OpenARC: Development continues in the flowerysong/OpenARC project. Its changelog lists version 1.3.0, dated 29 October 2025, and describes the changes since the Trusted Domain Project’s last release starting with version 1.0.0 in October 2024. The README still describes ARC as experimental and the package as intended for operators who want to participate in the experiment. Check separately which version your distribution ships. OpenARC: CHANGELOG, OpenARC: README
- Exim: Experimental ARC support has been available since version 4.91 and must be enabled when building (
EXPERIMENTAL_ARC). The Exim documentation still refers to ARC draft 11 and notes that alignment with RFC 8617 remains outstanding. Exim: NewStuff, Exim: experimental-spec.txt - Rspamd: According to its documentation, the ARC module has verified and signed messages since version 1.6. Mailcow includes Rspamd as its filtering component. Rspamd: ARC module, Mailcow documentation
What the Email Security Check observes about ARC and gateways
The Email Security Check reads your domain’s public DNS data. For ARC and gateways, it provides only unweighted hints; they do not change the grade, and an absent hint is not a defect.
On narrow screens, scroll the table sideways.
| Hint | What the check examines | What it does not examine |
|---|---|---|
| ARC | A TXT query at exactly arc._domainkey.<your domain>. If the answer contains DKIM-like information (v=DKIM1 or p=), it reports a selector hint. Otherwise, an MX match to a platform for which possible ARC functions are recorded may produce a provider hint. | No message, ARC header, signature, chain, trust assessment or other selector names. The name arc is not mandatory; a match proves neither a valid key nor actual sealing. |
| Gateway | A comparison of your published MX target names with a list of known gateway patterns; the first match in MX preference order is reported. | No licence, active filters, effectiveness, actual mail flow, acceptance restriction at the mailbox service or separate assessment of backup MX hosts. API-based, self-operated or unlisted filters remain undetected. |
| DNS errors | A query without a conclusive answer remains unresolved. | No proof that ARC or a gateway is absent. |
Older stored results may still show ARC with the points awarded at that time; they retain their stored scale and likewise do not prove that a message chain was checked.
The free Email Security Check lets you examine your own domain, or one you are authorised to check, without registration; the check page explains the exact scope. For this chapter’s questions — trust in a sealer, restricted acceptance and the effectiveness of a filter — you also need your systems’ configuration and your own test messages.
Typical symptoms and next steps
On narrow screens, scroll the table sideways.
| Observation | Possible cause | Next step |
|---|---|---|
| Since the gateway was introduced, legitimate messages land in spam or fail DMARC. | The mailbox service checks against the gateway’s address; the gateway modifies messages. | Pass on the gateway’s result using ARC with a trusted sealer, or configure the platform’s feature for skipping the gateway address; examine the modifications. |
arc=fail in your system’s result | An intermediary made changes after sealing, a key could not be retrieved, or the chain is incomplete. | Review cv values and instances; on your own systems, move sealing to the end; check key publication. |
arc=pass but no override (in Microsoft 365, for example, oda=0) | The sealer is not configured as trusted, or the wrong domain was entered. | Compare d= in the ARC-Seal with the configuration; enter only the service actually used. |
arc=none on a forwarded message | The intermediary does not seal messages. | Ask the operator; use alternative measures for forwarding. |
Still in spam despite arc=pass | ARC concerns authentication only, not content assessment. | Investigate the spam decision separately. |
| Phishing reaches mailboxes without any gateway traces in the headers | Direct submission that bypasses the gateway, an old or additional MX, or an open relay permission. | Restrict acceptance to the gateway; check the MX record set and connectors. |
Forwarded messages from senders with p=reject are rejected. | SPF fails because of forwarding; DKIM fails because of modifications. | Forward without changes and rewrite the envelope sender; for lists, use the list’s own From field. |
| Outbound messages fail DMARC after the change. | The gateway is missing from the SPF record, or its modification breaks the DKIM signature. | Add the gateway to SPF only when the outbound path goes through it; sign after the last modification. |
| The check shows no gateway hint even though a gateway is in use. | Its pattern is absent from the list, it uses custom hostnames, or it is connected through an API. | Not a defect; document the architecture yourself. |
| The check shows a gateway hint even though the contract has ended. | Remaining MX records. | Clean up the MX record set and check acceptance at the mailbox service. |
Keep evidence and documentation within their limits
For a gateway, record the MX record set and timestamp, forwarding destination, acceptance restriction at the mailbox service, configured ARC sealers and their signing domains or the setting for skipping the gateway address, message modifications, the outbound path with SPF and DKIM, and the headers of dated test messages. For a forwarding service or list, include rewriting and any ARC seal.
Neither a set of ARC headers, an MX pattern nor an Email Security Check result demonstrates effective filtering or fulfilment of organisational or legal requirements. The chapter on Compliance and documentation addresses which requirements apply to your organisation; this chapter makes no statement on that question.
Frequently asked questions
What is ARC, and which problem does it address?
ARC (Authenticated Received Chain) lets intermediaries such as mailing lists, forwarders or gateways attach their signed authentication results to a message. This helps when forwarding causes SPF to fail and changes invalidate DKIM, causing DMARC to fail. A receiver can consider an intermediary's signed result from when it received the message, if it trusts that intermediary. ARC repairs neither SPF nor DKIM and does not guarantee delivery.
Do I have to publish an ARC record in DNS for my domain?
No, if you only send mail. ARC is applied by intermediaries that pass messages on. Only those that seal messages themselves publish a key for their signing domain, under a freely chosen selector as with DKIM. The name arc._domainkey is not mandatory; its absence is not a defect.
Does arc=pass mean that a message is genuine?
No. arc=pass in your receiving system's result means only that the chain is valid. It does not establish whether the sealers tell the truth, whether the original sender domain was authorised or whether the content is harmless. A cv=pass in the seal itself is only the last intermediary's claim.
What is a Secure Email Gateway?
A filter placed before or integrated into the mail service that checks messages routed through it, for example for spam, malware and dangerous links. Which functions are actually active depends on the product, licence and configuration. A provider name in the MX record proves neither these functions nor their effect; filters connected through APIs or your own systems often work without a recognisable MX pattern.
Do I need ARC and a gateway with Microsoft 365 or Google Workspace?
That depends on your mail flow and protection needs. Microsoft documents trusted ARC sealers for services that modify messages before Microsoft 365; add only services you actually use. Google Workspace documents an inbound gateway mode with its own receiving and authentication rules; Gmail does not enforce the sender's DMARC policy in this mode. This requires suitable gateway configuration. Configuration, operation and risk determine whether an additional filter is needed, not the platform alone.
What is ARC's standards status?
As at 27 September 2026, RFC 8617 remains Experimental. The working group draft draft-ietf-dmarc-arc-to-historic-00 of 22 April 2026 proposes reclassifying ARC as Historic and advises against new Internet-wide deployments; this has not been adopted. DKIM2 consists only of drafts without a timetable, so a completed standardised replacement is not yet available.
How should a detected gateway provider be interpreted?
A matching MX hostname is a provider indication. It confirms neither the subscribed product nor active filters, the actual delivery route, restrictions on acceptance by the mailbox service or a particular prevention rate. Conversely, an unknown pattern does not prove a lack of protection.
Does every business need its own gateway?
No. What matters is the required protection and evidence that it operates. It may be integrated into the mailbox service, provided through a gateway before it, through APIs or through your own filters. None of these architectures guarantees complete prevention, and each needs suitable configuration.
Related next topics
- DMARC: alignment, policy and reports — why an aligned pass is needed and how to read aggregate reports.
- DKIM: signatures and selectors — which modifications invalidate a signature.
- SPF: authorising senders — when a gateway belongs in the SPF record.
- DMARC enforcement — introducing a stricter policy while accounting for forwarding.
- MTA-STS and TLS-RPT and MX infrastructure — the MX record set and transport policy when changing gateways.
- Threats against which a suitably operated filter can provide additional help: phishing, Business Email Compromise, dangerous attachments and Echospoofing and SubdoMailing.
Previous chapter: DNS security: DNSSEC, DANE and CAA. Next chapter: Email alias strategy.
Sources and review date
Primary sources were checked on 27 September 2026 for the statements indicated. The examples explain mechanisms using invented names; they are neither a measurement of a customer domain nor a real message.
- RFC 8617: The Authenticated Received Chain (ARC) Protocol — Experimental, July 2019; sections 3–7 and 9, and Appendix A
- draft-ietf-dmarc-arc-to-historic-00 — working group draft of 22 April 2026, not adopted
- DKIM working group: documents — DKIM2 drafts
- RFC 8601: Authentication-Results — sections 1.2, 4.1 and 5
- RFC 9989: DMARC — sections 5.3.6, 5.4 and 7.4
- RFC 9990: DMARC Aggregate Reporting — sections 3.1.1.9 and 3.1.6, and Appendix A
- RFC 7960: DMARC and indirect mail flows — Informational
- RFC 5598: Internet Mail Architecture — sections 2.2 and 5.5
- RFC 7208: SPF — Appendices D and F; RFC 6376: DKIM — section 5.4 and Appendix B.2; RFC 8461: MTA-STS — sections 4.1 and 8.1
- Microsoft Learn: Configure trusted ARC sealers, Enhanced Filtering for Connectors, Mail flow with a third-party cloud service, How SMTP DANE secures email, Set-OrganizationConfig
- Gmail Help: Email sender guidelines and Best practices for forwarding email to Gmail
- OpenARC (flowerysong), Exim: experimental-spec.txt, Rspamd: ARC module