[ Enterprise operations ]

Maintain a historical record of DNS and policy changes

Preserve what changed and what resolvers actually returned, without confusing a DNS observation with a global history.

By the EmailAuth research team · 2 min read

[ Key points ]

  • Preserve what changed and what resolvers actually returned, without confusing a DNS observation with a global history.
  • Preserve authoritative and recursive observations with their times; neither proves the exact edit time or every receiver’s view.
On this page

A useful DNS history explains both intent and observation. The change ticket says what an operator meant to publish. An authoritative answer shows what a queried server returned at a particular moment. A recursive answer shows what that resolver returned, possibly from cache. Keep all three when reconstructing an authentication incident; none alone tells the complete story.

Record the exact object and source

For every observation retain UTC time, queried owner name, type, server address, transport, response code, relevant flags, TTL and full answer. Preserve raw output or wire data as well as a normalized view. Record whether the observation came from an authoritative server, a recursive resolver or a control-panel export. RFC 1034 explains the authority and caching distinction.

For a policy change, keep the previous and intended values, approver, business reason, affected senders and rollback conditions. A later screenshot cannot prove the earlier DNS state. If history was not captured, say so. Passive observations or report metadata can provide clues but should not be presented as a complete authoritative change log.

Preserve semantics when comparing records

Normalize carefully. DNS names are case-insensitive, but an indiscriminate transformation of all TXT content can damage evidence. TXT RDATA can contain multiple character strings; presentation quoting is not the same thing as multiple independent resource records. Preserve original structure and compare the application-meaningful value separately. For SPF, multiple policy records are a semantic issue, not harmless formatting.

Separate a policy value change from a TTL change, a delegation change and a resolver cache transition. Negative responses can persist according to negative-caching rules in RFC 2308. A new authoritative value does not establish that every receiver immediately used it. Avoid deriving a universal propagation completion time from one successful lookup.

Read two observations without inventing an edit time

Suppose an authorized authoritative query at 10:00 shows an old policy. At 10:05 the same authority returns the new policy, while a recursive resolver still returns the old value with a remaining cache lifetime. Both observations can be accurate for their respective sources. Neither establishes that all other servers or receivers have the new value.

This is a hypothetical timeline, not retained packets or an executed DNS lab. If the provider audit event is unavailable, the exact mutation instant is unknown. Under the stated assumption of a single transition at the queried authority, the observations bound when that authority’s visible answer changed; they do not prove the precise publication time or global convergence. Record the missing audit event instead of filling it with a guessed timestamp.

Connect history to message evidence

When reviewing a failure, align message timestamps, DNS observations, signing selectors, queue delays and report observation intervals. RFC 9990 provides aggregate reporting context, but a report is not a transaction log for DNS edits. An authentication result describes an evaluation; it may not reveal the exact resolver cache contents that caused it.

Retain the evidence under an approved access and retention policy. Hashes help detect changed bytes, but an unsigned local manifest is not tamper-proof provenance. Keep source and collection context with the digest. Make gaps explicit, including missing vantage points or unrecorded periods. The goal is a defensible reconstruction and a safer next change, not false certainty about every receiver's view.

[ Takeaway ]

Preserve authoritative and recursive observations with their times; neither proves the exact edit time or every receiver’s view.

[ By role ]

What this means for you

Choose your role for practical next steps.

IT / Mail Admin

Capture both DNS views

Save authority and recursive responses with exact query context.

Next steps

  1. Keep raw and normalized artifacts.
  2. Link observations to change records.
  3. Preserve TXT record structure before normalization.

CISO / SecOps

Protect evidence quality

Integrity, provenance and access control are different requirements.

Next steps

  1. Record collection gaps.
  2. Review sensitive report retention separately.
  3. Check integrity against an independently controlled manifest.

Founder / Non-technical

Keep decisions explainable

Preserve why a change happened and who accepted its risk.

Next steps

  1. Assign evidence retention ownership.
  2. Avoid claims beyond recorded coverage.
  3. Require known evidence gaps in incident conclusions.

[ FAQs ]

Frequently asked questions

Is a DNS console screenshot authoritative history?

No. It records the interface view, which may differ from published or cached answers.

What minimum query identity should be retained?

Exact owner name, type, server, timestamp and complete response context.

Can authoritative and recursive answers both be correct but differ?

Yes. The recursive resolver may still hold a valid earlier cached answer.

Should TXT strings be flattened without preserving structure?

No. Preserve original RDATA and compare application semantics separately.

Do report timestamps prove when DNS changed?

No. Report intervals describe observations, not an authoritative edit log.

Were the timeline queries executed?

No. They are hypothetical source-specific observations, not packet captures or live DNS evidence.

Does a hash make the history tamper-proof?

No. It detects mismatch against a trusted digest but does not independently establish provenance.

What if historical evidence is missing?

State the gap and limit the conclusion instead of reconstructing certainty from current state.

[ Sources ]

Sources

  1. RFC 1034: Domain Names Concepts and Facilities

    Sections §3.6 · §4.2 · §4.3 · §5.3

  2. RFC 2308: Negative Caching of DNS Queries

    Sections §5 Caching Negative Answers

  3. RFC 7208: SPF

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

  4. RFC 9990: DMARC Aggregate Reporting

    Sections §3.1 · §3.1.1 · §7

  5. RFC 1035 DNS Implementation and Specification

    Sections §2.3.3 · §3.2.1 · §3.3.14 · §4.1.3 · §7.4

[ Glossary ]

Glossary

TTL
Time to live: the cache lifetime associated with a DNS resource record.
RDATA
The type-specific data carried by a DNS resource record.

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