[ DNS & domains ]

Add validation and approval to a DNS change pipeline

Bind DNS approval to the exact reviewed record difference, validate mail dependencies and verify effective state after authorized execution.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Syntax validation cannot establish business authorization or successful mail authentication.
  • Approval should identify exact records, baseline, dependencies and restore material.
  • Observe uncertain or partial outcomes before retrying any write.
On this page

Make the approved object the deployable object

A DNS change pipeline should answer a concrete question before it can publish: is this the exact record change that the accountable owners reviewed? A successful syntax check cannot answer that question. A valid SPF record can authorize the wrong service; a well-formed DKIM key can replace one that still verifies queued mail. The pipeline therefore needs both technical validation and a decision record tied to immutable proposed content.

Treat the workflow below as a proposed operational control, not a claim that every DNS platform provides these features. Start with a versioned baseline, produce an exact difference, collect approval for that difference, and recheck the baseline immediately before execution. If the effective record has changed since review, stop for reconciliation. Do not silently combine an emergency edit with an older approved plan.

Build a record-level change package

Describe every intended addition, replacement and deletion by fully qualified owner name, class, type, TTL and complete record-set value. Include the authoritative zone, its current delegation, the DNS provider account and the service consuming the record. Registration ownership and authoritative hosting are separate dependencies. The zone and delegation model in RFC 1034 section 4.2 explains why changing a convenient control panel is not necessarily changing the published authority.

Preserve record boundaries. Multiple quoted strings inside one TXT record are not multiple independently selected policies. RFC 1035 section 3.3.14 defines TXT data as one or more character strings. For review, show both the provider's representation and the resulting logical value. Record an entire affected set so that a replacement operation cannot inadvertently erase unrelated TXT data at the same name.

Attach the sender inventory, dependency map, proposed checks and restore material. Record who can approve business impact, who can approve the technical change and who can execute it. Where a platform supports scoped write access, prefer the smallest practical scope; document any broader permission as an explicit exposure. NIST's DNS deployment guide discusses protecting zone content and accepting dynamic updates only from authorized senders. The approval design here extends that concern into a reviewable operational process.

Validate semantics before asking for approval

A proposed validator should separate malformed data from undesirable policy. Check owner-name expansion, record type, duplicate policy records, alias conflicts and unexpected deletion. Then inspect the consumer's rules. SPF selects records beginning with its version string and returns a permanent error when more than one matching policy remains. Its DNS-dependent evaluation also has defined limits, so counting visible include statements alone is insufficient. These are distinct checks under RFC 7208 sections 4.5 and 4.6.4.

For a DKIM change, identify the actual signing domain and selector, establish whether the old key must remain available, and require the service owner to confirm the intended signing configuration. The lookup name derives from signature values, not from a guessed provider default, under RFC 6376 section 3.6.2.1. A DNS-only validator cannot prove that the corresponding private key is in use.

Separate warnings that require a recorded decision from errors that must block deployment. For example, an unowned external SPF dependency may warrant a risk review even when syntax is correct. A missing required baseline should block execution because neither impact nor restoration can be evaluated reliably.

Bind approval to the plan and its assumptions

Include a stable digest or version identifier for the reviewed difference, the relevant baseline and the evidence package. Approval should name the environment, records, intended outcome and expiry conditions. A new value, extra deletion, changed authority or materially different dependency should require another review. This prevents an approval attached to a ticket title from being reused for a different operation.

The executor should report partial failure rather than treating a batch request as atomic without provider evidence. Before retrying, establish which records changed. Compare the current state with both the baseline and the intended result, then prepare the smallest corrective plan. An uncertain outcome is a reason to observe, not a reason to replay every write.

Fictional worked example of a blocked release

Consider the fictional domain example.com. Its notification service requests a new DKIM selector while a separate ticket retires an old verification TXT record. The proposed package contains two deletions because an export tool has treated the whole TXT set as one editable cell. The reviewer sees that the unrelated verification value would disappear and rejects that exact package.

