[ Diagnostics & resources ]

TLS-RPT checker guide: verify request and destination

Plan TLS-RPT checks for discovery, report destinations, SMTP signature rules and safe JSON interpretation without confusing reporting with enforcement.

By the EmailAuth research team · 6 min read

[ Key points ]

  • Validate the _smtp._tls record and the supported report URI schemes.
  • For SMTP reports, require valid reporting-domain DKIM without l= body-length limitation.
  • Bound compressed input and validate I-JSON before analysing session counts.
  • Keep endpoint acceptance, collection health and transport enforcement separate.
On this page

Separate the request to receive reports from transport protection

TLS-RPT asks sending systems to report SMTP TLS observations. It does not itself require encrypted delivery or repair an MTA-STS or DANE configuration. A checker should first explain whether the reporting request is discoverable and parseable, then separately explain whether a destination can accept reports and what any received report actually establishes.

This article is a proposed checker guide, not an implemented EmailAuth capability. No domain, mailbox, report endpoint or message was tested. The exact working-tool requirement remains open: Implement and test the promised function. An article, mock-up or specification alone is not a working tool.

Validate the discovery record at the right owner

For a policy domain, RFC 8460 places the request at _smtp._tls followed by that domain. Retain the queried owner, TXT record boundaries, response status and collection time. A proposed checker should distinguish failed collection from confirmed absence. Filtering the returned records for the supported TLSRPT version must leave exactly one usable record; multiple strings inside that one record are concatenated without spaces.

Parse the required v=TLSRPTv1 and rua information according to the specification, including its URI escaping rules. RFC 8460 supports mailto and https report destinations. Do not paste DMARC-specific external-destination authorization syntax into TLS-RPT merely because both protocols use a rua field. Validate the actual protocol and endpoint contract. RFC 8460, section 3.

Distinguish endpoint syntax from operational acceptance

A syntactically valid address does not prove that the mailbox exists, accepts the report size or runs a compatible processor. Likewise, an HTTPS destination that serves a webpage does not prove it accepts the specified report POST. Record the endpoint owner, supported transport, import format and separately approved acceptance evidence. Do not send a test report or disclose customer material just to turn a status indicator green.

Report delivery has special transport semantics. RFC 8460 allows HTTPS submitters to ignore certificate-validation errors, and requires SMTP reporting to proceed despite TLS-related failures, potentially without encryption. Those protocol allowances are not permission for this checker to bypass certificate warnings or transmit sensitive data insecurely. A deployment must explicitly review the confidentiality consequences and its own security policy before choosing or testing a destination.

Apply the SMTP reporting signature requirements precisely

Reports carried by SMTP must have a valid DKIM signature from the reporting domain; the recipient must ignore reports lacking it. RFC 8460 section 3 also prohibits the DKIM l= body-length attribute for these signatures. A generic DKIM pass is insufficient if the reporting signature relies on l=, because the requirement protects against appended misleading report content.

The public-key record should declare the tlsrpt service type, and the recipient may ignore a report if that declaration is absent. Preserve which signing domain, selector and signature support the report's acceptance decision. These SMTP-specific requirements must not be described as a DKIM-signature requirement for an HTTPS POST. RFC 8460, section 3.

Parse the report with explicit import limits

TLS-RPT reports use I-JSON, with metadata, a reporting interval and a policies array. Email transport uses the prescribed report MIME structure; gzip compression is supported and recommended by the specification. Treat both compressed and plain input as untrusted. Bound incoming and expanded size, processing time, memory, nesting and policy or failure-entry counts before importing records into analysis.

Use an I-JSON-aware validation path, including rejection of duplicate object member names, rather than trusting whichever value a permissive JSON library retains. Preserve raw input provenance and parser version, and quarantine unsupported or malformed reports without labelling them domain transport failures. No import limits or parser have been implemented here. RFC 8460, sections 4–5, RFC 7493 and OWASP file-upload guidance.

Interpret the observation and its denominator

Link each finding to the reporting organization, policy domain, policy type, interval, receiving host and relevant failure details. An sts-policy-fetch-error concerns retrieving an MTA-STS policy; a certificate-host-mismatch concerns certificate identity validation. Neither label alone identifies the exact repair. Correlate the report's time and context with separately authorized endpoint, policy or MX evidence before selecting a change.

Counts describe sessions, not necessarily individual messages. Failure categories can overlap for the same attempt, and a report can contain multiple applied policies. Adding every failure-detail count into a unique-message total can therefore exaggerate the affected population. Preserve the summary and detail semantics instead of flattening them into one universal failure rate. RFC 8460, sections 4.2–4.3.

An absent report does not establish that transport succeeded. The sender may not participate, the reporting path may fail or the local processor may reject the input. Conversely, a successful session count indicates a policy-compliant TLS connection for the reporting system's observation, not final inbox delivery or message authentication. Keep collection health and transport findings in separate output fields.

