> For the complete documentation index, see [llms.txt](https://docs.heeler.com/mrecEO40m5D6bt7Pq5pE/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.heeler.com/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types.md).

# Guardrail Types

The checks a guardrail can enforce, and the entity model behind them.

A guardrail enforces one **type** of policy, grouped by the kind of risk it catches. Every type supports the same **Observe / Warn / Block** actions and the same [scope model](/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails.md#scope-where-each-guardrail-applies).

{% hint style="info" %}
**Ten checks across seven type pages** — Dependency (SCA) combines the vulnerability and hygiene rules on one page (and one entity), and Secrets and Agent Files each cover their two rules on one page, so the cards below show seven.
{% endhint %}

## The entity model

Under the hood each guardrail has a single **entity type**, and that determines which rules it can hold — and what it can be combined with.

| Entity       | Guardrail types                                                 | Combine multiple rules?  |
| ------------ | --------------------------------------------------------------- | ------------------------ |
| `Dependency` | Dependency Vulnerabilities + Hygiene                            | ✅ ANDed in one guardrail |
| `Code`       | Source Code (SAST), IaC Misconfiguration, Malicious Files (IOC) | ⛔ dedicated              |
| `Repository` | Secret Scanning, Repository Secrets, SLO Violations             | ⛔ dedicated              |
| `Agent File` | Agent File Static Findings, Agent File Change                   | ⛔ dedicated              |

{% hint style="info" %}
This is why you can combine *Active Exploit* + *Fix Version Available* in one guardrail, but a SAST, IaC, IOC, Secrets, SLO, or Agent Files check must stand on its own. See [Creating and Scoping a Guardrail](/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/building-guardrails/creating-and-scoping-a-guardrail.md).
{% endhint %}

{% hint style="info" %}
**Three rule types share the `Code` entity.** SAST, IaC, and IOC sit on the same entity but are separate, dedicated rule types — a SAST guardrail only matches source-code weaknesses, an IaC guardrail only matches infrastructure misconfigurations, and an IOC guardrail only matches known-malicious files, so none can fire on another's findings. To gate more than one, create one of each.
{% endhint %}

## The types

<table data-view="cards"><thead><tr><th></th><th></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td><strong>Dependency (SCA)</strong></td><td>Vulnerability + hygiene checks on the dependencies a PR changes.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/dependency-sca-guardrails.md">Dependency (SCA) Guardrails</a></td></tr><tr><td><strong>SAST</strong></td><td>New source-code findings the branch introduces.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/sast-guardrails.md">SAST Guardrails</a></td></tr><tr><td><strong>IaC</strong></td><td>Infrastructure misconfigurations the branch introduces.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/iac-guardrails.md">IaC Guardrails</a></td></tr><tr><td><strong>IOC</strong></td><td>Known-malicious files the branch introduces — exfiltration scripts, web shells, persistence implants.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/ioc-guardrails.md">IOC Guardrails</a></td></tr><tr><td><strong>Secrets</strong></td><td>Secrets committed anywhere in the PR history, or secrets anywhere in the repository's inventory.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/secrets-guardrails.md">Secrets Guardrails</a></td></tr><tr><td><strong>SLO</strong></td><td>Remediation overdue against your SLOs.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/slo-guardrails.md">SLO Guardrails</a></td></tr><tr><td><strong>Agent Files</strong></td><td>Risky or changed AI-agent files — skills, instructions, hooks, MCP config.</td><td><a href="/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types/agent-files-guardrails.md">Agent Files Guardrails</a></td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.heeler.com/mrecEO40m5D6bt7Pq5pE/prevent/pr-guardrails/guardrail-types.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
