DMARC Census, October 2026
We looked up the DMARC and SPF records of 1,000,766 domains. For each one, we checked whether it publishes a policy receivers act on and whether anyone can receive its DMARC reports.
35,050 of them name an outside address for their DMARC reports, and the address's owner hadn't published an authorization record for them. Receivers that check for that record won't send reports there. 30,229 of these domains name only outside addresses without authorization. DMARC report addresses without authorization is our write-up of this finding.
We scanned the Tranco top 1 million (list Q2K34) and 1,321 US federal domains on 1 Oct 2026. 555 of the federal domains are already in the million, so the total is 1,000,766 domains.
Most percentages on this page are out of the 1,000,420 domains whose DMARC lookup got an answer. We call these the measured domains. Where we use a different group, we say which. We left out the 346 lookups that failed after retries, because a failed lookup can't show whether a record exists.
Jump to key findings, what changed, tiers, rank, countries, TLDs, reports that go nowhere, SPF, the federal cohort, collectors, methodology or the data.
Key findings
- Of the top 1,000 domains in the October 2026 scan, 73.7% publish a valid DMARC record and 57.3% are in the enforced tier. Across ranks 100,000 to 1,000,000, those shares are 45.8% and 19.2%.
- 387 of the domains with a usable SPF record in the October 2026 scan end it with +all. That lets any host on the internet send as them.
- Of 1,321 registered US federal .gov domains, 80.3% publish p=reject in the October 2026 scan and 183 publish no DMARC record. That list is wider than the mail-sending executive-branch set that Binding Operational Directive 18-01 has held to p=reject since October 2018, so the gap isn't a count of agencies breaking the directive.
- Between the September 2026 and October 2026 scans, 8,103 domains moved to a stronger policy, 3,420 of them by publishing a first p=none record, and 2,129 moved to a weaker one. 98.8% of the 853,407 domains we measured in both months kept the same policy.
What changed since September 2026
We compare the policy of every domain that was on the list in both months and whose lookup got an answer both times. From weakest to strongest, the policies are no usable record, p=none, p=quarantine and p=reject. A broken record counts as no usable record. If DNS failed in either month, we leave the domain out and don't count it as a change.
853,407 domains were on both lists and got an answer both times. 843,175 of them kept the same policy from September 2026 to October 2026. 8,103 moved to a stronger policy and 2,129 to a weaker one. The stronger count includes 3,420 domains that published their first p=none record. 4,034 reached quarantine or reject from p=none or no usable record, and 2,432 of those had been at p=none. The most common change was no usable record to p=none, on 3,420 domains.
The headline shares, month against month
| Share | September 2026 | October 2026 | Change |
|---|---|---|---|
| Valid DMARC record | 47.2% | 47.1% | -0.1 pts |
| Enforced tier | 20.8% | 20.7% | -0.1 pts |
| p=reject | 11.8% | 11.5% | -0.3 pts |
| Dead reporting, as a share of valid records | 27.7% | 27.5% | -0.2 pts |
| No DMARC record | 52.2% | 52.4% | +0.2 pts |
| SPF record published | 64.1% | 63.6% | -0.5 pts |
| SPF permerror, as a share of SPF records | 5.7% | 5.8% | +0.1 pts |
The Tranco list changes from month to month. 146,921 domains in the October 2026 scan weren't on the September 2026 list, so part of every change in this table comes from that turnover. The changes below count only domains that were on both lists, so start with those.
Every policy change, largest first
| From | To | Domains |
|---|---|---|
| no usable record | p=none | 3,420 |
| p=none | p=quarantine | 1,665 |
| p=none | no usable record | 1,070 |
| no usable record | p=quarantine | 815 |
| no usable record | p=reject | 787 |
| p=none | p=reject | 767 |
| p=quarantine | p=reject | 649 |
| p=quarantine | no usable record | 323 |
| p=quarantine | p=none | 240 |
| p=reject | no usable record | 234 |
| p=reject | p=none | 149 |
| p=reject | p=quarantine | 113 |
146,921 domains in the October 2026 scan weren't on the September 2026 list, so there's nothing earlier to compare them with. 438 pairs were on both lists but failed to resolve in one month or the other. They're left out of every count here.
This table compares one month with the month before, so it shows one month of movement.
The quality tiers
We put each domain in one tier, based on whether receivers act on its policy and whether anyone can receive its DMARC reports.
| Tier | Domains | Share |
|---|---|---|
| No record | 524,568 | 52.4% |
| Broken | 5,055 | 0.5% |
| Dead reporting | 129,483 | 12.9% |
| Monitoring | 106,661 | 10.7% |
| Partial enforcement | 27,468 | 2.7% |
| Enforced | 207,185 | 20.7% |
- No record 524,568 domains (52.4%) No DMARC record at the _dmarc name.
- Broken 5,055 domains (0.5%) A record exists and receivers ignore it: more than one record, a bad v= tag, or no usable p=.
- Dead reporting 129,483 domains (12.9%) p=none, and no rua destination that can receive a report.
- Monitoring 106,661 domains (10.7%) p=none, with at least one rua destination that can receive a report, or one the scan could not rule out.
- Partial enforcement 27,468 domains (2.7%) quarantine or reject, weakened by pct below 100 or a softer sp=.
- Enforced 207,185 domains (20.7%) quarantine or reject, with no pct or sp tag weakening it.
Two tags weaken a policy without changing it. pct= applies the policy to only that share of failing mail, and sp= sets a separate, often softer, policy for subdomains.
5,055 domains publish a broken record that receivers can't use, including 4,318 with more than one DMARC record. RFC 7489 tells receivers to treat that as no record at all, so we don't count broken records as valid.
Of the 470,797 valid records, 50.2% set p=none, 25.4% set p=quarantine and 24.5% set p=reject.
47.6% of measured domains publish something at the _dmarc name, but that count mixes every tier, broken records included. 207,185 domains (20.7%) reach the enforced tier. 524,568 (52.4%) publish no record. Most of the rest publish p=none, with 129,483 in the dead tier and 106,661 in monitoring.
Among domains at quarantine or reject, 10,378 apply the policy to only part of their failing mail with pct below 100, and 18,692 leave subdomains weaker than the organizational domain. Some domains do both, so the two figures add up to more than the 27,468 domains in the partial-enforcement tier.
Percentages are out of the 1,000,420 domains whose DMARC lookup got an answer. We left out the 346 domains whose lookup failed after retries, because a failed lookup can't show whether a record exists.
Valid records and enforcement by rank
The top 1,000 domains publish and enforce at far higher rates than the rest of the million, so don't quote their percentages for the whole list. Both bars are percentages of the domains in that rank range whose DMARC lookup got an answer.
| Rank range | Measured | Valid DMARC | Enforced tier |
|---|---|---|---|
| Top 1k | 1,000 | 73.7% | 57.3% |
| 1k to 10k | 9,000 | 66.4% | 44.2% |
| 10k to 100k | 89,979 | 57.6% | 32.2% |
| 100k to 1M | 899,675 | 45.8% | 19.2% |
Fewer domains publish a record the further down the list you go, and the enforced share falls faster than the valid-record share.
The rank ranges cover the Tranco million only. The 766 federal domains outside the million count toward the overall percentages but not toward any rank range.
Adoption by country
The map shades each country by the percentage of measured domains under its ccTLD that publish a valid DMARC record. Hover over a country to see its numbers.
- under 30%
- 30 to 39%
- 40 to 49%
- 50 to 59%
- 60% and up
- under 200 domains
| Country | ccTLD | Measured | Valid DMARC | At enforcement |
|---|---|---|---|---|
| Norway | .no | 1,896 | 78.2% | 49.2% |
| Australia | .au | 7,642 | 74.2% | 42.5% |
| Saudi Arabia | .sa | 567 | 73.9% | 57.3% |
| Denmark | .dk | 2,382 | 73.8% | 52.4% |
| Anguilla | .ai | 3,614 | 73.8% | 41.0% |
| Ireland | .ie | 1,339 | 72.4% | 37.1% |
| Estonia | .ee | 819 | 72.2% | 43.7% |
| New Zealand | .nz | 1,562 | 72.0% | 39.4% |
| Luxembourg | .lu | 251 | 70.9% | 44.2% |
| Croatia | .hr | 1,142 | 70.8% | 28.7% |
| Belgium | .be | 3,320 | 70.6% | 38.4% |
| Slovenia | .si | 830 | 70.5% | 32.2% |
| Romania | .ro | 4,214 | 70.1% | 28.5% |
| Paraguay | .py | 308 | 70.1% | 44.8% |
| Algeria | .dz | 218 | 69.7% | 46.3% |
| Singapore | .sg | 843 | 69.5% | 47.6% |
| Portugal | .pt | 1,992 | 69.2% | 37.1% |
| United Arab Emirates | .ae | 737 | 68.4% | 42.7% |
| Tanzania | .tz | 230 | 68.3% | 43.0% |
| Lithuania | .lt | 1,102 | 68.1% | 30.5% |
| Argentina | .ar | 3,338 | 67.9% | 25.3% |
| Sweden | .se | 3,500 | 67.9% | 37.5% |
| Uruguay | .uy | 491 | 67.8% | 34.0% |
| Bolivia | .bo | 207 | 67.6% | 51.2% |
| Bosnia and Herzegovina | .ba | 325 | 67.1% | 37.2% |
| Greece | .gr | 3,469 | 66.9% | 25.5% |
| Israel | .il | 1,650 | 66.8% | 21.8% |
| Slovakia | .sk | 2,014 | 66.6% | 29.2% |
| Canada | .ca | 5,487 | 66.3% | 36.4% |
| Finland | .fi | 2,339 | 66.3% | 29.5% |
| Poland | .pl | 9,413 | 66.2% | 32.9% |
| Ecuador | .ec | 555 | 65.9% | 45.0% |
| South Africa | .za | 2,676 | 65.8% | 36.6% |
| Switzerland | .ch | 3,819 | 65.8% | 36.9% |
| Bulgaria | .bg | 1,288 | 65.7% | 31.1% |
| Costa Rica | .cr | 244 | 65.6% | 46.3% |
| France | .fr | 10,235 | 65.3% | 29.2% |
| Spain | .es | 5,457 | 65.3% | 33.2% |
| Chile | .cl | 2,643 | 65.0% | 34.1% |
| Turkey | .tr | 2,937 | 64.4% | 38.1% |
| Austria | .at | 3,107 | 64.1% | 33.0% |
| Czechia | .cz | 5,322 | 63.3% | 25.9% |
| Dominican Republic | .do | 278 | 62.2% | 34.9% |
| Latvia | .lv | 870 | 62.2% | 39.8% |
| Hungary | .hu | 3,099 | 62.2% | 21.9% |
| Guatemala | .gt | 235 | 62.1% | 38.3% |
| Brazil | .br | 17,571 | 62.1% | 26.7% |
| Germany | .de | 27,426 | 62.0% | 32.2% |
| Kenya | .ke | 497 | 61.6% | 32.4% |
| Moldova | .md | 429 | 61.3% | 30.3% |
| North Macedonia | .mk | 286 | 60.1% | 29.0% |
| Bangladesh | .bd | 681 | 59.6% | 37.4% |
| Peru | .pe | 1,238 | 59.3% | 33.1% |
| Serbia | .rs | 1,058 | 59.0% | 22.5% |
| Mexico | .mx | 3,271 | 57.7% | 29.8% |
| Iceland | .is | 438 | 57.5% | 29.7% |
| Malaysia | .my | 1,541 | 57.4% | 36.3% |
| Japan | .jp | 16,870 | 56.8% | 13.2% |
| Armenia | .am | 375 | 56.8% | 37.3% |
| Venezuela | .ve | 249 | 56.6% | 38.2% |
| Hong Kong | .hk | 883 | 56.5% | 33.5% |
| Thailand | .th | 950 | 56.1% | 29.2% |
| Indonesia | .id | 4,847 | 55.1% | 26.1% |
| Egypt | .eg | 335 | 54.6% | 34.3% |
| Micronesia | .fm | 338 | 53.6% | 24.0% |
| European Union | .eu | 5,728 | 53.2% | 26.4% |
| Colombia | .co | 6,980 | 53.1% | 27.7% |
| British Indian Ocean Territory | .io | 10,157 | 52.7% | 30.9% |
| Niue | .nu | 279 | 51.6% | 23.3% |
| Georgia | .ge | 452 | 51.5% | 23.9% |
| Nigeria | .ng | 697 | 51.4% | 16.6% |
| Philippines | .ph | 1,303 | 51.3% | 28.4% |
| Morocco | .ma | 525 | 50.7% | 24.4% |
| Pakistan | .pk | 1,701 | 49.8% | 18.4% |
| Guernsey | .gg | 805 | 49.4% | 23.7% |
| India | .in | 11,978 | 48.9% | 25.4% |
| Uzbekistan | .uz | 643 | 48.7% | 27.2% |
| Belarus | .by | 1,338 | 48.4% | 26.6% |
| Sri Lanka | .lk | 510 | 46.7% | 19.8% |
| Ukraine | .ua | 4,961 | 46.6% | 20.3% |
| Kyrgyzstan | .kg | 297 | 45.5% | 30.0% |
| Nepal | .np | 261 | 45.2% | 27.2% |
| Saint Helena | .sh | 276 | 44.6% | 28.3% |
| Italy | .it | 14,821 | 43.7% | 15.3% |
| Taiwan | .tw | 2,860 | 42.7% | 19.6% |
| Azerbaijan | .az | 558 | 42.7% | 27.4% |
| Tunisia | .tn | 290 | 41.7% | 20.3% |
| United Kingdom | .uk | 27,053 | 40.8% | 21.6% |
| Netherlands | .nl | 18,506 | 40.7% | 21.9% |
| Russia | .ru and .рф | 38,018 | 39.6% | 20.8% |
| Kazakhstan | .kz | 1,495 | 39.6% | 22.1% |
| Isle of Man | .im | 305 | 38.0% | 20.3% |
| Iran | .ir | 3,451 | 37.7% | 21.0% |
| United States | .us | 3,058 | 36.8% | 21.6% |
| Vietnam | .vn | 2,724 | 35.2% | 17.9% |
| Tuvalu | .tv | 2,667 | 34.6% | 16.4% |
| Montenegro | .me | 2,949 | 33.7% | 17.9% |
| Soviet Union | .su | 1,006 | 33.0% | 16.1% |
| Laos | .la | 215 | 27.0% | 13.0% |
| Tonga | .to | 856 | 26.9% | 13.4% |
| Samoa | .ws | 341 | 24.3% | 14.1% |
| South Korea | .kr | 4,758 | 23.2% | 4.5% |
| Sao Tome and Principe | .st | 267 | 20.6% | 14.6% |
| Palau | .pw | 316 | 19.0% | 9.2% |
| China | .cn | 11,037 | 15.0% | 8.2% |
| Cocos Islands | .cc | 7,520 | 8.5% | 4.3% |
106 countries have at least 200 measured domains under their ccTLD in this snapshot, and 89 of them are shaded on the map. Norway is highest, with 78.2% of measured .no domains publishing a valid DMARC record. China is lowest, at 15.0% of measured .cn domains.
A domain counts toward a country by its TLD alone. Every .de domain counts as Germany, wherever it's hosted or owned. Domains on gTLDs like .com have no country in their name, so they're left off the map. The TLD table below covers them. ccTLDs registered mostly from outside their country, .io, .ai, .co, .tv and .me among them, are measured and listed in the table but not shaded, because shading them would color the wrong country. Countries with fewer than 200 measured domains stay uncolored. A few too small to draw at this size, Singapore and Hong Kong among them, are marked with a dot in the same colors.
Adoption by TLD
The same measurement grouped by TLD, so it includes generic TLDs like .com that the map can't show. Every TLD with at least 1,000 measured domains, biggest first.
| TLD | Measured | Valid DMARC | At enforcement |
|---|---|---|---|
| .com | 421,486 | 47.9% | 23.9% |
| .net | 48,404 | 35.9% | 18.4% |
| .org | 39,689 | 54.8% | 26.9% |
| .ru | 37,489 | 40.0% | 21.0% |
| .de | 27,426 | 62.0% | 32.2% |
| .uk | 27,053 | 40.8% | 21.6% |
| .nl | 18,506 | 40.7% | 21.9% |
| .br | 17,571 | 62.1% | 26.7% |
| .jp | 16,870 | 56.8% | 13.2% |
| .it | 14,821 | 43.7% | 15.3% |
| .in | 11,978 | 48.9% | 25.4% |
| .cn | 11,037 | 15.0% | 8.2% |
| .fr | 10,235 | 65.3% | 29.2% |
| .io | 10,157 | 52.7% | 30.9% |
| .pl | 9,413 | 66.2% | 32.9% |
| .au | 7,642 | 74.2% | 42.5% |
| .cc | 7,520 | 8.5% | 4.3% |
| .xyz | 7,015 | 10.7% | 5.7% |
| .co | 6,980 | 53.1% | 27.7% |
| .top | 6,069 | 4.7% | 2.2% |
| .eu | 5,728 | 53.2% | 26.4% |
| .ca | 5,487 | 66.3% | 36.4% |
| .es | 5,457 | 65.3% | 33.2% |
| .cz | 5,322 | 63.3% | 25.9% |
| .shop | 5,054 | 33.0% | 3.7% |
.com is the largest registry in the snapshot at 421,486 measured domains, 47.9% of them publishing a valid DMARC record. 61 further TLDs clear the 1,000-domain bar and aren't listed here. The full set is in the published aggregates.
Domains are grouped by the last label of their name, so .co.uk is grouped under .uk. All percentages are based on the domains whose DMARC lookup got an answer, which matches the rest of this report.
Reports that go nowhere
The rua tag on a DMARC record holds the addresses receivers send aggregate reports to. A record with a rua on it looks like monitoring. Whether anything can arrive depends on a second record, and the destination has to publish that one.
129,483 domains publish a p=none DMARC record whose reporting address is missing, dead, or not authorized by its owner. That's 12.9% of measured domains and 27.5% of every valid record in the scan. We call it monitoring theater. The record passes a presence scan as adoption, but receivers that follow the standard send the domain no reports.
The scan reads DNS, so it can see whether a destination can receive a report. It can't see whether anyone reads one. The monitoring tier means a report can arrive. It doesn't mean anyone reads it.
When a rua address sits on another organization's domain, RFC 7489 requires an authorization TXT record at <domain>._report._dmarc.<rua-host>. A receiver that finds no DMARC version tag there must not send the report, and it raises no error to the domain that named the address. 35,050 domains in this scan name at least one outside address whose owner hadn't authorized them when we scanned. Receivers that run this check send nothing to that address. Some of those domains also name another address, on their own domain or with authorization, and receivers can still send reports there.
30,229 domains name only outside addresses without authorization. They're the domains in the unauthorized group with no other address to fall back on. Neither group covers the whole dead tier, because a p=none record with no rua tag is dead too. It gives receivers nowhere to send a report.
Correction, 11 Oct 2026. We tested the authorization check for a week in October 2026, on our own domain. Our domain sends little mail. Its DMARC record listed a Gmail address with no authorization record. Google and Microsoft sent reports to it anyway, and Yahoo did not.
If Google and Microsoft do what they did in our test, they still send reports to the outside addresses of the 35,050 domains counted under unauthorized external rua. The 30,229 domains counted under every rua destination dead list only such addresses, so Google's and Microsoft's reports for them would go there too. Receivers that check send those addresses nothing. Every figure on this page is as we scanned it.
190,774 domains name at least one outside reporting address. 148 of them name at least one address the scan could not resolve to a verdict, which counts as neither authorized nor dead. A domain is counted once in each category it has an address in, so the categories overlap. At least 2,108 domains name more than one kind, which is why the counts sum past the total.
SPF
DMARC passes on SPF or DKIM alignment. When receivers can't evaluate a domain's SPF record, its mail can pass DMARC only on DKIM.
635,855 of the 1,000,420 measured domains publish an SPF record. 37,033 of those records (5.8%) return permerror for at least some of the mail checked against them. 17,398 exceed the ten-lookup limit, where receivers fail any sender they need an eleventh lookup to find. 9,942 publish more than one record, which receivers refuse to evaluate at all. The scan also flags an include that points at a name with no SPF record, and an include or redirect loop. It doesn't check for other syntax errors, so the true permerror count can only be higher.
How the records end
| Ending | Domains | Share |
|---|---|---|
| -all (fail) | 232,689 | 38.9% |
| ~all (softfail) | 331,676 | 55.4% |
| ?all (neutral) | 15,892 | 2.7% |
| +all (pass everything) | 387 | 0.1% |
| no all mechanism | 18,178 | 3.0% |
Percentages are out of the 598,822 domains with a usable SPF record. Records that already permerror are left out, because receivers never reach their final mechanism.
US federal .gov domains
This is every registered federal .gov zone in CISA's public registry, across the executive, legislative and judicial branches. CISA's Binding Operational Directive 18-01 required executive-branch domains that send mail to reach p=reject by October 2018. This list is wider than that, and its parked and redirect names have no mail to protect, so its reject share is not a compliance rate.
| Tier | Domains | Share |
|---|---|---|
| No record | 183 | 13.9% |
| Broken | 6 | 0.5% |
| Dead reporting | 26 | 2.0% |
| Monitoring | 19 | 1.4% |
| Partial enforcement | 8 | 0.6% |
| Enforced | 1,079 | 81.7% |
The enforced count, 1,079, sits above the reject count, 1,061, because 26 quarantine domains join the tier and 8 weakened domains leave it.
The federal reject share is 80.3% (1,061 domains). Across the whole scan it's 11.5% (115,277 domains), and that figure already includes this cohort. 183 federal domains (13.9%) publish no DMARC record, and 26 publish a dead one. Some of those are parked names that send no mail. The registry doesn't say which.
1,321 domains in the cohort. 80.3% publish p=reject and 82.3% publish quarantine or reject.
Who is named to receive the reports
The rua tag lists where a domain wants its reports sent, so counting rua hosts shows which platforms domains pick to receive them. A rua entry doesn't prove a report arrives, and these counts aren't the platforms' customer numbers. The largest named collector is Cloudflare, on 28,968 domains, then Brevo at 16,363 and Valimail at 14,432.
A p=none domain moves from the dead tier to monitoring once it has a working rua address. With a free collector, an operator can get a first report without signing a contract. Cloudflare, the largest collector in the scan, includes collection with the domain. Postmark's free DMARC Digests is the fifth largest collector.
Each bar counts the domains whose rua list includes a destination on that platform, once per domain. A domain naming two platforms counts for both.
141,749 matches across 27 platforms. The largest destination matching no platform in the list is gmail.com, named by 2,450 domains.
MTA-STS, TLS-RPT and BIMI
Far fewer domains publish these three records than publish DMARC.
Out of the 1,000,420 measured domains, 1.0% publish MTA-STS, 1.2% TLS-RPT and 1.8% BIMI.
Methodology
| Population | Tranco list Q2K34, 1,000,000 domains, plus the cohort frames below. We scanned 1,000,766 domains in total. Tranco builds the list from the Crux, Farsight, Majestic, Radar and Umbrella rankings over the 30 days before the list date, combined with the Dowdall rule. Reference: Victor Le Pochat, Tom Van Goethem, Samaneh Tajalizadehkhoob, Maciej Korczyński and Wouter Joosen, "Tranco: A Research-Oriented Top Sites Ranking Hardened Against Manipulation", NDSS 2019, doi:10.14722/ndss.2019.23386. |
|---|---|
| Frames | tranco:
1,000,000 domains from https://tranco-list.eu/list/Q2K34 cohort:us-federal-gov: 1,321 domains from research/cohorts/us-federal-gov.csv 555 cohort domains also rank in the Tranco million and were scanned once, which is why the frames add up to more than the number of domains scanned. |
| Collection window | 2026-10-01T07:18:56.812Z to 2026-10-01T08:55:11.230Z. Aggregated 2026-10-08T00:28:32.723Z. |
| Resolver | Queries went to unbound:5353, with retries against 1.1.1.1, 8.8.8.8. |
| Error rate | 346 DMARC lookups failed after retries, which is 0.03% of the domains scanned. We left those domains out of every percentage on this page. |
| Public Suffix List | Whether a reporting address is external is decided by comparing organizational domains against the Public Suffix List fetched 2026-10-01T07:18:56.211Z, sha256 257b298daca42f6d. The list is pinned per snapshot so a re-run classifies destinations the same way. The list is used with its private section, so two customers of one platform that publishes a private rule count as external to each other, and a report address on a sibling tenant needs its own authorization record. |
| Multiple records | More than one v=DMARC1 record at _dmarc is invalid per RFC 7489. This scan scores those 4,318 domains as broken. |
| Vendor classification | Each rua destination is classified by the host that receives the mail, so a platform reselling another platform's collection counts under the receiving host. Hosts we don't recognize stay unmatched. We don't guess. |
| Absence versus failure | NXDOMAIN or an empty TXT answer is absence. A timeout or SERVFAIL after retries is unknown. Failures are never counted as absence. |
| Month over month | We compare each domain's policy with the one we stored for it in the September 2026 snapshot. If a lookup failed in either month, we drop the domain and count it separately, so a DNS failure never shows up as a policy change. |
| Independent comparison | The adoption tracker at dmarcdkim.com/dmarc-adoption updates daily. It covers 1.35 million domains it has collected over time. When we checked it in August 2026 it reported 11.4% at full reject, where this scan finds 11.5% (115,277 domains) at p=reject. This scan's count includes 1,813 rejects weakened by pct and 7,763 with a weaker sp, which the tier framework scores as partial. The two measurements agree closely on policy rates. Their adoption headlines are not directly comparable, because the tracker measures an accumulated set of domains and this scan measures one pinned Tranco snapshot. We haven't compared the two populations. |
| Scanner | Version a551ef2-dirty. |
Limitations
The scan reads what domains publish in DNS. Nothing here is a delivered-mail pass rate or an actual rejection.
A domain whose reporting address couldn't be resolved to a verdict counts as neither authorized nor dead. At p=none that puts it in monitoring, so the true dead-reporting count can only be higher.
- With 3 editions there are 2 months of change. This page compares only the latest month with the one before.
- Some DNS lookups fail even after retries. 346 ended in error and are excluded rather than scored as no DMARC. If those lookups had succeeded, any count on this page could have moved by up to that many domains.
- We checked rua authorization at scan time only. If a destination's owner added or removed an authorization after the scan, this snapshot doesn't show it.
- So far the only named cohort is the 1,321 US federal domains. Other planned cohorts aren't in this edition.
- We haven't matched every rua host to a platform yet. As we add more, some unmatched destinations will move into named platforms.
The data
- aggregates.json: every count and percentage on this page, as published. Dates, list ids and the scanner version are in the manifest next to it.
- Data repository: the per-snapshot files.
- Hugging Face dataset: the same files for every edition, with the headline counts as one CSV.
- Zenodo archive of this edition: zenodo.org/records/23540130 (doi:10.5281/zenodo.23540130).
Citing and reusing the data
We publish the aggregate data under CC BY 4.0. Reuse it, including commercially, with attribution. Suggested citation: