[ Agentic automation ]

Validate an agent's proposed DNS change before execution

Treat the proposed DNS change as an exact, scoped transaction that must pass both authorization and mail-specific validation.

By the EmailAuth research team · 2 min read

[ Key points ]

  • Treat the proposed DNS change as an exact, scoped transaction that must pass both authorization and mail-specific validation.
  • A syntactically valid diff can still target the wrong resource or overwrite drift; bind review to the complete operation and live precondition.
On this page

A plausible DNS suggestion is not ready to execute until its scope, baseline, effect and approval agree. Validate the proposal before the write, and repeat the relevant checks immediately before execution. This prevents an apparently reviewed change from landing in the wrong tenant or overwriting a configuration that changed while the reviewer was reading it.

Capture a complete proposal

Include tenant, zone, fully qualified owner name, record type, operation, current value, proposed value, TTL where relevant and the observed revision or equivalent precondition. Distinguish adding a record from replacing an entire record set. For TXT records, retain the complete logical value and understand how the provider represents character-string chunks.

Document the affected sending flows and reason for the change. Removing an SPF include can affect more than one application. Adding a DKIM selector does not configure the application to sign with it. Changing DMARC policy does not repair an unaligned sender. RFC 7208, RFC 6376 and RFC 9989 define these separate mechanisms.

Run technical checks independently

Check syntax, record-set conflicts and the intended protocol semantics. For SPF, evaluate DNS-dependent terms and the lookup-limit rules, rather than counting only visible includes. For DKIM, validate the generated public key and selector against the actual signing configuration. For DMARC, inspect policy discovery, affected domains and report destinations. A generic text linter cannot establish that every legitimate sender is ready for enforcement.

Check ownership and authorization separately from syntax. A valid record can still send reports to an unauthorized destination or grant unwanted sender authority. Have the relevant administrator review the effect, especially when a proposal changes reporting, delegation or service access.

Bind approval to the reviewed bytes

Suppose an approved proposal replaces a specific TXT record set at revision 7, including the complete value and TTL. The provider now reports revision 8. Hold for reconciliation even if the intended policy text is unchanged: another operator may have changed a relevant property. If the requested operation instead adds a single value rather than replacing the reviewed set, that operation mismatch also requires review.

These are hypothetical preflight decisions, not an executed gate, DNS parser or SPF evaluator. The approval must cover the actual target, operation and complete payload. Technical checks, signer readiness and business acceptance remain separate from matching the approval digest. No enforcement-policy change or provider write is performed here.

Avoid the last-second race

Where the provider supports conditional updates, use its revision or compare-and-set capability to bind the write to the checked state. If it does not, serialize changes through a controlled process and recognize that a read immediately followed by a write still has a race window. Do not promise atomicity from a client-side comparison alone.

If the live state differs, stop and reconcile the new baseline. Do not rewrite the approval to make it fit. Recheck the affected flows and obtain approval for the revised proposal. The approved action should have a bounded execution window and a planned verification and rollback procedure.

Leave a reviewable decision

Save the proposal, technical-check results, approval, precondition and explicit execute-or-hold decision. A hold should identify the missing evidence and owner. This makes the difference between a safe refusal to overwrite drift and an unexplained automation failure visible to the team.

[ Takeaway ]

A syntactically valid diff can still target the wrong resource or overwrite drift; bind review to the complete operation and live precondition.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Validate semantics and state

Check more than record formatting.

Next steps

  1. Inspect complete record sets.
  2. Use conditional updates.
  3. Stop on drift.

CISO / SecOps

Bind authority tightly

Approval must cover the actual change.

Next steps

  1. Check destination changes.
  2. Reject replay.
  3. Preserve decision evidence.

Founder / Non-technical

Review business impact

Understand which messages depend on the proposed state.

Next steps

  1. Identify critical flows.
  2. Approve the intended effect.
  3. Accept a bounded window.

[ FAQs ]

Frequently asked questions

Does valid DNS syntax make a proposal safe?

No. Scope, authorization, sender dependencies and operational effects still need review.

Does the example recommend immediate enforcement?

No. It illustrates revision and operation mismatches. Enforcement readiness needs independent sender and business evidence.

What invalidates approval?

A changed proposal, tenant, baseline or expired execution window requires renewed evaluation.

Does the example calculate SPF lookup usage?

No. It illustrates preflight decisions without executing a parser, protocol evaluation or authorization gate.

Why retain the operation type?

Replacing a record set and adding one value can have very different effects.

Can a read-before-write guarantee atomicity?

No. Use provider conditional updates when available or explicitly manage the remaining race risk.

What should happen on baseline drift?

Stop, reconcile current state and review a revised proposal rather than overwriting it.

Does adding a DKIM selector enable signing?

Not by itself. The sending service must use the corresponding signing configuration.

[ Sources ]

Sources

  1. RFC 7208 SPF

    Sections §3.2 · §3.3 · §4.6.4 · §5.2

  2. RFC 6376 DKIM

    Sections §3.3 · §3.5 · §3.6 · §5.2 · §6.1.2

  3. RFC 9989 DMARC

    Sections §4.4 · §4.10.1 · §5.3.5 · §5.4 · §7.4 · §8

  4. OWASP LLM06 Excessive Agency

    Sections Prevention and Mitigation Strategies

[ Glossary ]

Glossary

Precondition
A required state that must still hold when an operation executes.
Compare-and-set
An update that proceeds only if the stored state matches an expected value or revision.

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