01 — shield
Harden the repo in one command
Writes ignore files, Claude deny rules, and a PreToolUse hook that blocks .env / .ownlock reads.
$ ownlock shield --verify
Shield verified — agent secret reads blocked.
Sandboxes don’t inherit your shell exports — so agents can’t run real commands unless secrets somehow reach the child process. But if those secrets sit in a plaintext .env, tools can read the file straight into chat context. ownlock encrypts values at rest, injects them only into the process you run, and hardens the repo against scrapes.
01 — shield
Writes ignore files, Claude deny rules, and a PreToolUse hook that blocks .env / .ownlock reads.
$ ownlock shield --verify
Shield verified — agent secret reads blocked.
02 — run
ownlock run resolves the vault from disk and injects env into that one child — the layer your app reads from.
$ ownlock run -- python app.py
# secrets in child env; passphrase never inherited
03 — guard
Stdout redaction and an optional PostToolUse hook turn accidental log dumps into [REDACTED:NAME].
$ ownlock guard --install-hook
Installed PostToolUse guard hook.
Pick one. Works on macOS, Linux, and Windows.
uv tool install ownlock
pipx install ownlock
curl -fsSL https://raw.githubusercontent.com/thebscolaro/ownlock/main/scripts/install.sh | bash
$ ownlock init
$ ownlock shield
$ ownlock run -- your-command