OpenRung
A free, privacy-first relay network that helps you reach the open internet. Open source and nonprofit-run.
shk finds secrets and PII in code, prompts, and documents, masks them before they reach an AI tool, and blocks risky agent actions with hooks for eight AI coding tools. Everything runs on your machine
SecurityGitHub @Kazuki-tamOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
A Rust CLI that scans for secrets, PII, and sensitive data — with native hooks for AI coding assistants to prevent leaking credentials into AI context.
Loading the full README.
Read the full README ↗shk)shk is a local-first guardrail for AI-assisted development. It helps keep secrets, PII, and risky project surfaces out of AI tool context, Git commits, generated output, and everyday local workflows. It can also encrypt .env files and inject decrypted values only when running local commands.
shk scan .
Example output:
3 findings
HIGH secret.openai_api_key src/app.ts:12 Possible OpenAI API key detected
MED pii.ja.phone config/dev.ts:5 Japanese phone number pattern detected
MED pii.en.ssn docs/test.md:8 US SSN pattern detected
Failed: findings at or above high (max high).
AI coding agents can read project files, run commands, and transform sensitive input into new files. shk adds local checks around those workflows so teams can audit, mask, or block risky content before it leaves the intended boundary.
With shk, you can:
.docx, .xlsx, .pptx), and text-layer .pdf files..docx, .xlsx, .pptx).shk mask --pseudonymize: deterministic tokens that stay consistent across files, plus an encrypted restore map for shk pseudonymize restore..env files, store private keys in the configured secret store, and run commands with decrypted values injected only at runtime.shk secrets push, as a single blob or one secret per key.shk scan on every pull request..env safety coverage.The shk Desktop app (apps/shk-desktop) provides a local GUI for project
scanning, AI-oriented masking, setup automation, and audit review. Installers
are published from GitHub Releases; macOS builds are Developer ID signed and
notarized as of desktop-v0.6.0.
The Mask screen offers two methods: Redact replaces detected secrets and
PII with [REDACTED], and Pseudonymize replaces names, email addresses,
and phone numbers with consistent codes. For CSV, TSV, and Excel files you
pick what each column holds from a preview with sample values and
auto-detected suggestions, then save the pseudonymized copy next to the
original, optionally with an encrypted restore map. It uses the same
per-project key as shk mask --pseudonymize, so codes match across the CLI
and the app.
While it is open it also raises an OS notification when a hook blocks AI activity in any of your projects.
The hooks it installs run the shk command, so the CLI is required for
real-time protection.
Node.js users can install via npm (the installed command is still shk):
npm install -g security-harness-kit
macOS and Linux releases can be installed with the bundled installer:
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/Kazuki-tam/security-harness-kit/releases/latest/download/shk-cli-installer.sh | sh
Windows releases can be installed from PowerShell:
powershell -NoProfile -ExecutionPolicy Bypass -Command "irm https://github.com/Kazuki-tam/security-harness-kit/releases/latest/download/shk-cli-installer.ps1 | iex"
The ExecutionPolicy Bypass flag applies only to that PowerShell process and does not change the user's system policy.
If downloaded PowerShell scripts are managed by your organization and still blocked, use the manual .zip install in Installation.
macOS and Linux users can also install via Homebrew:
brew install Kazuki-tam/homebrew-tap/shk
See Installation for npm, release archives, checksums, Homebrew, containers and sandboxes, source builds, and uninstall instructions.
For CI or security-sensitive environments, prefer a pinned release archive with checksum and GitHub artifact attestation verification over installing from latest. See Verified Archive Install.
Create a project policy file:
shk init
Scan the current project:
shk scan .
Output a machine-readable report:
shk scan . --json
Mask sensitive content from stdin:
shk mask < prompt.txt
Encrypt a .env file and run a command with decrypted values:
shk env encrypt .env --in-place
shk env run -- npm test
Install a Git pre-commit hook:
shk hooks install
This is the beginning of the README. Read the rest at the original. Read the full README ↗