# `PhoenixAI.Guardrails.PolicyViolation`
[🔗](https://github.com/franciscpd/phoenix-ai/blob/main/lib/phoenix_ai/guardrails/policy_violation.ex#L1)

Structured violation returned when a policy halts the pipeline.

Provides machine-readable error data so callers can distinguish
policy blocks from provider errors and take appropriate action.

# `t`

```elixir
@type t() :: %PhoenixAI.Guardrails.PolicyViolation{
  message: String.t() | nil,
  metadata: map(),
  policy: module(),
  reason: String.t()
}
```

---

*Consult [api-reference.md](api-reference.md) for complete listing*
