A qualifying name and challenge lead to a managed certificate, with a renewal loop and persistent state.

Caddy automates HTTPS issuance and renewal

Caddy can obtain and renew managed certificates without an operator manually implementing ACME. That removes repetitive work, not the prerequisites for issuance or the need to notice failures. A valid certificate today proves neither that the next renewal can complete nor that every TLS hop uses the same certificate. Identify the names, validation route, storage, and termination boundary first. ...

January 21, 2027 · 5 min · XB Field Notes
Build, check and stage precede a marked selection boundary, then a sampled edge check follows. Failure before selection leaves the old release; failure after selection requires explicit rollback.

Ship a static site and prove the edge agrees

Build, publish, and check delivery while keeping artifact identity, sampled observations, and rollback distinct.

August 11, 2026 · 8 min · XB Field Notes
An HTML page loads a local stylesheet and favicon. script-src none is appropriate only when no executable scripts are needed.

Security headers should describe the actual page

Start with a narrow policy, then expand it only when a documented feature needs another resource.

July 23, 2026 · 3 min · XB Field Notes
Accept-Encoding selects identity or encoded representations. The two byte-distinct variants carry different schematic strong ETags, A and B. Vary: Accept-Encoding tells shared caches to match the negotiated request field.

Compression changes the selected HTTP representation

Test compressed and uncompressed requests separately so caches and validators describe the bytes actually served.

June 29, 2026 · 2 min · XB Field Notes
Expiry evidence consists of notAfter and a chosen threshold. Separate verification asks about name, chain, and trust. SNI selects the virtual host and does not validate its certificate.

Certificate expiry is a date, not a dashboard color

Use SNI, inspect the public certificate, and alert before renewal becomes an incident.

June 10, 2026 · 2 min · XB Field Notes
An explicit publication root containing files leads to a public response. A dashed arrow warns that a symlink can reach outside the root; the root is not a sandbox.

A static server should have one obvious root

One root, one file_server, and a small header policy make a static deployment easy to inspect.

June 4, 2026 · 2 min · XB Field Notes