Security Headers Lint - CSP and Dead Headers
Runs the same checker as our npm package on a Node.js runtime that pip installs for you (
nodejs-wheel-binaries) - no system Node.js needed. Your files are checked locally.
Reads security headers and CSP line by line in your config file and names the lines that silently do nothing: retired headers, keywords missing their quotes, directives the browser throws away.
Install
security-headers-csp-lint file
Node 18+. The same 28 rules as the VS Code extension, from a terminal or CI.
Free
- Check the open config against all 28 rules - every finding shown, nothing withheld; Check only the lines you highlight; See every rule and what each retired header or dropped directive actually does; Reopen the last report
--ruleslists every rule
With a licence ($29 once)
- Scan every config file in the workspace; Export the report as CSV, JSON or HTML; CI output that fails the build on errors; Add your own house policy rules; Re-check automatically on every save; Apply the safe fixes for you
security-headers-csp-lint --dir ./templates --report html --out report.html
Application security consultants doing secure code review bill roughly $120 to $275 an hour, and a security-header and CSP review is a one-to-two hour job per site.
Use from an AI agent (MCP)
Claude Code · Cursor · Windsurf · any MCP client - add to your MCP config:
{ "mcpServers": { "security-headers-csp-lint": { "command": "security-headers-csp-lint", "args": ["--mcp"] } } }
Tools: check_text and check_file (free) · check_dir (licence). The agent gets every finding with the line number.
Use in CI
- name: Security Headers Lint - CSP and Dead Headers
run: pip install rulestamp-security-headers-csp-lint && security-headers-csp-lint --dir . --ci
The folder sweep, reports and CI mode need one licence — one payment, no subscription. Set READYSTACK_LICENSE=<key> or run --license <key> once.
Install (PyPI)
pip install rulestamp-security-headers-csp-lint
security-headers-csp-lint --help
Metadata
Release files for rulestamp-security-headers-csp-lint 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| rulestamp_security_headers_csp_lint-0.1.8.tar.gz | 17.2 kB | Without provenance | Details for rulestamp_security_headers_csp_lint-0.1.8.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| rulestamp_security_headers_csp_lint-0.1.8-py3-none-any.whl | Python 3 | none | any | Details for rulestamp_security_headers_csp_lint-0.1.8-py3-none-any.whl |
Total release size: 36.3 kB
Release files / rulestamp_security_headers_csp_lint-0.1.8.tar.gz
| Download URL | rulestamp_security_headers_csp_lint-0.1.8.tar.gz |
|---|---|
| Size | 17.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
62e5aaefca14b8e5f877519f4e0c212ca3e78657e73117205440d6ffbcd4e122
|
|
BLAKE2b-256 checksum How to use checksums |
5028976f95737f03f795af07973e3eb8b4c30e38cefbcb014ce93ef641a09d61
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Release files / rulestamp_security_headers_csp_lint-0.1.8-py3-none-any.whl
| Download URL | rulestamp_security_headers_csp_lint-0.1.8-py3-none-any.whl |
|---|---|
| Size | 19.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
915982f5a3d05523fb73100bb4fd12a4fae7307e9e72df58023a5e76146ecfc5
|
|
BLAKE2b-256 checksum How to use checksums |
5f17accb6cd302eaac8a46635468f367b0239e6cc9e369e94b9dc5dfafc3a214
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.3
|
Security for rulestamp-security-headers-csp-lint 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.