We recently updated our Certificate Transparency policy documentation to clarify our CT Log Policy. You can view the full content at: https://wiki.mozilla.org/SecurityEngineering/Certificate_Transparency.
Under our existing Mozilla CT Policy: certificates
≤180-day validity require 2 SCTs from distinct log operators; certificates
>180-day validity require 3 SCTs, at least one from an Admissible
log at verification; and SCTs
via TLS handshake or OCSP must include 2 SCTs from distinct Admissible
logs.
With this update we clarify that Mozilla recognizes CT logs listed in Chromium’s log_list.json (https://googlechrome.github.io/CertificateTransparency/log_lists.html) that are marked qualified, usable, readonly, or retired. Per https://wiki.mozilla.org/SecurityEngineering/Certificate_Transparency#CT_Log_Policy, log operators should apply through Google’s CT log program. Admissible logs MUST include all NSS roots that have the websites trust bit enabled, and log operators MUST maintain reliable uptime, timely merging, and compliance with CT operational requirements. Mozilla may independently assess or disqualify any log if needed to protect its users.
These updates clarify Mozilla’s requirements for CT log operators and, with the existing CT policy, will ensure continued alignment with other browsers.
Thanks,On 23 Oct 2025, at 20:06, Filippo Valsorda <fil...@ml.filippo.io> wrote:
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/ct-policy/fe63d031-fed6-4ab3-8fdd-7b770effb930%40app.fastmail.com.
Hi all,
Thanks for your concerns and suggestions about that sentence in the CT LOg Policy by which log operators would have to include all NSS roots with the websites trust bit enabled.
To better align with current practices, here is some draft policy language, which I plan to use to update the CT Log Policy:
For all Qualified and Usable logs, the operator MUST include in the Accepted Roots list all Root Certificates in NSS that have the websites trust bit enabled at the time the log is created or accepted for inclusion. Log operators are encouraged, but not required, to periodically update their Accepted Roots list to include newly trusted NSS roots.
Please let me know any further thoughts about this proposed wording.
Thanks,
Ben
Thanks, Rob, for that insight. Mozilla shares Chrome’s goal of ensuring broad utility, so here is a possible re-wording of that part of the Mozilla CT Log Policy:
The requirement ("In order to maintain broad utility to Chrome and its users, CT logs are expected to accept logging submissions from CAs that are trusted by default in Chrome across all its supported platforms") is not in the policy section entitled "Application Process". It's in the "Logging Submission Policy: Accepted Root Certificates" section, which I believe is intended to address ongoing requirements for logs.
It would be really useful if a Chrome representative could chime in and tell us which interpretation is correct.
Speaking on behalf of Chrome, it’s our expectation that as new root CA certificates are added to the Chrome Root Store, they are also added to the set of accepted root certificates maintained by CT logs listed in a “pending”, “qualified”, or “usable” state.
We recognize the technical considerations, but the requirement to accept logging submissions from all CAs trusted by default in Chrome is intended to be continuous, not a one-time check at the time of log inclusion.
To ease the update process for log operators, we created CCADB reports that list the roots included in the CCADB-participating root stores, (introduced here), and are open to additional recommendations for improvement.
- Ryan, on behalf of the Chrome CT team
Certificate transparency information can be delivered either as signed certificate timestamps (SCTs) embedded in the certificate itself or as SCTs stapled alongside the certificate (via the TLS handshake or in an OCSP response). For a connection to succeed, sufficient certificate transparency information must be provided using either of these methods.
For embedded SCTs, "sufficient" means at least N SCTs from distinct logs that were Admissible or Retired at the time of verification, where N is 2 for certificates with a lifetime of 180 days or less, and 3 otherwise. At least 1 of those SCTs must be from a log that was Admissible at the time of verification. Among those SCTs, at least 2 must be from distinct log operators.
For SCTs delivered via the TLS handshake or an OCSP response, "sufficient" means at least 2 SCTs from distinct log operators that were Admissible at the time of verification.
Mozilla does not maintain a separate log application process. We recognize CT logs that appear in the Chromium log_list.json list, located at https://googlechrome.github.io/CertificateTransparency/log_lists.html. CT logs included in that list that are marked qualified, usable, readonly, or retired are considered usable by Mozilla as described above. Log operators seeking inclusion or updates to their logs should apply through Google’s CT log program. For all Qualified and Usable logs, the operator MUST include in the Accepted Roots list all Root Certificates in NSS that have the websites trust bit enabled at the time the log is created or that are accepted for inclusion. Log operators are expected to update their Accepted Roots list within a reasonable time after new NSS roots are added, so that logs accept submissions from all root CAs that have the websites trust bit enabled, with Mozilla allowing some flexibility to accommodate operational constraints provided the operator notifies Mozilla, documents the rationale and impact, and commits to a timeline for updating its Accepted Roots list. All log operators MUST maintain reliable availability, timely merging of submitted certificates, and ongoing compliance with all relevant CT operational requirements. Mozilla reserves the right to independently assess or disqualify any log to protect its users.
Thanks,
Ben
To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/ct-policy/42e1701a-68e1-4570-83f1-5159faf29cc6n%40chromium.org.