The revised plan changes only the selector record and preserves the other TXT values. The mail owner supplies a proposed signing-switch sequence, while the DNS owner retains the earlier record set for restoration. Approval remains conditional on a fresh baseline comparison. These are invented review events illustrating the control; no records were queried, approved or deployed for this manuscript.

Close the execution loop with evidence

After an authorized deployment, the operator should retain timestamped authoritative answers and selected recursive observations, then connect them to controlled message results. Compare the actual owner names and types with the approved package. A provider success response is useful execution evidence but is not independent proof of public availability or successful authentication.

Define rollback triggers before deployment, including unintended records, unavailable keys and unexpected legitimate-mail failures. Restoring the baseline changes authoritative state; it does not erase earlier cached answers. The original-evidence gate remains open until an approved exact-record difference, dependency map, restore material and post-change lookup evidence exist. This manuscript supplies none of those tenant-specific execution artifacts.

[ Takeaway ]

Approve an immutable change package, then stop if the baseline or proposed operation changes.

[ By role ]

What this means for you

Choose your role for practical next steps.

DNS engineer

Protect the exact record set

The deployed operation must preserve unrelated data and remain tied to the reviewed baseline.

Next steps

  1. Export the affected record sets and authoritative ownership.
  2. Compare current effective state immediately before execution.

Mail service owner

Validate the consuming service

The business route and signing configuration determine whether a syntactically correct edit is safe.

Next steps

  1. Identify sending identities and active selectors.
  2. Specify controlled message checks and retirement conditions.

Change approver

Authorize bounded execution

Approval should cover a known difference and explicit recovery conditions.

Next steps

  1. Approve the immutable package and its expiry conditions.
  2. Require reconciliation after material drift or partial execution.

[ FAQs ]

Frequently asked questions

What exactly should a DNS approver sign off on?

The complete record-level difference, affected authority, baseline version, dependency assessment, execution scope and restore plan. Approval of a ticket title alone does not identify the deployable object.

Should a validator merge two SPF policies automatically?

No. More than one selected SPF policy produces permerror, but automatic merging can change authorization and evaluation order. Prepare a deliberate replacement for review.

Why must a TXT difference preserve record boundaries?

A single TXT record can contain several character strings. Several distinct TXT records are a different structure, and a whole-set replacement can remove unrelated values.

Does a valid DKIM public key prove the release is ready?

No. The service must sign with the corresponding key and intended domain and selector. DNS validation establishes only part of that path.

What happens if the live baseline changes after approval?

Stop and reconcile the change against current effective state. Obtain renewed approval when the difference or its material assumptions change rather than silently overwriting another edit.

Can a failed batch be retried immediately?

First determine which operations executed. A partial or uncertain result needs observation and a corrective plan; replaying all writes can exceed the reviewed state transition.

Is restoring the previous zone an instant rollback for receivers?

No. Restoring authoritative data does not clear other caches. The recovery plan must account for prior answers and verify relevant observations.

What evidence is still needed for this pipeline article?

An approved exact-record difference, a real dependency map, usable restore material and timestamped post-change lookups. The fictional example does not satisfy that requirement.

[ Sources ]

Sources

  1. NIST SP 800-81r3: Secure Domain Name System Deployment Guide
  2. RFC 1034: Domain names: concepts and facilities
  3. RFC 1035: Domain names: implementation and specification
  4. RFC 2308: Negative Caching of DNS Queries
  5. RFC 6376: DomainKeys Identified Mail Signatures
  6. RFC 7208: Sender Policy Framework for Authorizing Use of Domains in Email

[ Glossary ]

Glossary

Record set
DNS records sharing an owner name, class and type, reviewed together to avoid accidental replacement of neighboring values.
Baseline
The retained configuration and observations used as the starting point for a proposed change.
Change digest
A cryptographic identifier for exact review material; it ties approval to bytes but does not itself confer authority.
Semantic validation
Checking whether a syntactically valid record has acceptable meaning for the consuming mail protocol and intended route.
Restore material
The earlier values and operational instructions needed to propose recovery after an unsuccessful change.

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