{"description":"CSP header generator. Pass directives as query params (?default-src=self&script-src=self+cdn.example.com) or POST {\"directives\": {...}, \"report_only\": true, \"report_to\": \"name\"}. Values: space/comma-separated tokens.","example_get":"https://csp-generator-formatho.filesformatho.workers.dev/api?default-src=self&script-src=self+https://cdn.example.com&object-src=none&base-uri=self","example_post":"curl -X POST https://csp-generator-formatho.filesformatho.workers.dev/api -H 'Content-Type: application/json' -d '{\"directives\":{\"default-src\":[\"'self'\",\"https:\"],\"img-src\":\"data: blob:\"},\"report_only\":true,\"report_to\":\"csp\"}'","flags":{"report-only":"true → emit Content-Security-Policy-Report-Only","report-to":"reporting group name","report-uri":"legacy reporting endpoint URL"},"directives":["base-uri","block-all-mixed-content","child-src","connect-src","default-src","disown-opener","font-src","form-action","frame-ancestors","frame-src","img-src","manifest-src","media-src","navigate-to","object-src","plugin-types","prefetch-src","report-to","report-uri","require-trusted-types-for","sandbox","script-src","script-src-attr","script-src-elem","style-src","style-src-attr","style-src-elem","trusted-types","upgrade-insecure-requests","worker-src"],"token_forms":["'self'","'none'","'unsafe-inline'","'unsafe-eval'","'strict-dynamic'","'report-sample'","'nonce-<b64>'","'sha256|sha384|sha512-<b64>'","host (example.com, *.example.com)","scheme (https:)","host with port/path (https://example.com:8443/path)"],"full_tool":"https://formatho.com/tools/csp-generator"}