[ Standards & DMARCbis ]

Track DKIM2 DNS proposals through an isolated experiment plan

Pin DNS-03 syntax, distinguish key and policy names, preserve draft inconsistencies and require compatible software before any experiment.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Selector keys and the proposed Domain Policy Record use different owner names under _domainkey.
  • The pinned Domain Policy Record begins v=DKIM1 and has no parent/child inheritance.
  • Compatible software, actual isolated execution and removal evidence are not yet established.
On this page

Track the DNS proposal without creating a migration mandate

An administrator assessing DKIM2 needs a precise record inventory, not a new TXT value copied from a headline. DNS mistakes can affect existing signing even when the intended change is only experimental. Begin by separating selector public keys, the proposed Domain Policy Record and existing DMARC policy. They occupy different names and answer different questions; “the DKIM2 record” is too imprecise for a change request.

The current source is draft-ietf-dkim-dkim2-dns-03, dated 2 November 2026. It is an active WG Internet-Draft intended for Standards Track publication. Its proposed update to RFC 6376 is conditional on approval, not an already completed replacement of deployed DKIM rules. Pair it with core spec-09 dated 1 November, and retain both revisions when reviewing an implementation.

Identify selector-key names before policy names

DNS-03 section 3 keeps selector keys beneath _domainkey. In a fictional isolated domain lab.cedar.example, selector s01 therefore identifies s01._domainkey.lab.cedar.example. The key is held in a TXT resource record. Multiple character strings inside that one record are concatenated without added whitespace; that is different from publishing multiple competing key records at the same owner name.

The draft filters records beginning with another v value and treats more than one remaining record as an error. Administrators should preserve the complete record set, not just the first TXT string their management interface displays. A selector can support rotation or delegated signing, so identify any existing consumers before choosing an experimental name. The illustration here contains no generated key and authorizes no publication.

Key type and encoding deserve their own review. DNS-03 describes rsa, ed25519 and mldsa44 for their specified uses, with the latter tied to the proposed DKIM2 mechanism rather than defined classic-DKIM use. The draft also clarifies RSA public-key encodings and proposes deprecating several older tags. A draft's requested registry changes are not evidence that every verifier accepts those changes today.

Read the Domain Policy Record narrowly

The proposed Domain Policy Record is at _domainkey.lab.cedar.example itself, not at a selector and not at _dmarc.lab.cedar.example. DNS-03 section 5 requires its first tag to be v=DKIM1. Despite the proposal's name, inventing v=DKIM2 would not match that pinned syntax. A documentary illustration is v=DKIM1;f=strict, but it is not a paste-ready instruction or an approved production value.

The strict flag concerns whether subdomains can make a From field using the record's domain Authentic under the draft's matching rules. It is not the same as DMARC p=reject, and it is not DMARC's strict-alignment tag. When the flag or record is absent, the proposal permits the described subdomain authorization. The policy applies only at its own domain; it does not inherit upward or downward through the DNS tree.

Core -09 section 3.8 distinguishes temporary retrieval failure from an absent policy and identifies a multiple-record error. A lab should preserve those states separately. Treating a timeout as “no restriction published” would erase information the proposed evaluator needs. Do not substitute DMARC tree-walking behavior for this different policy lookup.

Review the revision, not an old discussion snippet

Earlier sender-policy discussion considers auth= signaling and mixed deployments. That is useful history, not the syntax of the DNS-03 Domain Policy Record. An administrator should keep a change matrix showing the source document, revision, owner name, tag and expected consumer. This prevents examples from separate proposals being combined into a record no implementation actually expects.

There is also an explicit source-quality issue to resolve: DNS-03 section 4.6's service-type prose uses an underscore where its ABNF lists an asterisk wildcard. Do not silently normalize that discrepancy or present copied syntax as settled. Retain the exact conflict for specialist review and implementation comparison. Standards work in progress can contain such inconsistencies; a careful guide should expose them before a change reaches an authoritative zone.

Scope an experiment and its removal together

The NIST SP 800-81 Revision 3 publication record identifies March 2026 DNS deployment guidance and notes potential updates. It supports treating DNS as security-sensitive infrastructure, but it is not a DKIM2 endorsement or evidence that this particular experiment is compliant. The detailed guide and its errata were not reviewed for clause-level claims here.

An approved experiment should use a designated isolated namespace, separate keys and an explicit owner. Record the exact proposed values, TTLs, affected consumers, implementation version and rollback prerequisites before execution. Protect private keys outside the article and evidence bundle. Baseline records and delegation arrangements should remain identifiable so that a cleanup step cannot accidentally remove an existing service's key.

