Skip to content
https://bea.gov

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
83
GRADE
B
FIX
1
REVIEW
7
PASS
9
INFO
0
Probed from Santa Clara, United States
200 OK
Checks
17
9 PASS 7 REVIEW 1 FIX
F
IPv6 Readiness
Action
IPv6 records exist but unreachable
FIX
IPv6 records exist but unreachable
Warning::
IPv6 DNS records exist but server is not reachable
Having AAAA records but an unreachable server is worse than no AAAA — clients may experience delays before falling back to IPv4.
Got: 2620:1ec:48:1::69, 2620:1ec:29:1::69
Info::
IPv6 connection error
Got: dial tcp6 [2620:1ec:48:1::69]:443: connect: network is unreachable
IPv6 Misconfigured
AAAA Records 2620:1ec:48:1::69, 2620:1ec:29:1::69 Connection UNREACHABLE

Having AAAA records but an unreachable server is worse than no AAAA — clients may experience delays before falling back to IPv4.

Why this matters

Advertising IPv6 (AAAA records) without a reachable server means IPv6-preferring clients silently fail every connection.

Learn more

Modern browsers prefer IPv6 if AAAA exists (Happy Eyeballs algorithm). If the IPv6 server isn't reachable, browsers fall back to IPv4 — but with seconds of added latency per request. Either fix IPv6 reachability or remove the AAAA records.

Source: RFC 8305 (Happy Eyeballs)

B
CAA Records
No CAA records (any CA may issue certificates)
REVIEW
No CAA records (any CA may issue certificates)
Info::
No CAA records published
Without CAA records, any publicly-trusted CA can issue certificates for this domain. Adding a CAA record (`yourdomain. IN CAA 0 issue "letsencrypt.org"`) restricts issuance to CAs you authorize. Required by CAB Forum baseline since 2017; the default of 'any CA' is widely supported but is the broader attack surface for issuance fraud.
C
Reverse DNS
Action
0/4 IPs match cert SAN
REVIEW
0/4 IPs match cert SAN
Info::
PTR lookup failed for 13.107.226.69: lookup 13.107.226.69: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 13.107.253.69: lookup 13.107.253.69: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2620:1ec:48:1::69: lookup 2620:1ec:48:1::69: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2620:1ec:29:1::69: lookup 2620:1ec:29:1::69: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
C
URL Variants
Action
www/non-www, trailing slash, HTTP→HTTPS
REVIEW
www/non-www, trailing slash, HTTP→HTTPS
Critical::
Both www and non-www versions serve content
Got: Both variants return 200 Expected: One variant 301-redirects to the other
Warning::
HTTP→HTTPS redirect uses 302 instead of 301
Got: 302 temporary redirect Expected: 301 permanent redirect

www / non-www

200https://www.bea.gov/
200https://bea.gov/

Inconsistent — duplicate content risk

HTTP → HTTPS

307http://bea.gov/ https://bea.gov/

Use 301 (permanent) instead of 302 (temporary)

B
TLS Certificate Expiry & Recommendations
244 days until leaf cert expires — 1 issues to address
REVIEW

Certificate validity

244
days left
0d 30d 60d 90d+

Recommended actions

  • Enable OCSP stapling on your TLS server to remove a CA roundtrip and protect user privacy
