Skip to content
← All field notes

Field Notes · Sheet 17 / 30 · Email security

DMARC has a new RFC

RFC 9989 replaces RFC 7489 and removes the pct tag. How SPF, DKIM, and DMARC alignment fit together, and what the new DMARC RFC changes.

Bradley Baker · · 1 min read

A message diagram showing what each check reads: SPF reads the envelope MAIL FROM domain and sending IP, DKIM reads the d= signing domain and selector, DMARC checks that either passing domain aligns with the visible From header. A side panel lists the RFC 9989 changes: pct removed, t and np tags added, DNS tree walk with psd tag, reporting split into RFCs 9990 and 9991.
Sheet 17 / 30 · Drawn by Bradley BakerFull size

DMARC has a new RFC. RFC 9989, published in May 2026, replaces RFC 7489, and the pct tag is gone. If you enforce DMARC, it's worth ten minutes. This is the longer version of Sheet 17.

How the three pieces fit

  • SPF checks whether the sending IP may send for the envelope sender domain, the MAIL FROM. It's capped at 10 DNS-querying mechanisms, and going over returns permerror.
  • DKIM checks a signature. The d= tag is the signing domain, s= is the selector, and the public key sits in DNS under a name built from the two.
  • DMARC ties both to the domain the recipient actually sees in the From header. A message passes when SPF or DKIM passes and that authenticated domain aligns with the From domain. Relaxed alignment means the same organizational domain. Strict means identical.

What RFC 9989 changes

  • pct is removed, so no more partial-enforcement percentages.
  • A new t tag signals testing mode.
  • A new np tag sets policy for non-existent subdomains.
  • Organizational domains are found with a DNS tree walk instead of the Public Suffix List, with a new psd tag.
  • Aggregate and failure reporting moved to their own RFCs, 9990 and 9991.

I enforced SPF, DKIM, and DMARC tenant-wide for a 4,300-user organization. If your rollout plan still ramps enforcement with pct, read appendix A.6 of RFC 9989 before your next step.

Where is your domain on the path from p=none to p=reject?

Sources

  1. RFC 7208: Sender Policy Framework (SPF)www.rfc-editor.org
  2. RFC 6376: DomainKeys Identified Mail (DKIM) Signatureswww.rfc-editor.org
  3. RFC 9989: DMARCwww.rfc-editor.org
  4. RFC 9990: DMARC aggregate reportingwww.rfc-editor.org
  5. RFC 9991: DMARC failure reportingwww.rfc-editor.org

From the field reports

  • DMARC
  • SPF
  • DKIM
  • RFC 9989
  • Email authentication
This note on LinkedIn

Recon log

Findings 0/46

0/16 behavior and secret eggs. Hardware finds depend on the machine you visit from.

Hardware details are read by your browser and stay there. When you find an egg, only its name is counted, with no identifier attached, and nothing is counted if Global Privacy Control or Do Not Track is on.

Display0/7

  • Undiscovered (not found yet)

    rare

    Hint: Visit on a very large display.

  • Undiscovered (not found yet)

    uncommon

    Hint: Some monitors are wider than others.

  • Undiscovered (not found yet)

    uncommon

    Hint: Two screens are better than one.

  • Undiscovered (not found yet)

    rare

    Hint: Turn a monitor on its side.

  • Undiscovered (not found yet)

    common

    Hint: Pixels per inch matter.

  • Undiscovered (not found yet)

    uncommon

    Hint: Faster than 60 frames a second.

  • Undiscovered (not found yet)

    common

    Hint: Colors beyond sRGB.

Hardware0/11

  • Undiscovered (not found yet)

    rare

    Hint: Bring a flagship graphics card.

  • Undiscovered (not found yet)

    legendary

    Hint: A GPU that lives in a rack.

  • Undiscovered (not found yet)

    common

    Hint: A Mac with Apple silicon.

  • Undiscovered (not found yet)

    rare

    Hint: A Windows machine built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: A Mac built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: Two dozen threads or more.

  • Undiscovered (not found yet)

    rare

    Hint: Windows, but not on x86.

  • Undiscovered (not found yet)

    uncommon

    Hint: The year of the Linux desktop.

  • Undiscovered (not found yet)

    uncommon

    Hint: A laptop that boots straight into a browser.

  • Undiscovered (not found yet)

    uncommon

    Hint: No graphics card at all.

  • Undiscovered (not found yet)

    common

    Hint: A laptop you can poke.

Environment0/11

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit while your battery is nearly flat.

  • Undiscovered (not found yet)

    uncommon

    Hint: Your browser has a setting for saving data.

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit very late at night.

  • Undiscovered (not found yet)

    common

    Hint: Visit on a day off.

  • Undiscovered (not found yet)

    uncommon

    Hint: A browser with a lion on it.

  • Undiscovered (not found yet)

    common

    Hint: A browser with a fox on it.

  • Undiscovered (not found yet)

    uncommon

    Hint: An accessibility setting that calms things down.

  • Undiscovered (not found yet)

    uncommon

    Hint: Tell websites not to track you.

  • Undiscovered (not found yet)

    rare

    Hint: Visit from the Lone Star State.

  • Undiscovered (not found yet)

    common

    Hint: A newer version of HTTP.

  • Undiscovered (not found yet)

    rare

    Hint: A very narrow window.

Behavior0/7

  • Undiscovered (not found yet)

    uncommon

    Hint: Drag the edge of your browser window around.

  • Undiscovered (not found yet)

    uncommon

    Hint: Reach the bottom of the page quickly.

  • Undiscovered (not found yet)

    uncommon

    Hint: Try printing this page.

  • Undiscovered (not found yet)

    common

    Hint: Toggle the theme a few times.

  • Undiscovered (not found yet)

    rare

    Hint: Lose your connection.

  • Undiscovered (not found yet)

    rare

    Hint: Plug in a controller and press a button.

  • Undiscovered (not found yet)

    uncommon

    Hint: Sign the guestbook.

Secrets0/10

  • Undiscovered (not found yet)

    rare

    Hint: A famous cheat code.

  • Undiscovered (not found yet)

    common

    Hint: There's a terminal in here somewhere.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal about your machine.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal for root.

  • Undiscovered (not found yet)

    rare

    Hint: sudo, but make it a job offer.

  • Undiscovered (not found yet)

    rare

    Hint: The most dangerous command there is.

  • Undiscovered (not found yet)

    legendary

    Hint: Open your browser's developer console.

  • Undiscovered (not found yet)

    uncommon

    Hint: Click the logo. Then keep clicking.

  • Undiscovered (not found yet)

    legendary

    Hint: Type the 82nd's favorite word anywhere on the page.

  • Undiscovered (not found yet)

    legendary

    Hint: Find every egg that doesn't depend on your hardware.

Finds are saved in this browser only.

guest@bradbaker-it.com:~