Repository navigation
Conversation
* Send the Same Security Headers and Image Lifetime From Both Sites The blog block gains the HSTS, nosniff, and Referrer-Policy headers the family block already sends, with the same values. The family images take the blog's one-hour image class, replacing a week for SVGs and no-cache for the root PNG and ICO files. deploy/README.md states each remaining difference and its reason, the family-only CSP included. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Split the Family Block Sentence Under the Length Cap Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Name the CSP Allowances and Drop the Counts From the Header Prose Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Give includeSubDomains and preload Their Own Reasons Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Name Edge HSTS as the Host Side's Setting Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
* Confirm the Proxy Headers Before Calling a Run Proxied After a hostname flips to proxied, the local resolver kept answering with the origin for minutes, so a live check in that window measures the origin rather than Cloudflare. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Scope the Proxy Header Check to a Hand Run on the Checking Machine Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Ignore a Local curlrc in the Proxy Header Probe Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars.
|
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #502 +/- ##
=======================================
Coverage 49.70% 49.70%
=======================================
Files 10 10
Lines 3058 3058
=======================================
Hits 1520 1520
Misses 1538 1538
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
🟡 Changes recommended
The proxied-run preflight must validate both required headers for every configured base URL before approval.
1 open issue
What changed in this PR
This pull request promotes site security-header, caching, and proxied-run verification changes from develop to main.
Changes:
- Adds HSTS,
nosniff, andReferrer-Policyheaders to the blog site block. - Aligns family-site image caching with the one-hour policy and documents cache and security-header rationale.
- Documents Cloudflare verification requirements before manually running production URL checks.
| File | Summary | Review findings |
|---|---|---|
OPERATIONS.md |
Adds Cloudflare proxy-header verification guidance for hand-run checks. | Two [P1] moderate findings: require both valid proxy predicates, including server: cloudflare, and verify every configured base URL, including the family URL. |
deploy/README.md |
Documents security headers and cache-lifetime rationale. | One [P2] nit: clarify that the HSTS scope is excluded under the site's domain. |
deploy/Caddyfile |
Adds blog security headers and aligns family image caching. | No findings. |
Review effort: Lite
* Print a Proxied Verdict for Every Host the Check Reaches The probe printed the matching header lines and left the reader to judge them, and it named one host. It now prints proxied only when a host answers both server: cloudflare and cf-ray, and it covers the family host too. The includeSubDomains reason now says plainly that it names subdomains of the site's hostname. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Give the Probe a Failure Verdict That Does Not Contain proxied Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Use a POSIX Pipe Rather Than a Here-String in the Probe Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
|
Answering the round on 64b8793 ("the probe can accept
|

Summary
Promotes these develop changes to
main:nosniff, andReferrer-Policywith the family block's values. The family images take the blog's one-hour image class.deploy/README.md"Security headers" and "Cache lifetimes" give the reason for each difference that stays.server: cloudflareandcf-rayfrom the checking machine before calling a hand run proxied.Closes #497.
Verification
Release
5ff25e7of #499's branch is on the local staging mirror.checks/check-live-urls.shpassed there in full: 1294 URLs, with the family site included. Every response class on both sites was read for the new headers, lifetimes, and content types. #499's later commits change only documentation wording.Release
This changes the served headers, so it needs a release to VPS production and the local production mirror. After the release, the HomeAutomation-Config session re-measures both production names through the proxy, per #497.
Deferred
🤖 Generated with Claude Code