Safeguard
Application Security•

ASVS 5.0 V3.7.4: Add Your Domain to the HSTS Preload List

ASVS V3.7.4 (Level 3) requires your top-level domain on the HSTS preload list so browsers enforce TLS from the first visit. Prerequisites, header, submission and removal risks.

Safeguard Security Team
2 min read

ASVS 5.0 requirement V3.7.4 says the application's top-level domain, such as example.com, must be added to the public HSTS preload list. That builds the use of TLS into the main browsers, instead of relying only on the Strict-Transport-Security header. It is a Level 3 requirement.

Why it matters

The HSTS header, covered in V3.4.1, protects a browser only after it has seen the header once. The very first visit, or the first after the policy expired, can still start over plain HTTP and be intercepted. Preloading ships your domain inside the browser itself, so even a first time visitor is forced onto HTTPS.

How to implement it

The preload list has strict conditions. Your site must serve a valid certificate, redirect HTTP to HTTPS on the same host, and serve all subdomains over HTTPS. The HSTS header on the base domain must look like this:

Strict-Transport-Security: max-age=63072000; includeSubDomains; preload

The max-age must be at least one year and includeSubDomains and preload must both be present. Then submit the domain at the official site, hstspreload.org, which checks the header for you.

Prepare first:

  • Inventory every subdomain, including internal, staging and forgotten ones. All must support HTTPS.
  • Raise max-age in steps and watch for breakage.
  • Treat preload as a long commitment. Removal is possible but takes months to reach users, because it depends on browser release cycles.

How to test it

curl -sI https://example.com | grep -i strict-transport-security

Confirm all three tokens and the max-age. Check the status of the domain at hstspreload.org, and check every subdomain over HTTPS with a valid certificate. In Chrome, chrome://net-internals/#hsts lets you query a domain and see whether it is preloaded.

Common mistakes

Preloading with an HTTP only subdomain. It becomes unreachable for preloaded browsers.

Setting the header only on www. Preload checks the base domain.

Submitting in a hurry. Removal is slow.

Quick check

Can I preload only a subdomain?

The list works on registrable domains with includeSubDomains, so the policy covers the whole domain.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.