- Your scratch folder
- Reports, screenshots and JSON go only where
--out, --dir or --json points. No script writes to the site, the repository or Cloudflare. - The pages you name
- Read as a visitor would, at phone and desktop widths, in Playwright’s Chromium, or in Google Chrome for the video check when it’s installed.
- Your build folder
asset-audit.mjs reads the folder you name, then sends a HEAD request, or a GET when a server refuses HEAD, for each image and font on the host you name. It never follows a redirect and never fetches another host.- The edge cache
edge-cache-check.mjs sends plain GET requests, some with the cookie values you pass, to tell a cached response from one that bypassed the cache.- Your WordPress server
server-check.php runs inside WordPress and reads PHP’s code cache, the database’s settings and counters, table sizes and the autoloaded options. It writes nothing, and prints names and sizes only: no credentials, keys or option values.- Two vendor lists
delay-exclusions.mjs reads WP Rocket’s exclusion list on GitHub and Perfmatters’ docs page each time it runs, or saved copies you pass.- The npm registry
lh.mjs runs Lighthouse 13 through npx, which fetches it on first use, unless LH_BIN points at a copy you installed.- The network
- No telemetry, no license check, no phone-home. Each selftest serves its own pages on loopback.
Plain, commented JavaScript, nothing minified into a blob. A pack that says “don’t trust a report you can’t read” has to be readable itself.