# Guardrails that live in your repository

AVAILABLE NOW

Install policies into your own repository: committed with the code, enforced at commit and in CI for contributors who run `chock sync`, and for agents whose hooks are set up.

Ask the user before running anything. The commands install hooks and write files in a repository.

## What each policy does in a git repository

- 35 at commit: Chock refuses the commit, locally and in CI.
- 11 in agent: The agent's hooks check this once chock sync sets them up. If the hook crashes, the action goes through.
- 25 advisory: The agent reads the text, and nothing stops a violation.

## How it works

1. Pick your policies — Answer three questions, or take a preset. The builder writes one block of commands.
2. Run the commands in your repo — They add each policy at a pinned commit and hash, wire the hooks and write files. You commit those files with your code.
3. Every clone runs one command — Git never clones hooks, so each person who clones the repository runs `chock sync --repo .` once.

## Install chock first

The commands need chock on your machine. Read the command before you run it.

```bash
pipx install chock
```

[Pick your policies](/repos/builder/index.md)

## Every policy, by what it does in a repository

Each name opens the policy's page. This page reads each tier from the catalog. A policy's grade on one agent does not change its tier.

### Checks at commit (35)

- [Agentic Code Security](/coding/policies/agentic-code-security/index.md) (`agentic-code-security`)
- [Block Destructive Commands](/coding/policies/block-destructive-commands/index.md) (`block-destructive-commands`)
- [Block Files That Skip Git Hooks](/coding/policies/block-hook-bypass-in-files/index.md) (`block-hook-bypass-in-files`)
- [Block Invisible Unicode](/coding/policies/block-invisible-unicode/index.md) (`block-invisible-unicode`)
- [Block Known-Malicious Packages](/coding/policies/compromised-package-ioc/index.md) (`compromised-package-ioc`)
- [Block Risky Characters in File and Branch Names](/coding/policies/refname-filename-metachar/index.md) (`refname-filename-metachar`)
- [Block Test Skips](/coding/policies/block-test-skips/index.md) (`block-test-skips`)
- [Block Unpinned Agent Components](/coding/policies/block-unpinned-agent-components/index.md) (`block-unpinned-agent-components`)
- [Block Unsafe Code Execution](/coding/policies/block-unsafe-code-execution/index.md) (`block-unsafe-code-execution`)
- [Block Unsafe Package Registry Settings](/coding/policies/registry-config/index.md) (`registry-config`)
- [Block Weakened Build Hardening](/coding/policies/hardening-flags/index.md) (`hardening-flags`)
- [Block Wildcard Agent Permissions](/coding/policies/block-wildcard-agent-permissions/index.md) (`block-wildcard-agent-permissions`)
- [Block Wildcard IAM Grants](/coding/policies/block-wildcard-iam/index.md) (`block-wildcard-iam`)
- [CI GitHub Actions Security](/coding/policies/ci-github-actions-security/index.md) (`ci-github-actions-security`)
- [Dependency Allowlist](/coding/policies/verify-dependency-exists/index.md) (`verify-dependency-exists`)
- [Dockerfile and Compose Security](/coding/policies/dockerfile-compose-security/index.md) (`dockerfile-compose-security`)
- [Guard Deletion and Mitigation Removal](/coding/policies/guard-deletion/index.md) (`guard-deletion`)
- [Guard Memory Writes](/coding/policies/guard-memory-writes/index.md) (`guard-memory-writes`)
- [IAM Policy Scan](/coding/policies/iam-policy-scan/index.md) (`iam-policy-scan`)
- [Java Security Rules](/coding/policies/java-security/index.md) (`java-security`)
- [Keep Accessibility From Regressing](/coding/policies/no-a11y-regression/index.md) (`no-a11y-regression`)
- [Keep Changes Small Enough to Review](/coding/policies/limit-diff-size/index.md) (`limit-diff-size`)
- [Lockfile Integrity](/coding/policies/lockfile-integrity/index.md) (`lockfile-integrity`)
- [Pin GitHub Actions](/coding/policies/pin-github-actions/index.md) (`pin-github-actions`)
- [Protect Commit Privacy](/coding/policies/protect-commit-privacy/index.md) (`protect-commit-privacy`)
- [Protect Main Branch](/coding/policies/protect-main-branch/index.md) (`protect-main-branch`)
- [Protect Test Integrity](/coding/policies/protect-test-integrity/index.md) (`protect-test-integrity`)
- [Review Added Scanner Suppressions](/coding/policies/scan-suppression-markers/index.md) (`scan-suppression-markers`)
- [Review Scripts That Run on Install](/coding/policies/package-lifecycle-scripts/index.md) (`package-lifecycle-scripts`)
- [Review Values That Look Like Secrets](/coding/policies/scan-secrets-entropy/index.md) (`scan-secrets-entropy`)
- [Scan Agent Permission Settings](/coding/policies/agent-permissions-scan/index.md) (`agent-permissions-scan`)
- [Scan Instruction Files](/coding/policies/scan-instruction-files/index.md) (`scan-instruction-files`)
- [Scan Secret Files](/coding/policies/scan-secret-files/index.md) (`scan-secret-files`)
- [Scan Secrets](/coding/policies/scan-secrets/index.md) (`scan-secrets`)
- [Verify MCP Allowlist](/coding/policies/verify-mcp-allowlist/index.md) (`verify-mcp-allowlist`)