Require a demonstrated problem before claiming a fix

In a fictional diagnostic plan, repeated policy-fetch errors would lead the owner to compare the reported interval with policy-host availability and certificate evidence. The tool should preserve alternative explanations until a cause is confirmed. It must not automatically replace the reporting destination, relax enforcement or publish a new policy.

The exact original-evidence gate is: A redacted TLS-RPT JSON example linked to a confirmed endpoint or policy problem. No actual report or confirmed incident has been supplied. References were reviewed on 8 November 2026. The proposed workflow still needs a tested implementation, secure-import fixtures, independent and human technical review, visual checks and owner publication authorization.

[ Takeaway ]

A reporting request, accepted report and confirmed transport problem are different findings and need separately retained evidence.

[ By role ]

What this means for you

Choose your role for practical next steps.

Report receiver operator

Separate transport acceptance from parsing

A reachable destination is not enough. The receiving path must enforce the relevant transport rules and handle supported report content without exposing infrastructure or private evidence.

Next steps

  1. Confirm endpoint ownership, supported media types and acceptance criteria before any test.
  2. For SMTP reports, evaluate reporting-domain DKIM, the l= prohibition and service declaration.
  3. Keep receipt, validation, quarantine and analysis outcomes distinct.

Transport analyst

Correlate the report with the affected policy

A category label points to a stage, not automatically to a root cause. The policy domain, time, host and reporting system determine which investigation is relevant.

Next steps

  1. Preserve session-based denominators and overlapping failure-category semantics.
  2. Compare report intervals with separately authorized endpoint, certificate or policy evidence.
  3. Leave absent or rejected reports as coverage gaps rather than transport-success claims.

Tool security owner

Bound import and outbound behavior

The checker needs defensive controls for hostile JSON and compressed inputs, as well as a clear boundary around endpoint probes and evidence transmission.

Next steps

  1. Require I-JSON validation and tested expansion, time and structural budgets.
  2. Review confidentiality implications before approving any report delivery test.
  3. Withhold working-tool claims until adverse-input and protocol-specific fixtures are independently evaluated.

[ FAQs ]

Frequently asked questions

Does publishing TLS-RPT require senders to encrypt all mail to the domain?

No. TLS-RPT requests observations about SMTP transport behavior. Transport enforcement comes from mechanisms such as MTA-STS or DANE and their implementing senders, not from the reporting request alone.

Which report destination schemes does RFC 8460 define?

It defines mailto and https destinations in rua. Syntax validity does not demonstrate operational acceptance, and another protocol’s external-destination authorization rules should not be copied merely because it uses a field with the same name.

Can an SMTP TLS report use a DKIM l= body-length tag if it otherwise verifies?

No. RFC 8460 section 3 prohibits l= for the DKIM signatures used by SMTP-carried reports. A generic DKIM pass must not conceal that reporting-specific requirement.

Must an HTTPS TLS-RPT submission carry a DKIM signature too?

The section 3 DKIM requirement applies to reports sent via SMTP. Do not claim that the same email-signature requirement automatically applies to an HTTPS POST; evaluate the actual transport and endpoint contract.

Does the protocol’s certificate-error allowance authorize this checker to bypass warnings?

No. RFC 8460 describes report transport allowances, including possible loss of confidentiality. This guide performs no bypass or transmission; an actual deployment needs an explicit security and data-handling decision before such behavior is considered.

Why reject duplicate JSON object names in an import design?

TLS-RPT uses I-JSON, whose objects must not contain duplicate member names. A permissive parser that silently keeps one value can obscure conflicting data. The importer needs a documented validation and rejection path.

Can failure-detail counts be added up as unique failed messages?

No. TLS-RPT counts sessions, and failure categories can overlap for an attempt or appear under multiple policies. Preserve the summary and detail meanings rather than converting all counts into a unique-message total.

What evidence is still needed for this TLS-RPT checker guide?

A tested implementation and a redacted real TLS-RPT JSON example tied to a confirmed endpoint or policy problem. No report, acceptance test or confirmed incident has been obtained for this article.

[ Sources ]

Sources

  1. OWASP File Upload Cheat Sheet
  2. RFC 7493: The I-JSON Message Format
  3. RFC 8460: SMTP TLS Reporting

[ Glossary ]

Glossary

Reporting request
The TLS-RPT DNS publication asking participating senders to deliver transport observations to designated URIs; it does not itself enforce TLS.
SMTP report signature
The valid reporting-domain DKIM signature required for an SMTP-carried TLS report, without the prohibited l= body-length limitation.
Session count
A TLS-RPT measure of observed connection outcomes, which must not be assumed to equal a count of unique email messages.
I-JSON object constraint
The requirement that an I-JSON object have no duplicate member names after escape processing, preventing ambiguous repeated fields.
Confirmed report problem
A transport or reporting finding correlated with independent endpoint or policy evidence, rather than inferred solely from a report category.

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