Security Report Summary
A
Site: | https://ryanparman.com/ | ||
---|---|---|---|
IP Address: | 104.21.48.1 | ||
Report Time: | 24 Aug 2025 21:55:09 UTC | ||
Headers: |
|
||
Warning: | Grade capped at A, please see warnings below. | ||
Advanced: |
|
Warnings
Content-Security-Policy | This policy contains 'unsafe-inline' which is dangerous in the script-src directive. |
---|
Raw Headers
HTTP/2 | 200 |
---|---|
date | Sun, 24 Aug 2025 21:55:09 GMT |
content-type | text/html; charset=utf-8 |
content-encoding | gzip |
cf-ray | 9746179cde0ef0ee-DUB |
cf-cache-status | DYNAMIC |
access-control-allow-origin | *, https://ryanparman.com |
age | 0 |
cache-control | max-age=600 |
expires | Sun, 24 Aug 2025 22:05:09 GMT |
last-modified | Fri, 05 Feb 2021 06:18:46 GMT |
link | <https://cdn.ryanparman.com/hugo/home/[email protected]>; rel=preload; as=image; crossorigin=anonymous; type=image/jpeg, <https://cdn.ryanparman.com/hugo/home/[email protected]>; rel=preload; as=image; crossorigin=anonymous; type=image/webp, <https://cdn.ryanparman.com/hugo/gravatars/current/[email protected]>; rel=preload; as=image; crossorigin=anonymous; type=image/jpeg, <https://cdn.ryanparman.com/hugo/js/modernizr.js.gz>; rel=preload; as=script; crossorigin=anonymous; type=text/javascript |
strict-transport-security | max-age=31536000; includeSubDomains; preload |
vary | Accept-Encoding, Origin |
via | 1.1 varnish |
accept-ch | DPR, Viewport-Width, Width |
accept-ch-lifetime | 604800 |
access-control-allow-methods | GET, OPTIONS |
content-security-policy | default-src 'self' blob: cdn.ryanparman.com; connect-src 'self' cdn.ryanparman.com embedr.flickr.com; frame-src cdn.ryanparman.com embed.music.apple.com platform.twitter.com syndication.twitter.com www.google.com www.instagram.com www.youtube.com; img-src 'self' 'unsafe-inline' data: cdn.ryanparman.com *.static.flickr.com *.staticflickr.com media.githubusercontent.com pbs.twimg.com platform.twitter.com s3.amazonaws.com stats.g.doubleclick.net syndication.twitter.com web.archive.org www.google-analytics.com www.google.com www.googletagmanager.com www.google.co.in; media-src 'self' blob: ryanparman.com cdn.ryanparman.com *.http.atlas.cdn.yimg.com s3.amazonaws.com www.flickr.com cdn.jsdelivr.net; script-src 'self' 'unsafe-inline' ajax.cloudflare.com cdn.ryanparman.com cdn.jsdelivr.net cdn.syndication.twimg.com embedr.flickr.com gist.github.com platform.twitter.com widgets.flickr.com www.google-analytics.com www.googletagmanager.com www.instagram.com; script-src-elem 'unsafe-inline' cdn.ryanparman.com ajax.cloudflare.com www.googletagmanager.com www.google-analytics.com; style-src 'self' 'unsafe-inline' cdn.ryanparman.com github.githubassets.com platform.twitter.com; font-src 'self' data: cdn.ryanparman.com; style-src-attr 'unsafe-inline'; report-uri https://ryanparman.report-uri.com/r/d/csp/wizard; upgrade-insecure-requests; block-all-mixed-content |
cross-origin-embedder-policy | require-corp |
cross-origin-opener-policy | same-origin |
cross-origin-resource-policy | same-site |
expect-staple | max-age=31536000; preload; report-uri='https://ryanparman.report-uri.com/r/d/staple/reportOnly' |
nel | {"report_to":"default","max_age":31536000,"include_subdomains":true} |
permissions-policy | document-domain=(self), fullscreen=(self), picture-in-picture=(self), sync-xhr=(self) |
referrer-policy | strict-origin-when-cross-origin |
report-to | {"group":"default","max_age":31536000,"endpoints":[{"url":"https://ryanparman.report-uri.com/a/d/g"}],"include_subdomains":true} |
timing-allow-origin | https://ryanparman.com |
tk | N |
x-cache | MISS |
x-cache-hits | 0 |
x-content-type-options | nosniff |
x-fastly-request-id | 4b7b095da3ea3386688a3a5e3fd91dbd5c53e163 |
x-frame-options | DENY |
x-github-request-id | 5F0A:898B8:4C62B:5A12C:68AB8A3C |
x-permitted-cross-domain-policies | none |
x-proxy-cache | MISS |
x-served-by | cache-dub4393-DUB |
x-timer | S1756072509.993479,VS0,VE100 |
x-xss-protection | 1; mode=block |
server-timing | cfCacheStatus;desc="DYNAMIC" |
server | cloudflare |
alt-svc | h3=":443"; ma=86400 |
server-timing | cfOrigin;dur=0,cfEdge;dur=165 |
server-timing | cfL4;desc="?proto=TCP&rtt=1124&min_rtt=937&rtt_var=636&sent=6&recv=8&lost=0&retrans=0&sent_bytes=3431&recv_bytes=1349&delivery_rate=2967213&cwnd=249&unsent_bytes=0&cid=95971eea1ce5790b&ts=176&x=0" |
Additional Information
access-control-allow-origin | The Access-Control-Allow-Origin header is used to configure CORS. |
---|---|
strict-transport-security | HTTP Strict Transport Security is an excellent feature to support on your site and strengthens your implementation of TLS by getting the User Agent to enforce the use of HTTPS. |
content-security-policy | Content Security Policy is an effective measure to protect your site from XSS attacks. By whitelisting sources of approved content, you can prevent the browser from loading malicious assets. Analyse this policy in more detail. |
cross-origin-embedder-policy | Cross-Origin Embedder Policy allows a site to prevent assets being loaded that do not grant permission to load them via CORS or CORP. |
cross-origin-opener-policy | Cross-Origin Opener Policy allows a site to opt-in to Cross-Origin Isolation in the browser. |
cross-origin-resource-policy | Cross-Origin Resource Policy allows a resource owner to specify who can load the resource. |
nel | Network Error Logging is a new header that instructs the browser to send reports during various network or application errors. You can sign up for a free account on Report URI to collect these reports. |
permissions-policy | Permissions Policy is a new header that allows a site to control which features and APIs can be used in the browser. |
referrer-policy | Referrer Policy is a new header that allows a site to control how much information the browser includes with navigations away from a document and should be set by all sites. |
report-to | Report-To enables the Reporting API. This allows a website to collect reports from the browser about various errors that may occur. |
x-content-type-options | X-Content-Type-Options stops a browser from trying to MIME-sniff the content type and forces it to stick with the declared content-type. The only valid value for this header is "X-Content-Type-Options: nosniff". |
x-frame-options | X-Frame-Options tells the browser whether you want to allow your site to be framed or not. By preventing a browser from framing your site you can defend against attacks like clickjacking. |
x-xss-protection | X-XSS-Protection sets the configuration for the XSS Auditor built into older browsers. The recommended value was "X-XSS-Protection: 1; mode=block" but you should now look at Content Security Policy instead. |
server | Server value has been changed. Typically you will see values like "Microsoft-IIS/8.0" or "nginx 1.7.2". |