For shorter answers, see the README FAQ section.
A: Layer A (hooks) is built for Claude Code's ~/.claude/settings.json hook system specifically. Layers B and C are tool-agnostic.
PRs welcome to add adapters for other agents β see CONTRIBUTING.md.
A: Yes. Each layer is independent.
- Layer B only: copy
templates/andscripts/, ignoreclaude-code-bundle/ - Layer C only: use
scripts/protect-build.mjsdirectly, no install - Layer A: requires
install.sh(configures Claude Code)
A: Yes, but you'll need to update paths in scripts. Easier to use the default path.
A: You'll see stderr output like:
β BLOQUEIO: ...
The git command will exit with non-zero status. Claude Code (or your terminal) shows the message.
A: Recommendations:
- Weekly: for active development
- Monthly: for maintenance mode
- After major changes: when you add/remove projects from your ecosystem
The security-session-start hook does a light health-check on every session, so you don't need full audits constantly.
A: Currently no β hooks are global to Claude Code. Workaround: use SKIP_HOOKS=1 env var when working on that project.
PRs welcome to support per-project .security-config.json.
A: OpenTimestamps:
- Aggregates your hash with thousands of others into a Merkle tree
- Submits the root to Bitcoin blockchain (immutable, decentralized)
- After ~3-6h, your hash is "anchored" to a Bitcoin block β verifiable forever
Just a public SHA-256: anyone can backdate it, you control it. OpenTimestamps: independent third-party (Bitcoin) confirms when the hash existed.
A: Yes β there are public cases in the US, EU, and Brazil. It's based on standard cryptographic primitives (SHA-256 + blockchain). Disclaimer: I'm not a lawyer; consult one if you need to use it formally.
A: There are 4+ public calendar servers. The kit can be configured to use any combination. Even if all go down, your .ots file already contains the proof β you just can't get new timestamps until they recover.
A: Because it requires:
- Generating a GPG key (5 min)
- Uploading public key to keyserver (5 min)
- Securely backing up private key (1Password, paper, etc.)
- Re-signing on every key rotation
- Other parties having to verify signatures (most won't)
OpenTimestamps gives 90% of the legal value with 0% of the setup overhead. Adding GPG support is on the roadmap as opt-in.
A: Negligibly:
- 5 meta tags add ~200 bytes to HTML head
- JS injection adds ~100 bytes per .js file
- CSS comments add ~70 bytes per .css file
- Total: <500 bytes per page (sub-millisecond impact)
Search engines ignore custom meta tags they don't understand.
A: No. Everything runs locally:
- gitleaks runs locally with
--redact(secrets never leave your machine) - pii-scan is regex-based, no API calls
- OpenTimestamps sends only the SHA-256 hash (never the original content) to a public calendar server, then the Bitcoin network
No telemetry. No accounts. No tracking.
A: Stored locally in reports/ and reports/details/. The .gitignore covers them β they never get committed.
A: The marker contains:
- Date applied
- Author handle (from template)
- Templates used
- Schema version
No secrets. It's metadata, designed to be safe to commit publicly.
A: Two options:
- Adjust the hook β edit
~/.claude/scripts/<hook>.shand customize regex/allowlists - Bypass for the moment β
SKIP_HOOKS=1 git commit ...and open an issue with the false positive
A: Common causes:
- No internet
calendar.opentimestamps.orgtemporarily down (rare, retry in 5 min)- Old
opentimestampspackage:npm install -g opentimestamps@latest - Blocked by corporate firewall (try a different network)
The build still completes with watermarks + manifest β you just don't get the blockchain anchor for now. Run npx opentimestamps stamp <manifest.json> later to add it.
A: This happens if the build step regenerates HTML/JS from sources. The fix:
- Run
protect-buildAFTER your build (not before) - Or use the Vite plugin which runs in
closeBundle(after Vite finishes)
A: The workflow scans the entire history. If you have legitimate strings that look like secrets, add them to .gitleaksignore. See HOOKS.md for fingerprint format.
A: Initially built by @thidebrito for personal use, then open-sourced. PRs reviewed regularly.
A: Star the repo. Tell others. PR improvements. Currently no monetary sponsorship setup (see .github/FUNDING.yml if interested in setting one up).
A: See SECURITY.md. Don't open public issues for vulnerabilities.
A: GitHub Discussions (preferred) or [QUESTION] issue.
A: Not yet. If you want to start one, open a discussion!