Admins often call this "DKIM delegation", but what usually gets delegated is not the whole domain and not even the whole _domainkey zone.
What usually happens is much narrower:
d=That pattern is common because it lets the provider rotate keys and operate signing infrastructure without asking you to paste a long TXT value for every change.
It is also a place where teams lose track of who really controls signing, which selectors are live, and what breaks when a provider changes something upstream.
In the DKIM model, a verifier retrieves the public key for selector._domainkey.<d=domain> from DNS. RFC 6376 also explicitly allows a domain owner to delegate signing capability to third parties and notes that selectors can be used to delegate portions of the selector namespace.
In practice, many ESP setups look like this:
selector1._domainkey.marketing.example.com. IN CNAME selector1-marketing-example-com._domainkey.esp.example.net.The receiver still starts from your selector name because the message header says something like this:
DKIM-Signature: v=1; d=marketing.example.com; s=selector1; ...Then DNS follows the CNAME to the provider-hosted target and retrieves the TXT record there that contains the DKIM key.
So the trust model is:
That is why "delegation" is a useful shorthand, but not a precise DNS term. It is usually selector-level indirection, not NS delegation of an entire zone.
From the provider side, this pattern solves real operational problems.
Microsoft 365 is a well-known example of this model: custom-domain DKIM configuration uses two selector CNAMEs that point to Microsoft-hosted targets, and Microsoft documents CnameMissing as the status shown when those required aliases are absent or wrong. See How to use DKIM for email in your custom domain.
For the domain owner, the biggest benefit is usually less manual DNS churn.
That said, simpler setup does not mean less responsibility. It means some responsibility moves from "publish this TXT key exactly" to "continuously verify this provider-controlled dependency is still correct".
With self-hosted DKIM TXT records, the public key lives entirely in your DNS. With provider-hosted keys behind CNAMEs, the provider effectively controls the live verification material once you publish the alias.
That is neither automatically bad nor automatically risky. It is just a different operational boundary.
What you gain:
What you give up:
This matters most when a provider relationship changes. If a campaign platform is removed, an old delegated selector can remain published for much longer than the business relationship that justified it.
This is the part teams miss when they see "DKIM passes" in a header analyzer.
DMARC does not care that some DKIM signature was valid. It cares whether at least one valid DKIM signature was aligned with the visible From domain. RFC 7489 is explicit about that.
So these are very different situations:
d=marketing.example.com and the message From is alerts@marketing.example.comd=esp.example.net while the message From is alerts@marketing.example.comThe first can satisfy DMARC. The second can produce a perfectly valid DKIM signature that is useless for DMARC.
If multiple signatures are present, that is not unusual. Multiple DKIM signatures explained is a good companion when one provider adds its own platform signature in addition to your aligned one.
This happens during partial rollout, stale configuration, or after key rotation.
Symptoms:
s= value than expectedAudit the live message headers, not just DNS.
d= domainThe signature can still verify, but DMARC can fail because the signing domain is not aligned.
This is especially common when a platform signs with its own domain by default until custom-domain DKIM is fully enabled.
Check Authentication-Results and compare:
header.d= from DKIMheader.from= from DMARC evaluationIf that comparison is fuzzy in your head, DMARC troubleshooting: read Authentication-Results headers and fix alignment failures is the fast refresher.
The alias can resolve fine while the target-side TXT record is missing, revoked, malformed, or changed unexpectedly.
Symptoms:
This is not always an active exploit by itself, but it is poor hygiene and it can widen the blast radius if an old signing arrangement is ever reactivated or misunderstood.
Selectors are inventory. Treat them like inventory.
If rotation practices are loose, DKIM selectors and key rotation playbook covers why selector reuse and stale records cause long debugging sessions.
This is a DNS rule, not a DKIM-specific quirk.
Per RFC 1034 Section 3.6.2, if a CNAME is present at a node, no other data should be present there. So selector1._domainkey.example.com cannot cleanly be both:
When teams try to "keep both just in case", the result is usually broken or inconsistent DNS.
Common mistakes:
_domainkey.example.com instead of selector._domainkey.example.commarketing.example.comThis is boring, but it is still one of the most common causes of dkim=fail.
Even when the final state is correct, resolvers may cache old answers for a while.
That can produce messy transition windows where:
This is one reason staged rotations matter.
This is the governance failure mode, not the protocol failure mode.
If the provider can still sign with your domain and the corresponding selector chain still validates, then "we stopped using that platform" is not the same thing as "the signing path was actually removed".
The audit question is simple: can this provider still produce aligned DKIM passes for this domain or subdomain?
If the answer is yes, the path is still alive.
Use this list for each ESP, business unit, or sending subdomain.
d= and s= values actually seen in those messages.selector._domainkey.<d-domain>.For lightweight command-line checking, the useful sequence is usually:
dig CNAME selector1._domainkey.marketing.example.com +short
dig TXT selector1._domainkey.marketing.example.com +shortIf the first command returns a target name, query that target too:
dig TXT selector1-marketing-example-com._domainkey.esp.example.net +shortThen compare the DNS results with a real delivered message, not with setup screenshots.
It is usually a good fit when:
marketing.example.comThat subdomain point matters. If a third-party sender is high-volume or higher-risk, isolating it on its own subdomain is often cleaner than letting it sign the primary organizational mail domain.
Be more deliberate when:
The protocol supports this model well enough. The weak point is usually not DNS capability. The weak point is forgotten operational ownership.
DKIM "delegation" via CNAME is normal and often useful.
But it moves part of your DKIM trust boundary into provider-controlled DNS and provider-controlled key management. That is fine when it is intentional, inventoried, aligned for DMARC, and cleaned up when the provider relationship changes.
The shortest useful mental model is this: a delegated selector is still your domain's reputation on the line, even if someone else is hosting the public key.