> ## Documentation Index
> Fetch the complete documentation index at: https://ctrlrun-docs-assurance-case-fits.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# VerifiedApprover

> Who answered, as the surface that took the answer verified them (SPEC-v0.8 §2.5).

`ctrlrun.VerifiedApprover` — class, defined at `src/ctrlrun/approval.py:127`

```python theme={null}
from ctrlrun import VerifiedApprover
```

```python theme={null}
class VerifiedApprover
    def __init__(agent: str, user: str | None, issuer: str | None, granted_at: datetime, entitled: tuple[str, ...] = ())
```

Who answered, as the surface that took the answer verified them (SPEC-v0.8 §2.5).

**No claim value is here and none ever will be.** `v0.3 §2.4`'s rule is that evidence
carries claim *names* where values are withheld, and what an entitlement decision means is
*which control this approver satisfied*, which is what `entitled` says. A row holding the
role value would put an identity provider's payload in an evidence table for no gain.

`entitled` is filled by item 3 and is empty until then.

## Next

* [Python API index](/docs/reference/api/index).
* [Get started](/docs/get-started/quickstart) · [Why](/docs/why).