B
CDN & Delivery
Azure CDN (CONFIG_NOCACHE)
REVIEW
Azure CDN (CONFIG_NOCACHE)
Info::
Site is served via Azure CDN CDN
Got: x-azure-ref: 20260623T071935Z-1556b89bd9d5xgg9hC1BY1h7ug00000003gg0000000049c9
Info::
CDN cache status: CONFIG_NOCACHE
CDN Detected: Azure CDN
Provider Azure CDN Cache Status CONFIG_NOCACHE Evidence x-azure-ref: 20260623T071935Z-1556b89bd9d5xgg9hC1BY1h7ug00000003gg0000000049c9
B
Operational Status Page
No status page link detected
REVIEW
No status page link detected
Info::
No operational status page link detected
Status pages communicate planned maintenance and incidents to users -- a hallmark of operationally-mature services. Most SaaS teams publish one via Atlassian Statuspage, Instatus, BetterUptime, or a self-hosted Cachet. Smaller sites legitimately don't need one; flagged as Info, not a failure.
B
Health Check Endpoint
No conventional health endpoint found
REVIEW
No conventional health endpoint found
Info::
No conventional health endpoint found
Health endpoints (/health, /healthz, /status, /ping, /api/health) let uptime monitors, load balancers, and orchestration systems (Kubernetes, ECS, Fly.io) verify the service is alive. Marketing sites and small services often skip them legitimately; flagged as Info, not a failure. Probe results: /api/health: 404, /health: 404, /healthz: 404, /ping: 404, /status: 404.
A+
DNS Records
2 A records, 41 ms lookup
PASS
2 A records, 41 ms lookup
Info::
Resolves to 2 IPv4 address(es)
Got: 13.107.226.69, 13.107.253.69
Info::
Has 2 IPv6 (AAAA) record(s)
Got: 2620:1ec:48:1::69, 2620:1ec:29:1::69
Info::
3 nameserver(s) configured
Got: blue.foundationdns.com, blue.foundationdns.net, blue.foundationdns.org
Info::
2 mail exchanger(s) configured
Info::
SPF record present in TXT
Info::
DNS resolution time: 41 ms
Got: 41 ms
A13.107.226.69, 13.107.253.69
AAAA2620:1ec:48:1::69, 2620:1ec:29:1::69
CNAME
NSblue.foundationdns.com, blue.foundationdns.net, blue.foundationdns.org
MX
10 mx1.bea.gov
20 mx2.bea.gov
TXT
Mf1jbZKEdUYEj6KxffMKn4FePdWdG0e6ImWjfxIAcpx7uS9UIhP85uIDaA8kE9O4ZNbk+GyJGzr3uQ6E...
adobe-idp-site-verification=2b3acdf4edeec1546e0aade0d83f7a87efd37d00d73cfa9b8f12...
SPF v=spf1 ip6:2610:20:3005:1::10 ip6:2610:20:3005:1::11 ip4:192.149.12.0/24 ip4:170...
CAALookup not available with standard resolver
Resolved in 41 ms
A+
Subdomain Takeover
No subdomain takeover risk detected
PASS
No subdomain takeover risk detected
Info::
No CNAME record present
A+
DNSSEC
Signed and validating
PASS
Signed and validating
Info::
DNSSEC fully signed and chain validates (ECDSAP256SHA256)
A+
Multi-Resolver DNS Speed
Mean 11ms across 3 resolvers (spread 17ms)
PASS
Mean 11ms across 3 resolvers (spread 17ms)
Info::
Cloudflare: 4ms
Got: 4ms via 1.1.1.1:53
Info::
Quad9: 8ms
Got: 8ms via 9.9.9.9:53
Info::
Google: 21ms
Got: 21ms via 8.8.8.8:53
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://bea.gov

https://bea.gov

347 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://bea.gov200347 msHTTP/1.1
A+
Crawlability
robots.txt present, sitemap with 9 URLs
PASS
robots.txt present, sitemap with 9 URLs
Info::
robots.txt is present
Got: 2027 bytes
Info::
sitemap.xml is present
Info::
sitemap.xml is valid XML
Info::
sitemap.xml contains 9 entries
Info::
Sitemap index with 9 child sitemaps
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Why this matters

robots.txt omits Sitemap: directive — crawlers must fetch /sitemap.xml by convention; reliable but missing the explicit hint.

Source: sitemaps.org

robots.txt 200 OK
Size 2027 B Sitemaps referenced 0 User-agents * Blocking No — crawling allowed
#
# robots.txt
#
# This file is to prevent the crawling and indexing of certain parts
# of your site by web crawlers and spiders run by sites like Yahoo!
# and Google. By telling these "robots" where not to go on your site,
# you save bandwidth and server resources.
#
# This file will be ignored unless it is at the root of your host:
# Used:    http://example.com/robots.txt
# Ignored: http://example.com/site/robots.txt
#
# For more information about the robots.txt standard, see:
# http://www.robotstxt.org/robotstxt.html