Define removal evidence before creating anything: which experimental records and signing configuration will be retired, who verifies authoritative state, which caches may retain earlier data, and how residual messages are handled. Deletion at an authoritative server is not proof that every cached answer disappears immediately. No keys, records, delegation or accounts were changed during preparation of this article.

Preserve the compatible-build gate

The exact commission is: Pin draft syntax and a compatible test implementation; isolate the experiment and document removal. The syntax is pinned, but a compatible tested build has not been established. The individual deployment-profile draft reports beta code for its own profile and warns that contributor information is unverified. That is not sufficient to certify compatibility with core -09 and DNS-03.

The commissioning gate remains open for implementation pinning, authorized execution and verified removal. Technical acceptance, existing-consumer impact, production-route checks, visual review and owner publication approval also remain pending. The useful deliverable is a bounded review and experiment plan, with current draft syntax clearly separated from any claim that administrators must deploy it.

[ Takeaway ]

Document record ownership and removal before publishing experimental data, and never treat draft syntax as a universal requirement.

[ By role ]

What this means for you

Choose your role for practical next steps.

DNS administrator

Separate names and consumers

Experimental changes can collide with existing key and policy use.

Next steps

  1. Inventory full record sets and delegation ownership.
  2. Keep selector keys distinct from domain policy.
  3. Document rollback and cache assumptions before execution.

Implementation tester

Pin parser expectations

Draft syntax is only meaningful when the tested software’s coverage is known.

Next steps

  1. Record core and DNS revisions plus build commit.
  2. Escalate prose/ABNF conflicts.
  3. Keep absence, temporary failure and multiplicity separate.

Change approver

Require evidence of cleanup

An experiment needs authorization and an exit plan, not just a creation checklist.

Next steps

  1. Approve namespace and affected consumers.
  2. Assign key custody without exposing secrets.
  3. Require removal verification and retained change evidence.

[ FAQs ]

Frequently asked questions

Where is a selector key placed in the fictional namespace?

Selector s01 for lab.cedar.example identifies s01._domainkey.lab.cedar.example. This describes a proposed lab name, not a published record or generated key.

Are several TXT character strings the same as several key records?

No. Strings within a single TXT resource record are concatenated without inserted whitespace. Multiple remaining candidate records at the selector name are an error under the pinned proposal.

Does the Domain Policy Record use v=DKIM2?

No. DNS-03 §5 requires v=DKIM1 as its first tag. That counterintuitive detail is why the exact draft revision and record type must accompany any syntax illustration.

Is f=strict equivalent to DMARC p=reject?

No. It concerns subdomain authorization for the draft’s Authentic From matching. It does not request the same assessment policy as DMARC p and is not DMARC’s alignment-mode tag.

Does that strict flag inherit into child domains?

No. The proposed Domain Policy Record applies only to its own domain, not parents or descendants. Do not apply DMARC discovery/inheritance rules to this separate mechanism.

Which draft syntax discrepancy needs review?

DNS-03 §4.6 uses an underscore wildcard in prose but an asterisk in ABNF. This package preserves the mismatch and does not silently normalize it into a production recommendation.

Does the beta implementation report close the compatible-build gate?

No. It is an unverified contributor report about an individual deployment profile. A specific build and its actual compatibility with core -09 and DNS-03 still need to be established.

What must removal evidence show?

The approved experiment should identify all created records, signing configuration and keys, then verify their retirement while considering cached answers and residual messages. No such creation or removal occurred here.

[ Sources ]

Sources

  1. Earlier auth= sender-policy discussion
  2. DKIM DNS draft-ietf-dkim-dkim2-dns-03
  3. NIST SP 800-81 Rev. 3 publication record
  4. Individual DKIM2 Milter deployment-profile-08
  5. RFC 9989: DMARC core
  6. DKIM2 core draft-ietf-dkim-dkim2-spec-09

[ Glossary ]

Glossary

Selector
A name identifying a public key within a signing domain’s _domainkey namespace.
TXT resource record
The DNS record container whose character strings are combined for the specified key lookup.
Domain Policy Record
The proposed _domainkey-domain record for the draft’s narrow domain-level setting.
strict flag
The DNS-03 policy flag disallowing described subdomain authorization for Authentic From matching.
Removal evidence
Retained confirmation that the specifically approved experimental records and configuration were retired.

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