Keystone consists of Markdown agent definitions, shell scripts, and documentation. It doesn't run a server or process user data directly. The main security surface is:
- Shell scripts (
hooks/,scripts/,skills/,tests/) -- these run on your machine - The install script (
scripts/install-runtime-support.sh) -- copies files to~/.claude/and patchessettings.json
If you find a security issue (e.g., a script that could leak credentials, an injection vector in a hook, or an unsafe default), please report it privately:
- Email: Open a GitHub Security Advisory at github.com/flongstaff/keystone/security/advisories
- Do not open a public issue for security vulnerabilities
I'll acknowledge reports within 48 hours and aim to ship a fix within 7 days for confirmed issues.
install-runtime-support.sh performs the following actions:
- Installs BMAD via
npx bmad-method install - Installs GSD via
npx get-shit-done-cc - Copies agent
.mdfiles to~/.claude/agents/ - Copies hook
.shfiles to~/.claude/hooks/ - Patches
~/.claude/settings.jsonto register hooks - Optionally sets up a weekly cron job for version checks
It does not:
- Run anything with elevated privileges
- Send data to external servers
- Modify files outside
~/.claude/,~/.pi/, or~/.config/opencode/
Review the script before running it. You can also install manually by copying the files yourself.
- The
post-write-check.shhook warns about hardcoded secrets but doesn't catch everything. Always review commits before pushing. - Never commit
.envfiles, credentials, or API keys. The.gitignoreexcludes common patterns, but verify. - If you're using Keystone for infrastructure work, the
it-infra-agentenforces dry-run flags and secret hygiene, but human review remains essential.