[ Agentic automation ]

Assess DMARCbis readiness with standards-linked evidence

Compare current DMARC core and reporting requirements with actual component behavior, preserving legacy differences and unknown receiver adoption in a testable gap register.

By the EmailAuth research team · 6 min read

[ Key points ]

  • RFC 9989 and RFC 9990 are published standards-track specifications, not a new DMARC2 policy version.
  • Evaluate discovery, policy semantics, indirect-flow impact and reporting as distinct dependencies.
  • Keep product capability, receiver adoption and actual acceptance results separate from standards research.
On this page

Assess the updated specification, not a new version string

“DMARCbis readiness” is a useful project label only if it identifies the actual specifications and implementations being compared. RFC 9989 is the updated DMARC core specification published in May 2026. RFC 9990 separately specifies aggregate reporting. These are published standards-track RFCs, not a reason to invent a new DNS version value. The policy record still begins with v=DMARC1. RFC 9989, section 4.7 and RFC 9990, section 2.

An agent can prepare a standards-linked gap register and acceptance plan. It cannot infer that every receiver, reporting library or EmailAuth deployment implements the updated behavior. This article describes a proposed assessment, with no product inspection, DNS change or executed acceptance test.

Inventory the components that make the decision

List the sender’s Author Domains, policy records, sending identities, report destinations and relevant software versions. Identify which components discover policy, evaluate alignment, generate reports, parse reports and display findings. A dashboard may use a current label while an underlying library still follows legacy discovery behavior. Conversely, a receiver may implement newer evaluation without producing the exact reporting detail an analyst expects.

Give each component an owner and an evidence source. A vendor statement, a configuration export and a controlled acceptance result establish different things. Record what was actually inspected and what is merely claimed. Do not mark an entire organization ready because one parser accepts a new sample file or because one domain already publishes v=DMARC1.

Compare policy and domain-discovery behavior

RFC 9989 replaces Public Suffix List-based organizational-domain determination with the specified DNS Tree Walk, including Public Suffix Domain considerations. Its change summary explicitly notes that legacy and updated implementations can reach different results. A readiness plan should compare representative domain hierarchies, explicit author-domain policies and relevant subdomain cases under the intended implementations. RFC 9989, section 4.10 and Appendix C.3.

Do not reduce this to “the agent walks upward until it finds a record.” The algorithm has defined decisions and query bounds. The assessment should link each expected result to the relevant rule and preserve the actual DNS response context used by the test. Hypothetical domain trees can help design cases, but they are not evidence that a production receiver follows the same algorithm.

Reconcile tag changes without guessing receiver adoption

The updated core removes pct, rf and ri from its policy-record tag set and adds np, psd and t. The t tag carries testing semantics; it is not a replacement numeric percentage dial. An agent should flag legacy assumptions about partial enforcement rather than automatically translate a percentage into an unsupported new policy. RFC 9989, Appendix A.6 and C.5.

The fact that a tag changed in the specification does not prove a particular provider’s deployed interpretation. Where a provider document describes older behavior, retain its date and scope and request current applicability evidence. Do not rewrite a live record merely to make a compliance checklist appear modern. Any proposed tag change needs an impact assessment for the actual receiving population and a separately approved test or rollout.

Include operational policy considerations

Readiness is not synonymous with publishing p=reject everywhere. RFC 9989’s interoperability discussion addresses legitimate indirect flows, including general-purpose users participating in mailing lists, and describes receiver responsibilities beyond the published policy alone. Include those flows in the gap register instead of treating them as inconvenient failures to hide. RFC 9989, section 7.4 and Appendix C.6.

For a fictional organization, a receipts-only subdomain and an employee correspondence domain may need different acceptance cases and policy decisions. The assessment would identify both populations and the owners who can evaluate their tradeoffs. It would not assume that a result on the receipts stream proves the correspondence domain can adopt the same policy without operational consequences.

Assess reporting as a separate implementation dependency

RFC 9990 defines aggregate-report structure, identifiers, duplicate handling, policy-change reporting and external-destination verification. Test the report consumer’s supported format and behavior against appropriate fixtures, including malformed or duplicate inputs under a safe test plan. An XML parser that accepts one file is not proof that counts, identities and policy fields are interpreted correctly. RFC 9990, sections 3, 4 and 8.

Keep synthetic fixtures labeled. A fabricated aggregate report can test a parser but cannot establish real receiver behavior or delivery outcomes. External report routing also requires organizational approval for the destination, separate from the protocol’s technical authorization check. A readiness exercise should not silently redirect production reports or grant a new processor access to existing data.

Make every gap lead to a decision and a reproducible test

The proposed register should contain the requirement, standard section, affected component, observed behavior, expected behavior, uncertainty, owner and acceptance evidence. A gap may require a software update, a clarified provider commitment, an authorized configuration change or no action because the case does not apply. “Unknown” is preferable to an unsupported pass.

For consequential changes, keep preparation separate from execution and have the action path enforce scope and approval. OWASP’s authorization guidance emphasizes checking permission for each request; an agent’s overall project assignment should not substitute for authority over every tenant or DNS record. OWASP Authorization Cheat Sheet.

Require acceptance evidence before claiming readiness

Require a standards-linked gap register and reproducible acceptance results. This exact commissioning requirement remains open. The map below is a documentary register template. Current EmailAuth capabilities, receiver adoption, implementation versions, approved changes and reproducible results have not been established. Standards research defines what to examine; it does not certify deployment readiness.

[ Takeaway ]

Readiness requires reproducible implementation evidence. The updated core remains v=DMARC1, and a new label or DNS edit is not certification.

[ By role ]

What this means for you

Choose your role for practical next steps.

Standards and security reviewer

Define the expected behavior

The requirement must come from the applicable current section rather than a migration slogan.

Next steps

  1. Link discovery, tag and interoperability expectations to the specification.
  2. Review legacy differences and the impact on legitimate indirect mail.

Report-platform engineer

Test the consumer independently

A current core implementation and a correct report consumer are different dependencies.

Next steps

  1. Use labeled fixtures and actual supported schema/version evidence.
  2. Verify counts and edge-case handling rather than mere file acceptance.

Domain-policy owner

Approve only justified production changes

Readiness analysis can reveal unknowns without authorizing a rollout.

Next steps

  1. Assign owners and acceptance criteria to each gap.
  2. Review current receiver and provider applicability before changing records.

[ FAQs ]

Frequently asked questions

Should the policy record be changed to v=DMARC2?

No. RFC 9989 retains DMARC1 as the policy-record version value and requires the version tag first. A new invented value is not the readiness upgrade.

Is DMARCbis still merely an unpublished draft in this assessment?

No. The core and aggregate-reporting work discussed here is published as RFC 9989 and RFC 9990 in May 2026. Deployed implementation support remains a separate question.

What discovery difference needs acceptance testing?

The updated specification defines DNS Tree Walk behavior instead of legacy Public Suffix List-based organizational-domain determination. Representative hierarchies need standards-linked expected results.

Can pct be translated directly into a new numeric t value?

No. pct is removed in the updated core; t provides testing semantics rather than a percentage slider. Assess actual implementation behavior before proposing changes.

Does readiness mean every domain should publish p=reject?

No. RFC 9989 addresses general-purpose email and indirect-flow interoperability. The assessment must include legitimate populations and policy consequences.

Does accepting one synthetic XML report prove the reporting system is ready?

No. Parsing, identities, counts, duplicate handling, extensions and malformed inputs require appropriate tests. A fixture also does not prove real receiver behavior.

How should a provider page that describes legacy behavior be handled?

Retain its date, product scope and the uncertainty about current deployment. Do not silently treat it as the updated protocol or assume the provider already adopted newer semantics.

What closes an unknown item in the gap register?

A supported applicability decision or reproducible result tied to the requirement and actual component version, reviewed by the accountable owner. Standards citations alone do not close it.

[ Sources ]

Sources

  1. OWASP Authorization Cheat Sheet
  2. RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance
  3. RFC 9990: DMARC Aggregate Reporting

[ Glossary ]

Glossary

DMARCbis
The update effort discussed here through the published RFC 9989 core and RFC 9990 aggregate-reporting specifications, not a new DNS version string.
DNS Tree Walk
The bounded DNS discovery process defined by RFC 9989 for relevant DMARC policy and domain relationships.
Gap register
A structured comparison of a requirement, actual behavior, uncertainty, impact, owner and acceptance evidence.
Acceptance fixture
A clearly labeled controlled input used to test an implementation; it is not evidence of production traffic.
Implementation readiness
Supported evidence that the actual in-scope components meet their applicable requirements, with remaining limitations stated.

Enterprise provenance

Why top financial institutions and governments retired their email security dashboards.

Traditional email authentication platforms sell you a dashboard and ask your engineers to do the labour. In high-stakes environments, manual oversight means delayed enforcement, configuration drift and unmonitored shadow domains.

EmailAuth is the agentic email provenance platform. Our agents enforce p=reject, keep third-party senders aligned and move your domains to full RFC 9989 compliance, the new DMARC standard,, with human-in-the-loop auditability.

Governments Large enterprises Tier-1 financial institutions

SaaS · Dedicated tenancy · Air-gapped on-prem · BYOK encryption

Knowledge Base