Security checklist
Security headers checklist
This checklist documents the headers SimpleToolset expects on production responses and why a few stricter headers are staged carefully for browser tools that need WebAssembly, workers, ads, or optional model downloads.
Updated 2026-06-04
Configured globally
- Strict-Transport-Security is set for HTTPS enforcement without preload by default.
- X-Content-Type-Options is set to nosniff.
- Referrer-Policy is set to strict-origin-when-cross-origin.
- X-Frame-Options is set to DENY for clickjacking protection.
- Permissions-Policy disables high-risk device features that SimpleToolset does not need globally.
Configured only on tools that need isolation
Cross-Origin-Opener-Policy and Cross-Origin-Embedder-Policy stay scoped to heavy browser tools that need cross-origin isolation or SharedArrayBuffer-style execution. They are not forced globally because some third-party resources and ordinary pages do not need that stricter mode.
Staged, not globally enforced yet
- Content-Security-Policy will be rolled out in report-only mode first because PDF, AI, WebAssembly, ads, and worker tools have different loading needs.
- HSTS preload is not enabled by default; preload is a domain-level commitment and should be submitted only after all subdomains are confirmed HTTPS-only.
- CSP reporting endpoint is not enabled until reports can be collected without page content, form values, or uploaded filenames.
Verification checklist
- Confirm headers on /en/, a category page, a lightweight tool, an AI Local tool, and a cross-origin-isolated tool.
- Check that service worker, manifest, sitemap, robots.txt, llms.txt, and JSON discovery assets keep expected cache headers.
- Run a header scanner and compare findings against this page after every hosting or CDN change.
| Header | Purpose | SimpleToolset policy |
|---|---|---|
| Strict-Transport-Security | Tells browsers to use HTTPS for future requests. | Enabled without preload by default. |
| X-Content-Type-Options | Reduces MIME sniffing risk. | Enabled globally as nosniff. |
| Referrer-Policy | Limits referrer data sent to other origins. | Enabled globally as strict-origin-when-cross-origin. |
| Permissions-Policy | Restricts browser features by origin. | High-risk features disabled globally; microphone is not blocked because voice tools may request it. |
| Content-Security-Policy | Controls which resources can load. | Planned in report-only first, then enforced per route family. |