Privacy gate
Scan staged commits, repo trees, or files for secrets, private data, generated artifacts, and unsafe binary exports; sanitize PII in text. Use before commit, release, packaging, syncing, or sharing.From its SKILL.md
npx -y skills add zztimur/skills-to-pay-the-bills --skill privacy-gateAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
- runs commandsInstructs the agent to run 7 commands, including `python3 "<package-root>/scripts/privacy_gate.py" scan --staged` and 6 more.
SKILL.md
3.5 KB, 777 tokens by cl100k_base, as published. Nobody here has run it
Privacy Gate
Use this skill when repository content needs a privacy and secret check before commit, push, packaging, installation, or sharing.
Core Rule
Call the bundled CLI. Do not reimplement detection logic in chat or in a client-specific adapter. <package-root> below means the directory containing this SKILL.md (for example the installed skill path or a vendored privacy-gate/).
python3 "<package-root>/scripts/privacy_gate.py" scan --staged
python3 "<package-root>/scripts/privacy_gate.py" scan --path .
python3 "<package-root>/scripts/privacy_gate.py" sanitize --path FILE --write
python3 "<package-root>/scripts/privacy_gate.py" install-hook
The install-hook command writes a .githooks/pre-commit that resolves the scanner at run time (a vendored copy, an installed absolute path, or the PRIVACY_GATE_SCRIPT override), so it keeps working from any repository, not only one that vendors privacy-gate/. Pass install-hook --force to replace a foreign pre-commit hook or reassign an existing core.hooksPath. Pass install-hook --portable for a shared repo so the committed hook carries no machine-specific path; pair it with a vendored privacy-gate/ or the PRIVACY_GATE_SCRIPT override.
Bundled files: scripts/privacy_gate.py (scanner, source of truth), scripts/test_privacy_gate.py (regression tests), references/policy.md (policy).
Flags And Exit Codes
- Default
scanexits nonzero only onBLOCKfindings (high-confidence secrets);WARNfindings (PII) print but do not fail. This is the pre-commit default. --fail-on-warn(or its alias--strict) also fails onWARNfindings; use it for stricter CI gates and release checks.--jsonemits a structured report instead of text.
Allowlist reviewed false positives without disabling the gate. Two inline markers, both leaving a visible in-diff audit trail: privacy-gate: allow in a comment suppresses PII warnings on that line, but a high-confidence secret still blocks; privacy-gate: allow-secret is required to suppress a secret on that line and relies entirely on diff review. Or list glob patterns in a committed .privacygateignore to skip paths. Neither affects file-level blocks (binary, .env). See references/policy.md.
Workflow
- Run
scan --stagedbefore committing staged changes; add--strictin CI to also fail on PII warnings. - Run
scan --path .before publishing, packaging, or syncing a repo copy. - Treat
BLOCKfindings as release blockers. - Treat
WARNfindings as review items that may need redaction or manual confirmation. - Use
sanitize --path FILE --writeonly for text-file PII cleanup; review the printed preview first. - Remove and rotate credentials instead of sanitizing them.
Policy Reference
Read references/policy.md before changing detection rules, hook behavior, or sanitizer behavior. The policy distinguishes high-confidence secrets that block release from privacy-like content that should be reviewed.
Maintainer Checks
After changing this skill (not needed for normal use), run the regression tests plus the repo gatekeeper:
python3 "<package-root>/scripts/test_privacy_gate.py"
python3 -S skill-forge/scripts/inspect_skill_package.py "<package-root>" --json --strict
claude plugin validate --strict "<package-root>" # when Claude tooling is available
What ships with it: 7 files
90.6 KB alongside SKILL.md, 2 of them executable
.claude-plugin/
- plugin.json229 B
agents/
- openai.yaml228 B
commands/
- privacy-gate.md909 B
references/
- policy.md4.3 KB
scripts/
- privacy_gate.pyruns45.9 KB
- test_privacy_gate.pyruns34.3 KB
- README.md4.7 KB