[ MSP, APIs & integrations ]

Interpret bulk domain scans without overstating coverage

Plan a bounded domain scan with a clear inventory, distinct error states and honest coverage before turning configuration findings into customer actions.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Preserve inventory provenance, exact targets and explicit exclusions.
  • Separate NXDOMAIN, NODATA and collection failures instead of reducing them to missing records.
  • Keep selector coverage and SPF evaluation context visible.
  • Use separate denominators for domain checks and observed messages.
On this page

Define the population before interpreting the colours

A bulk domain scan can make a large portfolio easier to triage, but its value depends on what entered the scan and what each result actually means. A hundred green rows do not establish that every business sender authenticates correctly. They may only show that a particular set of public names returned parseable records from one vantage point during one collection window.

This article proposes a bounded scan workflow. No scan, DNS query, account lookup or API call was performed, and no EmailAuth bulk-scanning feature is asserted. Standards and official provider documentation were reviewed on 8 November 2026. Collection tooling, customer authority and actual receiver behavior still require verification before execution.

Build a scoped input register

Start with a customer-approved inventory and preserve the original submitted value alongside the normalized query name. Record which customer owns the task, the source of the inventory and the permitted checks. An apex domain, a mail subdomain and a delegated child zone are not interchangeable targets. Normalize internationalized names using a documented library and version, preserving the display form so reviewers can detect mistaken substitutions.

Remove exact duplicate tasks without erasing evidence that two inventory entries referred to the same name. Quarantine malformed input instead of constructing a plausible replacement. Record omissions explicitly: unknown subsidiaries, unprovided DKIM selectors and private DNS views are coverage gaps, not clean results. Public visibility alone neither proves ownership nor authorizes uploading a customer portfolio to an external scanning service.

Specify the observations the scanner may make

List the exact record owners and types to be examined and the resolver or authoritative vantage to be used. Retain collection time, response status, answer data, relevant TTLs and the tool or evaluator version. Distinguish the recursive answer a client sees from the authoritative zone data. Cached observations have a different meaning from fresh authoritative responses, as described by RFC 1034.

Do not treat a record-list API as a public DNS scan. It can reveal configured records that are not currently served publicly, and it can omit another provider's delegated child zone. Route 53 documents both pending records and the risk of inconsistent multi-page listings during changes. Its API is a useful inventory source when separately authorized, but it is not evidence that every resolver received the same answer. Route 53 list limitations.

Keep absence separate from collection failure

A DNS result needs more than a boolean found flag. NXDOMAIN indicates a name error; a NODATA result indicates no relevant data of the requested type and must be interpreted from the response contents. SERVFAIL, refusal, timeout and truncated or otherwise incomplete collection require their own handling. They must not be rewritten as “no authentication record.” RFC 1035 response codes and RFC 2308 negative answers support these distinctions.

Use a bounded retry policy and preserve every materially different observation. Do not keep retrying until a favourable answer appears. If an error persists, mark that check inconclusive and identify who will investigate the resolver, delegation or access condition. Reporting an unknown result maintains the distinction between a domain problem and a measurement problem.

Evaluate authentication within its real scope

A syntactically valid SPF record is not a universal sender authorization result. SPF evaluation uses a particular sending IP and identity, and DNS-dependent terms have protocol limits. A static analysis may identify potential issues, but without a declared evaluation context it cannot prove that an actual message passes. RFC 7208 defines the lookup-limited terms; a simple count of all DNS packets is not the same calculation.

DKIM scanning is selector-dependent. Finding a public key for one supplied selector does not show that all senders use it or that a signature validates. An unknown selector is not evidence that a domain has no DKIM deployment. Likewise, a DMARC policy record describes domain policy and discovery information, while message evaluation also requires an authenticated identifier aligned with the author domain. RFC 6376 and current RFC 9989 define those different layers.

Bound collection load and downstream effects

Choose concurrency, timeouts and a maximum retry budget appropriate to the authorized service. Resolver capacity and provider API quotas are separate limits. Where a permitted inventory API is involved, honour its documented rate controls rather than increasing parallelism to conceal throttling. Cloudflare's published API limits and backoff headers are a vendor example, not a universal DNS query budget. Cloudflare rate limits.

A read-only scan should not automatically publish records, add domains to a paid plan, notify a customer or open a remediation workflow with external recipients. Define those actions separately. Store the portfolio and results under approved access and retention rules, especially when the inventory reveals customer relationships or unpublished service names.

Report denominators and a useful next decision

Separate in-scope, attempted, completed, failed and excluded checks. Explain whether percentages use domains, individual record checks or observed messages as their denominator. Never combine a message-authentication rate with a static configuration percentage. Group findings by evidence and urgency, then assign a human to confirm each proposed remediation against the actual sender inventory.