User-agent: *
# CSS, JS, Images
Allow: /core/*.css$
Allow: /core/*.css?
Allow: /core/*.js$
Allow: /core/*.js?
Allow: /core/*.gif
Allow: /core/*.jpg
Allow: /core/*.jpeg
Allow: /core/*.png
Allow: /core/*.svg
Allow: /profiles/*.css$
Allow: /profiles/*.css?
Allow: /profiles/*.js$
Allow: /profiles/*.js?
Allow: /profiles/*.gif
Allow: /profiles/*.jpg
Allow: /profiles/*.jpeg
Allow: /profiles/*.png
Allow: /profiles/*.svg
# Directories
Disallow: /core/
Disallow: /profiles/
# Files
Disallow: /README.md
Disallow: /composer/Metapackage/README.txt
Disallow: /composer/Plugin/ProjectMessage/README.md
Disallow: /composer/Plugin/Scaffold/README.md
Disallow: /composer/Plugin/VendorHardening/README.txt
Disallow: /composer/Template/README.txt
Disallow: /modules/README.txt
Disallow: /sites/README.txt
Disallow: /themes/README.txt
Disallow: /web.config
# Paths (clean URLs)
Disallow: /admin/
Disallow: /comment/reply/
Disallow: /filter/tips
Disallow: /node/add/
Disallow: /search/
Disallow: /user/register
Disallow: /user/password
Disallow: /user/login
Disallow: /user/logout
Disallow: /media/oembed
Disallow: /*/media/oembed
# Paths (no clean URLs)
Disallow: /index.php/admin/
Disallow: /index.php/comment/reply/
Disallow: /index.php/filter/tips
Disallow: /index.php/node/add/
Disallow: /index.php/search/
Disallow: /index.php/user/password
Disallow: /index.php/user/register
Disallow: /index.php/user/login
Disallow: /index.php/user/logout
Disallow: /index.php/media/oembed
Disallow: /index.php/*/media/oembed

A
Domain Intelligence
bea.gov — via get.gov, 25 years, 10 months old, hosted on Microsoft Azure
PASS
bea.gov — via get.gov, 25 years, 10 months old, hosted on Microsoft Azure
Warning::
Domain expires in 63 days
Consider enabling auto-renewal to prevent accidental expiration.
Got: Expires Aug 25, 2026
Info::
DNSSEC is enabled
Info::
Registrar: get.gov
Warning::
Registrar lock is NOT enabled
The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.
Info::
Hosting: Microsoft Azure
Got: AS8075
Domain expiry

44 days

August 25, 2026

SSL certificate

244 days

Issued by DigiCert Inc

Domain age

25 years, 10 months

Registered December 13, 2000

DNSSEC

Enabled

Protects against DNS spoofing

Hosting

Microsoft Azure

ASN AS8075

150.171.109.145

Registrar

get.gov

Unlocked 3 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Recommended actions
  • Renew the domain or enable auto-renewal to prevent accidental expiry
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar get.gov
Created December 13, 2000 (25 years, 10 months ago)
Expires August 25, 2026 (2 months)
Last Updated August 30, 2025
Name Servers blue.foundationdns.com, blue.foundationdns.net, blue.foundationdns.org
DNSSEC Enabled
Registrant REDACTED FOR PRIVACY
Hosting
IP Address 150.171.109.145
ASN AS8075 (MICROSOFT-CORP-MSN-AS-BLOCK - Microsoft Corporation, US)
Provider Microsoft Azure
Data source: rdap (0.4s)

Consider enabling auto-renewal to prevent accidental expiration.

Why this matters

Domain expiry approaching — renew immediately and ensure auto-renew + alerting are configured.

Source: ICANN renewal policy

The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.

Why this matters

Without registrar lock, an attacker who phishes your registrar credentials can transfer the domain in minutes — total brand hijack.

Learn more

Registrar lock (clientTransferProhibited, clientUpdateProhibited, clientDeleteProhibited) requires extra verification before any transfer/update/delete. Every major registrar offers it free. Combined with 2FA on your registrar account, it's the strongest defense against domain hijacking.

Source: ICANN / domain-security best practice

A
HTTP Probe Timing
Total 456 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
43 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
3 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
10 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
335 ms
Total Time Total request time from DNS lookup through full response.
456 ms

Connection waterfall

DNS Lookup 43 ms TCP Connect 3 ms TLS Handshake 10 ms Server Processing 279 ms Content Transfer 121 ms
A+
CDN Cache Observability
Cache state: CONFIG_NOCACHE
PASS
Cache state: CONFIG_NOCACHE
Info::
CDN cache state observable via 3 header(s)
Got: age=35, x-cache=CONFIG_NOCACHE, x-cache-hits=143
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback