[ Standards & DMARCbis ]

Move beyond percentage based DMARC rollout assumptions

Replace a legacy percentage promise with an explicit comparison of current testing semantics, business risk and actual receiver behavior.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Current t=y lowers the specified failing-message treatment by one level rather than selecting a percentage.
  • A legacy implementation that ignores t can behave differently from the current specification.
  • Rollout acceptance needs representative legitimate routes and observed outcomes, not a renamed pilot.
On this page

Replace the percentage promise with an explicit decision

A rollout plan that says “apply reject to ten percent of failing mail” needs review before it is reused under the updated DMARC specification. RFC 9989 removes the pct mechanism and defines a testing signal called t. This is a change in the available policy language, not evidence that every receiver has changed its software. The practical task is to identify what the existing plan was meant to protect, then compare that intention with current semantics and observed legacy behavior.

Do not translate a percentage into a testing value mechanically. A percentage plan tries to limit how much traffic receives a treatment. A testing signal changes the requested treatment and can trigger special handling. Those are different controls. Business owners should decide which legitimate routes must be represented in the comparison, what failure impact is acceptable and which evidence would permit the next policy change.

Understand what the current specification requests

RFC 9989 Appendix A.6 explains that historical pct behavior was inconsistent outside its endpoints and that pct=0 had acquired useful special-handling meanings. The updated mechanism preserves a testing concept rather than a general percentage selector. The record version remains v=DMARC1; there is no DNS switch to a version string called DMARC2.

Under section 4.7, t defaults to n. With t=y, the specified failing-message treatment is one level below the selected policy: reject becomes quarantine, and quarantine becomes none. A selected policy of none is unaffected. The signal can also prompt special handling by the evaluating actor, and it does not change generation of DMARC reports. These are specified semantics, not a guarantee of the final folder, rejection response or delivery outcome at every receiver.

Keep the selected p, sp or np policy in the assessment. Testing is not restricted to the policy string an operator happens to see first in a dashboard. The domain and discovery path determine which policy applies. A correct explanation of t cannot compensate for an investigation that checked a different domain from the actual message author.

Identify the mixed implementation risk

A receiver that does not recognize t may ignore it and continue using its supported policy logic. Conversely, an implementation of the updated specification does not gain a percentage rollout rule from an old pct value. A record containing both tags is therefore not a portable way to request one uniform experiment across all receivers.

Treat implementation status as a measured property of a named environment and configuration. A vendor announcement, report format or product logo alone does not prove how a particular message was processed. Where a receiver cannot be inspected, preserve the uncertainty and avoid attributing its final action solely to one tag. Receiver-local handling remains a separate stage under RFC 9989 section 5.4.

Review the old plan's hidden assumptions as well. Was the percentage meant to limit legitimate-mail loss, evaluate forwarding, estimate failure volume or test the reporting service? Each purpose needs different observations. Reducing treatment for all failing messages is not the same experiment as applying stronger treatment to a selected subset, even if both plans are described informally as gradual rollout.

Write acceptance criteria before changing DNS

Prepare a sender-by-sender comparison that includes low-volume and periodic legitimate routes. Retain the exact current record, proposed difference, applicable identities and representative message cases. Record the ordinary authentication and alignment results separately from selected policy, testing status, local overrides and final disposition. Define the conditions that stop the rollout, including missing coverage or unexplained legitimate-message failures.

Use aggregate evidence carefully. RFC 9990 section 3.3 explains that a reporting period can straddle policy changes and contain mixed observations. A day label on a report is not proof that one policy governed every counted message. Preserve the report period, observed policy and deployment timing rather than comparing two unlabeled percentages.

The proposed change should have an accountable owner and recoverable baseline. Removing pct from a legacy plan can remove a constraint that an older implementation was using. Adding t does not prove that constraint has been replaced there. A rollback also changes published state rather than instantly rewriting all cached observations, so the recovery evidence needs its own timing and scope.

Fictional worked example of a rejected translation

In this fictional review, Example Manufacturing has an old worksheet containing p=reject and pct=10. An editor proposes replacing the percentage with t=y and calling the result “the same ten-percent pilot.” The reviewer rejects that description: current testing semantics request quarantine for failing messages under a selected reject policy, rather than selecting ten percent for rejection.

The proposed matrix contains a current-semantics column, a legacy-implementation column and an observation column. The first can be filled from the specification; the other columns require identified implementations and authorized tests. They remain not run in this example. No DNS record was published, receiver queried or message delivered for the exercise.

The next decision is to agree on the actual experiment, such as testing specified handling while observing representative legitimate flows, instead of preserving an inaccurate label. The organization must then gather the evidence that supports that experiment before approving a production transition.

Keep the evidence gates visible

The exact original requirement remains open: Compare an old pct-based plan with current testing semantics and legacy/current receiver observations. The fictional worksheet supplies no deployed observations and cannot close that requirement. The commissioning gate also remains visible: Validate current primary specifications and retain a worked example before drafting. Primary text and a pre-draft fictional exercise were retained; implementation applicability, human SME approval and any operational release remain unresolved. No publication or policy change is authorized by this manuscript.

[ Takeaway ]

Testing with t is not percentage sampling, and publication of RFC 9989 does not establish receiver adoption.

[ By role ]

What this means for you

Choose your role for practical next steps.

Policy owner

Choose the intended experiment

A limit on stronger treatment and a testing mode answer different business questions.

Next steps

  1. State which legitimate routes and risks matter.
  2. Approve explicit acceptance and recovery criteria.

Mail engineer

Record implementation behavior

The standard and the deployed receiver must be tracked separately.

Next steps

  1. Retain exact policy inputs and known receiver configuration.
  2. Separate alignment, selected policy, testing and final handling.

Reporting analyst

Preserve transition context

Aggregate periods can mix observations from before and after a change.

Next steps

  1. Keep reporting periods and deployment timing together.
  2. Do not infer a universal rollout percentage from incomplete reports.

[ FAQs ]

Frequently asked questions

Is t=y another way to request pct=10?

No. It requests current testing treatment rather than selecting ten percent of failing messages for stronger handling. Define the intended experiment again.

What treatment does t=y request with p=reject?

Under the current specification, the failing-message policy is one level lower, quarantine, alongside any applicable special handling. This is not a universal final-disposition guarantee.

Does t=y change a selected none policy?

No. The specification says testing has no effect on a selected policy of none.

Does the testing tag reduce report generation to a sample?

No. The t tag does not affect generation of DMARC reports. Its purpose is policy testing, not setting report sampling.

Is it safe to assume a legacy receiver understands t?

No. Identify and test the implementation; a receiver that does not recognize the tag may ignore it and use its supported policy logic.

Why can the old percentage plan not be evaluated from one aggregate report?

A reporting period can span policy changes and contain mixed observations. Retain timing, observed policy and representative message evidence.

Should the version string change during this migration?

No. RFC 9989 keeps v=DMARC1. The version tag is required first in the policy record.

What evidence is missing from the fictional replacement plan?

An actual comparison of the old plan with current semantics and identified legacy/current receiver observations. The paper worksheet has no executed outcomes.

[ Sources ]

Sources

  1. IANA: Domain-based Message Authentication, Reporting, and Conformance parameters
  2. RFC 9989: Domain-Based Message Authentication Reporting and Conformance
  3. RFC 9990: DMARC Aggregate Reporting

[ Glossary ]

Glossary

pct
The historic DMARC sampling-rate tag, removed from the current RFC 9989 mechanism.
Testing mode
The t tag’s signal for current policy testing, distinct from a percentage selector.
Selected policy
The applicable p, sp or np assessment policy identified for the message’s domain context.
Receiver observation
Recorded behavior from an identified implementation and case, rather than an expected result copied from a specification.
Acceptance criterion
A predeclared condition and evidence requirement used to decide whether a proposed rollout can advance.

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