For a fictional portfolio of fifty domains, forty completed checks, seven timeouts and three withheld targets would not justify “eighty percent compliant.” The report should state the observed configuration findings for the forty, preserve seven inconclusive outcomes, and explain the three exclusions. Those numbers illustrate reporting design only; they are not scan results.

The catalogue still requires: One complete customer lifecycle runbook with roles, evidence and measurable service responsibilities. This proposed workflow supplies no completed customer run, verified domain observations or delivery test. Independent review, source applicability, original evidence, visual review and owner release remain necessary before publication.

[ Takeaway ]

Report what was observed and what remains unknown; a bulk configuration result cannot stand in for ownership, message authentication or delivery evidence.

[ By role ]

What this means for you

Choose your role for practical next steps.

Portfolio analyst

Keep the inventory accountable

The input list is part of the evidence, not disposable setup. Untracked normalization and exclusions can make the report misleading before any protocol evaluation begins.

Next steps

  1. Preserve submitted and normalized names with customer and inventory provenance.
  2. Distinguish exact duplicate tasks from genuinely different subdomain targets.
  3. Report withheld, malformed and unknown-scope entries alongside attempted checks.

DNS specialist

Classify the observation before remediation

A parser’s missing flag can conceal resolver errors, referral handling or incomplete selector knowledge. Examine the raw response category before recommending a record change.

Next steps

  1. Keep name errors, no-data answers and transport or server failures distinct.
  2. Check authority, query type and selector scope against the intended task.
  3. Escalate persistent inconclusive checks instead of repeatedly querying until they turn green.

Customer account owner

Turn findings into bounded work

A portfolio scan is a prioritization input, not a compliance certificate or authority to edit. Tie recommendations to customer-approved scope and a verified sender context.

Next steps

  1. Confirm the permitted inventory and any external scanning destination before collection.
  2. Assign owners to incomplete checks and high-impact findings.
  3. Require separate approval for notification, paid service enrollment and DNS remediation.

[ FAQs ]

Frequently asked questions

Can a bulk scan establish that the submitting customer owns every domain?

No. Public records can be read without owning the name. Establish the permitted customer inventory and any required ownership process separately before granting account access, publishing records or disclosing a portfolio to another service.

What is wrong with treating a timeout as a missing DMARC record?

A timeout means the collection did not obtain the required answer. It does not establish an authoritative absence. Preserve the failed observation, apply a bounded retry policy and keep the result inconclusive if the evidence remains unavailable.

How is NODATA different from NXDOMAIN in a scan report?

NXDOMAIN is a name error. NODATA describes the absence of relevant data for the queried type and must be interpreted from response contents; it is not a separate DNS response code. Aliases and authority information can matter.

Can checking a common DKIM selector prove that DKIM is absent?

No. A selector identifies a particular key lookup. Failure to find one guessed selector says nothing conclusive about other selectors or active signing configurations. Record supplied selector coverage and leave unknown deployments unverified.

Should an SPF scanner count every DNS packet toward the ten-term limit?

No. RFC 7208 specifies which mechanisms and modifiers count toward the evaluation limit and also defines other limits. A packet count and a protocol-term count measure different things; the evaluator must disclose its method and context.

Why is a provider inventory export not equivalent to public DNS evidence?

It reflects a provider’s configured resources and may include pending records or omit separately delegated resources. Public authoritative and recursive observations answer different questions and need their own collection context.

What denominator should a portfolio percentage use?

Name it explicitly: domains, record checks or another defined population. Report excluded and incomplete tasks separately. Do not compare a static configuration percentage directly with a message-authentication percentage based on received traffic.

May the scan automatically fix every red result?

No such action is authorized or demonstrated here. A human must verify the cause, customer scope and exact proposed change before any DNS write or external notification. The catalogue’s completed customer lifecycle evidence remains absent.

[ Sources ]

Sources

  1. Amazon Route 53: ListResourceRecordSets
  2. Cloudflare: API rate limits
  3. RFC 1034: Domain Names, Concepts and Facilities
  4. RFC 1035: Domain Names, Implementation and Specification
  5. RFC 2308: Negative Caching of DNS Queries
  6. RFC 6376: DomainKeys Identified Mail Signatures
  7. RFC 7208: Sender Policy Framework
  8. RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance

[ Glossary ]

Glossary

Scan population
The explicitly included set of customer targets and checks, with exclusions retained so readers can interpret coverage.
Collection vantage
The resolver, authoritative source or provider interface from which an observation is obtained; different vantages can legitimately expose different states.
NODATA classification
An interpretation of a DNS response indicating no relevant records for the requested type, derived from response content rather than its own RCODE.
Selector coverage
The declared set of DKIM selectors examined, which bounds what a key-discovery result can say about a domain.
Reporting denominator
The named population used to calculate a rate, such as completed record checks or observed messages; it must not silently change between comparisons.

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