Frequently Asked Questions
General
What does the Strict-Transport-Security
header mean?
A Strict-Transport-Security
header contains a domain's HSTS policy. It specifies a max-age
of how many seconds a browser should remember to connect to the domain only over HTTPS. It can optionally contain a includeSubDomains
directive that indicates that the policy should apply to subdomains as well. This site also defines the preload
directive, which is used to indicate that the domain is requesting inclusion in the HSTS preload list. For example, suppose example.com
sends the header Strict-Transport-Security: max-age=31536000; includeSubDomains
on all of its HTTP responses. A web browser that receives this header will remember for 1 year (31536000 seconds) to upgrade all requests to example.com
and its subdomains to HTTPS.
For more information on the Strict-Transport-Security
header, see this MDN article or RFC 6797.
Scanning results from hstspreload.org
The hstspreload.org scanner is displaying an error for my domain. What do I need to do?
The form on hstspreload.org is not intended as a web security scanner or to provide judgement on how secure a website is. An error for a domain on hstspreload.org does not mean that there are any security issues with that domain. The sole purpose of hstspreload.org's form is to request that a domain be included on the HSTS preload list, and the sole purpose of its error messages is to act as a diagnostic tool. No action is required in response to errors listed on hstspreload.org.
Other tools report that my domain is sending the HSTS header, but hstspreload.org doesn't. Is something wrong with hstspreload.org?
Some popular web security scanning tools will report the headers seen after following all redirects. The hstspreload.org scanner requires that the Strict-Transport-Security
header be present on the first HTTP response, even if that response is a redirect and the page it redirects to has the Strict-Transport-Security
header on its response. A common configuration mistake is that example.com
is configured without the Strict-Transport-Security
header and redirects to www.example.com
which does send the header.
The difference in results between what hstspreload.org displays and other tools is due to checking for different things.
Preloading
My domain has been pending submission for a few weeks now. How long should it take for it to be added to the preload list?
It is normal for your domain to be pending submission for a few weeks. The preload list is updated once every Chrome release, which is approximately every 4 weeks. Submitting a domain to be preloaded is the last step of a long deployment process that starts with gradually ramping up the max-age
of the Strict-Transport-Security
header. There is no need to rush this last part of the process.
If your domain has been pending submission for over 8 weeks, check the configuration of your site. Before a domain is added to the preload list, its eligibility is verified a second time. If your server's configuration has changed, or if your server's configuration does anything to special-case the hstspreload.org infrastructure, it could be failing this second verification check.
I'm trying to preload my domain but hstspreload.org is showing an error. How do I fix it?
The error message should indicate what needs to change to meet the preloading requirements. Common configuration mistakes include not sending the Strict-Transport-Security
header on all responses or only configuring the header for the www
subdomain. The Strict-Transport-Security
header must be sent on all responses for your domain, including redirects. It must be configured on the bare domain (e.g. example.com
) and not just the www
subdomain, even if you redirect from e.g. example.com
to www.example.com
.
Other configuration errors include configuring a firewall to reject requests before the Strict-Transport-Security
header has been added to the response, or to condition the presence of the Strict-Transport-Security
header on the User-Agent
sent by the client.
Can you help me configure my domain to resolve an issue with a specific error from hstspreload.org?
Every web server stack is different, so we can't provide advice on how to configure a specific server or help you debug your setup. See the above answers for general advice. We will not respond to questions asking for help configuring your domain.
What regions or locations should I unblock so that my geographically restricted website can be preloaded?
We expect that domains on the HSTS preload list are broadly available and accessible to browser end-users. If you are blocking access to your domain in certain regions, then your domain is not a good candidate for inclusion on the HSTS preload list. You can still set an HSTS policy for your domain without preloading it, and most of the benefit comes from enabling HSTS rather than the additional step of preloading.
What IP addresses should I unblock on my WAF or other firewall to allow hstspreload.org to scan my domain?
We expect that preloaded domains are broadly accessible, and we do not provide a list of IP addresses to allowlist or other firewall configuration advice.
Authenticating requests to preload
Why is there no authentication on the form to preload a domain?
Requests to preload a domain are authenticated by verifying the server's TLS certificate and authorized by the presence of the preload
directive on the Strict-Transport-Security
header sent over HTTPS. No additional authorization is needed. RFC 6797 specifies that the Strict-Transport-Security
header instructs browsers to upgrade all requests to HTTPS with only the TLS certificate used for authentication; HSTS preloading has the same effect of upgrading requests to HTTPS and is authenticated in the same way.
My domain was added to the HSTS preload list but no one at my company requested that it be added. Who added it? Where did the request come from?
We're unable to provide information about where the request to preload a domain came from. To determine where the request came from, review your change management system for the configuration of the web server(s) handling requests to the bare domain, and look for changes to the Strict-Transport-Security
header.
Removal
How do I protect my domain from removal from the HSTS preload list?
To keep your domain from getting removed from the HSTS preload list, it must continue to meet the requirements for preloading. We understand that sites occasionally have outages, so temporary outages won't result in removal. However, if the site is unavailable for an extended period of time or otherwise doesn't meet the continued requirements, it may be removed from the list. If your domain serves a Strict-Transport-Security
header without the preload
directive, it may be eligible for immediate removal.
How do I remove my domain from the HSTS preload list?
To remove your domain from the HSTS preload list, use the form at hstspreload.org/removal. To be eligible for removal, your domain needs to send a valid Strict-Transport-Security
header that doesn't contain the preload
directive.
How long does it take to process a removal request?
Removals are processed at the same speed as additions to the list. Once a removal has been processed, expect it to take several additional months before the domain is no longer preloaded in most users' browsers.
My domain (or one of its subdomains) is broken due to preloading, and waiting for it to be removed from the preload list is taking too long. What else can I do?
The quickest and easiest fix is to configure the webservers on your domain (and its subdomains) to serve HTTPS with a valid TLS certificate. Another option is to configure a different domain name to point to the same servers and access HTTP resources via that domain. If breakage is due to old clients that can't connect via HTTPS, you can configure the server to not redirect HTTP to HTTPS while waiting for the removal to process.
If you noticed breakage of your domain or one of its subdomains due to HSTS preloading, the cause of the breakage is due to an issue with the HSTS policy. When removing the preload
directive from the Strict-Transport-Security
header, you should change the corresponding issue with the HSTS policy as well, e.g. removing includeSubDomains
or setting a knockout entry to disable HSTS entirely (e.g. Strict-Transport-Security: max-age=0
).
Other questions
If you have other questions that aren't covered by this site, you can send us an email. We will not respond to emails asking questions that are answered on this site.