### Checks in the agent (11)

- [Block Agents Started With Safety Off](/coding/policies/block-unguarded-agent-spawn/index.md) (`block-unguarded-agent-spawn`)
- [Block Curl Piped to Shell](/coding/policies/block-curl-pipe-sh/index.md) (`block-curl-pipe-sh`)
- [Block Persistence and Publishing Commands](/coding/policies/block-persistence-shapes/index.md) (`block-persistence-shapes`)
- [Block Reading Stored Credentials](/coding/policies/block-secret-store-reads/index.md) (`block-secret-store-reads`)
- [Block Skipping Git Hooks](/coding/policies/block-no-verify/index.md) (`block-no-verify`)
- [Block Unapproved Egress](/coding/policies/block-unapproved-egress/index.md) (`block-unapproved-egress`)
- [Protect Agent Config](/coding/policies/protect-agent-config/index.md) (`protect-agent-config`)
- [Protect CI Workflows](/coding/policies/protect-ci-workflows/index.md) (`protect-ci-workflows`)
- [Review Cloud Identity Switches](/coding/policies/ask-credential-switching/index.md) (`ask-credential-switching`)
- [Token Efficiency](/coding/policies/token-efficiency/index.md) (`token-efficiency`)
- [Use Firecrawl Only as a Fallback](/coding/policies/firecrawl-fallback-only/index.md) (`firecrawl-fallback-only`)

### Advisory (25)

- [Agent Discipline](/coding/policies/agent-discipline/index.md) (`agent-discipline`)
- [Code Safety](/coding/policies/code-safety/index.md) (`code-safety`)
- [Context Hygiene](/coding/policies/context-hygiene/index.md) (`context-hygiene`)
- [EU AI Act — High-Risk Triage](/coding/policies/eu-ai-act-high-risk-triage/index.md) (`eu-ai-act-high-risk-triage`)
- [EU AI Act — Prohibited Practices](/coding/policies/eu-ai-act-prohibited-practices/index.md) (`eu-ai-act-prohibited-practices`)
- [EU AI Act — Transparency](/coding/policies/eu-ai-act-transparency/index.md) (`eu-ai-act-transparency`)
- [Flag Dev Tools That Run Code on Open](/coding/policies/agent-devenv-autoexec/index.md) (`agent-devenv-autoexec`)
- [Flag Downloads Run as Code in Files](/coding/policies/block-fetch-exec-in-files/index.md) (`block-fetch-exec-in-files`)
- [Flag Hidden Binary Files in Tests](/coding/policies/opaque-blob-guard/index.md) (`opaque-blob-guard`)
- [Git Safety](/coding/policies/git-safety/index.md) (`git-safety`)
- [Injection Defense](/coding/policies/injection-defense/index.md) (`injection-defense`)
- [Match the Owner's Coding Style](/coding/policies/chock-mise/index.md) (`chock-mise`)
- [Memory Discipline](/coding/policies/memory-discipline/index.md) (`memory-discipline`)
- [OWASP ASI01 — Agent Goal Hijack](/coding/policies/owasp-asi01-agent-goal-hijack/index.md) (`owasp-asi01-agent-goal-hijack`)
- [OWASP ASI02 — Tool Misuse & Exploitation](/coding/policies/owasp-asi02-tool-misuse/index.md) (`owasp-asi02-tool-misuse`)
- [OWASP ASI03 — Identity & Privilege Abuse](/coding/policies/owasp-asi03-identity-privilege-abuse/index.md) (`owasp-asi03-identity-privilege-abuse`)
- [OWASP ASI04 — Agentic Supply Chain Vulnerabilities](/coding/policies/owasp-asi04-agentic-supply-chain/index.md) (`owasp-asi04-agentic-supply-chain`)
- [OWASP ASI05 — Unexpected Code Execution](/coding/policies/owasp-asi05-unexpected-code-execution/index.md) (`owasp-asi05-unexpected-code-execution`)
- [OWASP ASI06 — Memory & Context Poisoning](/coding/policies/owasp-asi06-memory-context-poisoning/index.md) (`owasp-asi06-memory-context-poisoning`)
- [OWASP ASI07 — Insecure Inter-Agent Communication](/coding/policies/owasp-asi07-insecure-inter-agent-communication/index.md) (`owasp-asi07-insecure-inter-agent-communication`)
- [OWASP ASI08 — Cascading Failures](/coding/policies/owasp-asi08-cascading-failures/index.md) (`owasp-asi08-cascading-failures`)
- [OWASP ASI09 — Human-Agent Trust Exploitation](/coding/policies/owasp-asi09-human-agent-trust/index.md) (`owasp-asi09-human-agent-trust`)
- [OWASP ASI10 — Rogue Agents](/coding/policies/owasp-asi10-rogue-agents/index.md) (`owasp-asi10-rogue-agents`)
- [Review Like a Red Team](/coding/policies/review-like-a-red-team/index.md) (`review-like-a-red-team`)
- [Scan Hidden Content](/coding/policies/scan-hidden-content/index.md) (`scan-hidden-content`)


Data: `/api/repos/policies.json` (catalog commit `1e60d211c1bb767152c6ab0167932da06ab3a10f`, each policy's version, sha256 and tier).
