# aauth-rust remote report

Report `rust-v0.1.0-alpha.28`. Suite `aauth-conformance f415f2f8e18bebb2b4b6928d96c80d999244e72a`. Revision `v0.1.0-alpha.28`. Suite exit `0`.

Pass means the listed assertions passed. Remote mode does not grade TLS, enrollment or discovery. `not_exercised` is a scenario this transport does not run, or a conditional check that did not apply.

| Role | Execution | Pass | Fail | Error | Not exercised | Not claimed |
| --- | --- | --- | --- | --- | --- | --- |
| `authorization.federated` | passed | 0 | 0 | 0 | 0 | 0 |
| `events.agent-provider` | passed | 0 | 0 | 0 | 0 | 0 |
| `events.agent` | passed | 0 | 0 | 0 | 0 | 0 |
| `events.delivery` | passed | 0 | 0 | 0 | 0 | 0 |
| `events.subscription` | passed | 0 | 0 | 0 | 0 | 0 |
| `person-server.direct` | passed | 0 | 0 | 0 | 0 | 0 |
| `r3.issuer` | passed | 0 | 0 | 0 | 0 | 0 |
| `r3.resource` | passed | 0 | 0 | 0 | 0 | 0 |
| `resource.agent-identity` | passed | 0 | 0 | 0 | 0 | 0 |
| `sigkey.verifier` | passed | 0 | 0 | 0 | 0 | 0 |
| `supervision.person-server` | passed | 0 | 0 | 0 | 0 | 0 |
| `supervision.server` | passed | 0 | 0 | 0 | 0 | 0 |

The role reports follow.
# Four-party authorization report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721138` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [fed.person-required](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#requirement-person-token) | protocol | pass (14 pass, 0 fail, 0 error, 42 unexercised) |
| [fed.person-token](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-structure) | protocol | pass (4 pass, 0 fail, 0 error, 32 unexercised) |
| [fed.challenge](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#resource-token-structure) | protocol | pass (21 pass, 0 fail, 0 error, 63 unexercised) |
| [fed.ps-proof](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#ps-to-as-token-request) | protocol | not_exercised (0 pass, 0 fail, 0 error, 18 unexercised) |
| [fed.forwarding](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#ps-to-as-token-request) | protocol | not_exercised (0 pass, 0 fail, 0 error, 18 unexercised) |
| [fed.as-binding](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#resource-token-verification) | protocol | pass (7 pass, 0 fail, 0 error, 31 unexercised) |
| [fed.auth-token](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#auth-tokens) | protocol | pass (4 pass, 0 fail, 0 error, 20 unexercised) |
| [fed.delivery](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#auth-token-delivery) | protocol | pass (4 pass, 0 fail, 0 error, 45 unexercised) |
| [fed.application](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#fig-federated) | adapter-contract | pass (8 pass, 0 fail, 0 error, 9 unexercised) |
| [budget.four-party-grant](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#as-token-endpoint) | protocol | not_exercised (0 pass, 0 fail, 0 error, 10 unexercised) |
| [budget.four-party-omission](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#as-token-endpoint) | protocol | not_exercised (0 pass, 0 fail, 0 error, 4 unexercised) |
| [budget.hard-cap](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#overshoot) | protocol | not_exercised (0 pass, 0 fail, 0 error, 15 unexercised) |
| [budget.header](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#aauth-budget-header) | protocol | not_exercised (0 pass, 0 fail, 0 error, 6 unexercised) |
| [budget.trailer](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#trailer-rules) | protocol | not_exercised (0 pass, 0 fail, 0 error, 3 unexercised) |
| [budget.usage](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#usage-response) | protocol | not_exercised (0 pass, 0 fail, 0 error, 12 unexercised) |
| [budget.usage-request](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#usage-request) | protocol | not_exercised (0 pass, 0 fail, 0 error, 3 unexercised) |
| [budget.consumption](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-budgets.md#budget-consumed) | protocol | not_exercised (0 pass, 0 fail, 0 error, 5 unexercised) |

## Assertion evidence

### aauth-rust

- `federated-none/initial-status-0` — `fed.person-required`: **pass**
- `federated-none/initial-sfv-token-1` — `fed.person-required`: **pass**
- `federated-none/person-status-2` — `fed.person-token`: **pass**
- `federated-none/person-ps-jwt-3` — `fed.person-token`: **pass**
- `federated-none/challenge-status-4` — `fed.challenge`: **pass**
- `federated-none/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `federated-none/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `federated-none/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-none/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-none/access-status-9` — `fed.auth-token`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-none/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-none/token-status-11` — `fed.delivery`: **pass**
- `federated-none/token-ps-jwt-12` — `fed.delivery`: **pass**
- `federated-none/protected-status-13` — `fed.application`: **pass**
- `federated-none/protected-json-member-14` — `fed.application`: **pass**
- `federated-short-agent/initial-status-0` — `fed.person-required`: **pass**
- `federated-short-agent/initial-sfv-token-1` — `fed.person-required`: **pass**
- `federated-short-agent/person-status-2` — `fed.person-token`: **pass**
- `federated-short-agent/person-ps-jwt-3` — `fed.person-token`: **pass**
- `federated-short-agent/challenge-status-4` — `fed.challenge`: **pass**
- `federated-short-agent/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `federated-short-agent/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `federated-short-agent/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-short-agent/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-short-agent/access-status-9` — `fed.auth-token`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-short-agent/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: the Person Server's request to the Access Server is not observable remotely
- `federated-short-agent/token-status-11` — `fed.delivery`: **pass**
- `federated-short-agent/token-ps-jwt-12` — `fed.delivery`: **pass**
- `federated-short-agent/protected-status-13` — `fed.application`: **pass**
- `federated-short-agent/protected-json-member-14` — `fed.application`: **pass**
- `federated-as-proof/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-proof/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-body/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/access-json-member-11` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-aud/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/access-json-member-11` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-jti/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/access-json-member-11` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-ps/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/access-json-member-11` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-resource-key/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/access-status-9` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/access-json-member-11` — `fed.as-binding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-presented-expired/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-signature/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-iss/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-aud/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-key/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-sub/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-scope/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-exp/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/access-status-9` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/access-ps-jwt-10` — `fed.auth-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/token-ps-no-token-11` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/token-status-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-grant-ps/token-json-member-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/initial-status-0` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/person-status-2` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/person-ps-jwt-3` — `fed.person-token`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/challenge-status-4` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/handoff-fed-ps-proof-7` — `fed.ps-proof`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/handoff-fed-forwarded-8` — `fed.forwarding`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/access-status-9` — `fed.application`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/access-ps-no-token-10` — `fed.application`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/access-json-member-11` — `fed.application`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/token-ps-no-token-12` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/token-status-13` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `federated-as-denial/token-json-member-14` — `fed.delivery`: **not_exercised**: injects a fault between the Person Server and the Access Server
- `fixture-ps-none/initial-status-0` — `fed.person-required`: **pass**
- `fixture-ps-none/initial-sfv-token-1` — `fed.person-required`: **pass**
- `fixture-ps-none/challenge-status-4` — `fed.challenge`: **pass**
- `fixture-ps-none/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `fixture-ps-none/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `fixture-ps-none/access-status-9` — `fed.auth-token`: **pass**
- `fixture-ps-none/access-ps-jwt-10` — `fed.auth-token`: **pass**
- `fixture-ps-none/protected-status-13` — `fed.application`: **pass**
- `fixture-ps-none/protected-json-member-14` — `fed.application`: **pass**
- `fixture-ps-short-agent/initial-status-0` — `fed.person-required`: **pass**
- `fixture-ps-short-agent/initial-sfv-token-1` — `fed.person-required`: **pass**
- `fixture-ps-short-agent/challenge-status-4` — `fed.challenge`: **pass**
- `fixture-ps-short-agent/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `fixture-ps-short-agent/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `fixture-ps-short-agent/access-status-9` — `fed.auth-token`: **pass**
- `fixture-ps-short-agent/access-ps-jwt-10` — `fed.auth-token`: **pass**
- `fixture-ps-short-agent/protected-status-13` — `fed.application`: **pass**
- `fixture-ps-short-agent/protected-json-member-14` — `fed.application`: **pass**
- `fixture-ps-as-proof/initial-status-0` — `fed.person-required`: **pass**
- `fixture-ps-as-proof/initial-sfv-token-1` — `fed.person-required`: **pass**
- `fixture-ps-as-proof/challenge-status-4` — `fed.challenge`: **pass**
- `fixture-ps-as-proof/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `fixture-ps-as-proof/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `fixture-ps-as-proof/access-status-9` — `fed.as-binding`: **pass**
- `fixture-ps-as-proof/access-ps-no-token-10` — `fed.as-binding`: **pass**
- `fixture-ps-as-body/initial-status-0` — `fed.person-required`: **pass**
- `fixture-ps-as-body/initial-sfv-token-1` — `fed.person-required`: **pass**
- `fixture-ps-as-body/challenge-status-4` — `fed.challenge`: **pass**
- `fixture-ps-as-body/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `fixture-ps-as-body/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `fixture-ps-as-body/access-status-9` — `fed.as-binding`: **pass**
- `fixture-ps-as-body/access-ps-no-token-10` — `fed.as-binding`: **pass**
- `fixture-ps-as-resource-aud/initial-status-0` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/challenge-status-4` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/access-status-9` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-aud/access-json-member-11` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/initial-status-0` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/challenge-status-4` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/access-status-9` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-jti/access-json-member-11` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/initial-status-0` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/challenge-status-4` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/access-status-9` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-ps/access-json-member-11` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/initial-status-0` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/challenge-status-4` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/access-status-9` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/access-ps-no-token-10` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-resource-key/access-json-member-11` — `fed.as-binding`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-presented-expired/initial-status-0` — `fed.person-required`: **pass**
- `fixture-ps-as-presented-expired/initial-sfv-token-1` — `fed.person-required`: **pass**
- `fixture-ps-as-presented-expired/challenge-status-4` — `fed.challenge`: **pass**
- `fixture-ps-as-presented-expired/challenge-sfv-token-5` — `fed.challenge`: **pass**
- `fixture-ps-as-presented-expired/challenge-fed-challenge-6` — `fed.challenge`: **pass**
- `fixture-ps-as-presented-expired/access-status-9` — `fed.as-binding`: **pass**
- `fixture-ps-as-presented-expired/access-ps-no-token-10` — `fed.as-binding`: **pass**
- `fixture-ps-as-presented-expired/access-json-member-11` — `fed.as-binding`: **pass**
- `fixture-ps-as-denial/initial-status-0` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/initial-sfv-token-1` — `fed.person-required`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/challenge-status-4` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/challenge-sfv-token-5` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/challenge-fed-challenge-6` — `fed.challenge`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/access-status-9` — `fed.application`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/access-ps-no-token-10` — `fed.application`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `fixture-ps-as-denial/access-json-member-11` — `fed.application`: **not_exercised**: re-signs the Resource's challenge, which needs the Resource's private key
- `budget-four-party-grant/challenge-status` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/challenge-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/access-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/token-status` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/token-jwt` — `fed.delivery`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/token-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/protected-status` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/protected-subject` — `fed.application`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/protected-cost` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-grant/protected-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/challenge-status` — `budget.four-party-omission`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/challenge-budget` — `budget.four-party-omission`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/access-status` — `budget.four-party-omission`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/access-budget` — `budget.four-party-omission`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/protected-status` — `fed.application`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-four-party-omission/protected-subject` — `fed.application`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/challenge-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/access-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/protected-status` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/protected-cost` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/protected-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/step-up-status` — `budget.consumption`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/step-up-budget` — `budget.consumption`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/step-up-consumed` — `budget.consumption`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/step-up-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/other-status` — `budget.consumption`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-consumption/other-consumed` — `budget.consumption`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/access-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-status` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-remaining` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-hold` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-no-cost` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-trailer-cost` — `budget.trailer`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-trailer-no-remaining` — `budget.trailer`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/reserved-trailer-no-hold` — `budget.trailer`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/following-remaining` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-header/following-hold` — `budget.header`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/protected-status` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/protected-cost` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/usage-status` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/usage-audience` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/usage-unit` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/usage-decimals` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/usage-all-time` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/unknown-status` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/unknown-omits-usage` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/unknown-unit` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/no-ps-status` — `budget.usage-request`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/no-ps-error` — `budget.usage-request`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/two-keys-status` — `budget.usage-request`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/jkts-status` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-usage/jkts-omitted` — `budget.usage`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/protected-status` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/protected-cost` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/protected-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/second-token-status` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/second-token-budget` — `budget.four-party-grant`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/second-protected-status` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/second-protected-cost` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/second-protected-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/refusal-status` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers
- `budget-hard-cap/refusal-remaining` — `budget.hard-cap`: **not_exercised**: uses the launcher's fixed budget paths and X-Fixture cost headers

# `events.agent-provider` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721139` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [events.ap.metadata](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-metadata) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.subscribe-token](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#structure) | protocol | pass (5 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.validation](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.typ](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.cnf-absent](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.same-key](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.body-s256](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (6 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.coverage](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#request) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.unknown-eid](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.resource-match](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#subscribe-token-scope) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.audience](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.max-uses](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#structure) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.remaining-uses](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.accepted](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-validation) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.expired-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.jwt-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.input-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.signature-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.unknown-key](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#self-issued-jwt-self-jwt) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.control](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#protocol-overview) | adapter-contract | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.problem-type](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#response-body) | protocol | pass (11 pass, 0 fail, 0 error, 0 unexercised) |
| [events.ap.unchanged](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#ap-to-agent) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `events-ap-delivery-with-body/metadata-status` — `events.ap.metadata`: **pass**
- `events-ap-delivery-with-body/event-endpoint` — `events.ap.metadata`: **pass**
- `events-ap-delivery-with-body/subscribe-control` — `events.ap.control`: **pass**
- `events-ap-delivery-with-body/subscribe-token` — `events.ap.subscribe-token`: **pass**
- `events-ap-delivery-with-body/accepted` — `events.ap.accepted`: **pass**
- `events-ap-delivery-without-body/subscribe-token` — `events.ap.subscribe-token`: **pass**
- `events-ap-delivery-without-body/accepted` — `events.ap.accepted`: **pass**
- `events-ap-max-uses/subscribe-token` — `events.ap.subscribe-token`: **pass**
- `events-ap-max-uses/first-accepted` — `events.ap.accepted`: **pass**
- `events-ap-max-uses/first-remaining` — `events.ap.remaining-uses`: **pass**
- `events-ap-max-uses/second-accepted` — `events.ap.accepted`: **pass**
- `events-ap-max-uses/second-remaining` — `events.ap.remaining-uses`: **pass**
- `events-ap-max-uses/third-refused` — `events.ap.max-uses`: **pass**
- `events-ap-max-uses/pending-unchanged` — `events.ap.unchanged`: **pass**
- `events-ap-body-mismatch/status` — `events.ap.body-s256`: **pass**
- `events-ap-body-mismatch/error` — `events.ap.body-s256`: **pass**
- `events-ap-body-mismatch/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-body-mismatch/pending-unchanged` — `events.ap.unchanged`: **pass**
- `events-ap-body-without-digest/status` — `events.ap.body-s256`: **pass**
- `events-ap-body-without-digest/error` — `events.ap.body-s256`: **pass**
- `events-ap-body-without-digest/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-digest-without-body/status` — `events.ap.body-s256`: **pass**
- `events-ap-digest-without-body/error` — `events.ap.body-s256`: **pass**
- `events-ap-digest-without-body/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-cnf/status` — `events.ap.cnf-absent`: **pass**
- `events-ap-cnf/error` — `events.ap.validation`: **pass**
- `events-ap-expired/status` — `events.ap.validation`: **pass**
- `events-ap-expired/error` — `events.ap.expired-code`: **pass**
- `events-ap-expired/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-wrong-typ/status` — `events.ap.typ`: **pass**
- `events-ap-wrong-typ/error` — `events.ap.jwt-code`: **pass**
- `events-ap-wrong-typ/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-uncovered-content-digest/status` — `events.ap.coverage`: **pass**
- `events-ap-uncovered-content-digest/error` — `events.ap.input-code`: **pass**
- `events-ap-uncovered-content-digest/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-uncovered-content-type/status` — `events.ap.coverage`: **pass**
- `events-ap-uncovered-content-type/error` — `events.ap.input-code`: **pass**
- `events-ap-uncovered-content-type/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-proof-key/status` — `events.ap.same-key`: **pass**
- `events-ap-proof-key/error` — `events.ap.signature-code`: **pass**
- `events-ap-proof-key/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-unknown-kid/status` — `events.ap.validation`: **pass**
- `events-ap-unknown-kid/error` — `events.ap.unknown-key`: **pass**
- `events-ap-unknown-kid/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-unknown-eid/subscribe-token` — `events.ap.subscribe-token`: **pass**
- `events-ap-unknown-eid/not-found` — `events.ap.unknown-eid`: **pass**
- `events-ap-other-resource/subscribe-token` — `events.ap.subscribe-token`: **pass**
- `events-ap-other-resource/forbidden` — `events.ap.resource-match`: **pass**
- `events-ap-wrong-aud/status` — `events.ap.audience`: **pass**
- `events-ap-wrong-aud/error` — `events.ap.audience`: **pass**
- `events-ap-wrong-aud/problem-type` — `events.ap.problem-type`: **pass**
- `events-ap-bad-signature/status` — `events.ap.validation`: **pass**
- `events-ap-bad-signature/error` — `events.ap.jwt-code`: **pass**
- `events-ap-bad-signature/problem-type` — `events.ap.problem-type`: **pass**

# `events.agent` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721139` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [events.agent.verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#agent-verification) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.agent.exp](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#agent-verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.agent.aud](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#agent-verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.agent.body](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#agent-verification) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.agent.accepts](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#agent-verification) | adapter-contract | pass (2 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `events-agent-valid-body/accepted` — `events.agent.accepts`: **pass**
- `events-agent-valid-no-body/accepted` — `events.agent.accepts`: **pass**
- `events-agent-aud-case/accepted` — `events.agent.aud`: **pass**
- `events-agent-aud-other/accepted` — `events.agent.aud`: **pass**
- `events-agent-expired/accepted` — `events.agent.exp`: **pass**
- `events-agent-body-mismatch/accepted` — `events.agent.body`: **pass**
- `events-agent-body-without-digest/accepted` — `events.agent.body`: **pass**
- `events-agent-digest-without-body/accepted` — `events.agent.body`: **pass**
- `events-agent-wrong-typ/accepted` — `events.agent.verification`: **pass**
- `events-agent-wrong-dwk/accepted` — `events.agent.verification`: **pass**
- `events-agent-bad-signature/accepted` — `events.agent.verification`: **pass**

# `events.delivery` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721139` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [events.delivery.self-jwt](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#event-delivery) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.eid](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#event-token) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.cnf-absent](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#event-token) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.body-s256](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#event-token) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.coverage](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#request) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.proof](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#self-issued-jwt-self-jwt) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.registered](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#public-subscriptions) | adapter-contract | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.delivery.fired](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#event-delivery) | adapter-contract | pass (2 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `events-delivery-native-resource/registered` — `events.delivery.registered`: **pass**
- `events-delivery-native-resource/fired-1` — `events.delivery.fired`: **pass**
- `events-delivery-native-resource/self-jwt-1` — `events.delivery.self-jwt`: **pass**
- `events-delivery-native-resource/eid-1` — `events.delivery.eid`: **pass**
- `events-delivery-native-resource/cnf-absent-1` — `events.delivery.cnf-absent`: **pass**
- `events-delivery-native-resource/body-s256-1` — `events.delivery.body-s256`: **pass**
- `events-delivery-native-resource/coverage-1` — `events.delivery.coverage`: **pass**
- `events-delivery-native-resource/proof-1` — `events.delivery.proof`: **pass**
- `events-delivery-native-resource/fired-2` — `events.delivery.fired`: **pass**
- `events-delivery-native-resource/self-jwt-2` — `events.delivery.self-jwt`: **pass**
- `events-delivery-native-resource/eid-2` — `events.delivery.eid`: **pass**
- `events-delivery-native-resource/cnf-absent-2` — `events.delivery.cnf-absent`: **pass**
- `events-delivery-native-resource/body-s256-2` — `events.delivery.body-s256`: **pass**
- `events-delivery-native-resource/coverage-2` — `events.delivery.coverage`: **pass**
- `events-delivery-native-resource/proof-2` — `events.delivery.proof`: **pass**

# `events.subscription` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721139` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [events.sub.verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#verification) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.aud](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#structure) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.exp](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#structure) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.typ-dwk](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.cnf](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.eid](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.expired-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.jwt-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.signature-code](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.ticket-bound](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#pre-authorized-subscription-url-security) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.ticket-single-use](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#pre-authorized-subscription-url-security) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.registered](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#subscription-registration) | adapter-contract | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.ticket-issued](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-events.md#protected-subscriptions) | adapter-contract | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [events.sub.problem-type](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#response-body) | protocol | pass (5 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `events-sub-valid/registered` — `events.sub.registered`: **pass**
- `events-sub-expired/status` — `events.sub.exp`: **pass**
- `events-sub-expired/error` — `events.sub.expired-code`: **pass**
- `events-sub-expired/problem-type` — `events.sub.problem-type`: **pass**
- `events-sub-wrong-aud/status` — `events.sub.aud`: **pass**
- `events-sub-wrong-aud/error` — `events.sub.verification`: **pass**
- `events-sub-wrong-typ/status` — `events.sub.typ-dwk`: **pass**
- `events-sub-wrong-typ/error` — `events.sub.jwt-code`: **pass**
- `events-sub-wrong-typ/problem-type` — `events.sub.problem-type`: **pass**
- `events-sub-wrong-dwk/status` — `events.sub.typ-dwk`: **pass**
- `events-sub-wrong-dwk/error` — `events.sub.jwt-code`: **pass**
- `events-sub-wrong-dwk/problem-type` — `events.sub.problem-type`: **pass**
- `events-sub-empty-eid/status` — `events.sub.eid`: **pass**
- `events-sub-empty-eid/error` — `events.sub.verification`: **pass**
- `events-sub-cnf-mismatch/status` — `events.sub.cnf`: **pass**
- `events-sub-cnf-mismatch/error` — `events.sub.signature-code`: **pass**
- `events-sub-cnf-mismatch/problem-type` — `events.sub.problem-type`: **pass**
- `events-sub-bad-signature/status` — `events.sub.verification`: **pass**
- `events-sub-bad-signature/error` — `events.sub.jwt-code`: **pass**
- `events-sub-bad-signature/problem-type` — `events.sub.problem-type`: **pass**
- `events-sub-ticket-bound/ticket-issued` — `events.sub.ticket-issued`: **pass**
- `events-sub-ticket-bound/registered` — `events.sub.ticket-bound`: **pass**
- `events-sub-ticket-other-key/ticket-issued` — `events.sub.ticket-issued`: **pass**
- `events-sub-ticket-other-key/refused` — `events.sub.ticket-bound`: **pass**
- `events-sub-ticket-reused/ticket-issued` — `events.sub.ticket-issued`: **pass**
- `events-sub-ticket-reused/first-registered` — `events.sub.ticket-bound`: **pass**
- `events-sub-ticket-reused/refused` — `events.sub.ticket-single-use`: **pass**

# Person Server direct authorization report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721138` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [ps.person-endpoint](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-endpoint) | protocol | pass (9 pass, 0 fail, 0 error, 1 unexercised) |
| [ps.person-structure](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-structure) | protocol | pass (18 pass, 0 fail, 0 error, 2 unexercised) |
| [ps.person-lifetime](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-structure) | protocol | pass (9 pass, 0 fail, 0 error, 1 unexercised) |
| [ps.person-no-authorization](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-structure) | protocol | pass (9 pass, 0 fail, 0 error, 1 unexercised) |
| [ps.auth-endpoint](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#ps-token-endpoint) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.resource-verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#resource-token-verification) | protocol | pass (15 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.auth-structure](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#auth-tokens) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.auth-lifetime](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#auth-tokens) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.common-verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#common-verification) | protocol | pass (11 pass, 0 fail, 0 error, 1 unexercised) |
| [ps.errors](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#token-endpoint-error-codes) | protocol | pass (3 pass, 0 fail, 0 error, 3 unexercised) |
| [ps.proof-verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.body-integrity](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#covered-components) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.host-scope-policy](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#ps-token-endpoint) | adapter-contract | pass (5 pass, 0 fail, 0 error, 0 unexercised) |
| [ps.host-person-profile](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#person-token-structure) | adapter-contract | pass (9 pass, 0 fail, 0 error, 1 unexercised) |

## Assertion evidence

### aauth-rust

- `ps-valid/person-status` — `ps.person-endpoint`: **pass**
- `ps-valid/person-signature` — `ps.common-verification`: **pass**
- `ps-valid/person-identity` — `ps.person-structure`: **pass**
- `ps-valid/person-key` — `ps.person-structure`: **pass**
- `ps-valid/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-valid/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-valid/auth-status` — `ps.auth-endpoint`: **pass**
- `ps-valid/auth-signature` — `ps.common-verification`: **pass**
- `ps-valid/auth-identity` — `ps.auth-structure`: **pass**
- `ps-valid/auth-key` — `ps.auth-structure`: **pass**
- `ps-valid/auth-lifetime` — `ps.auth-lifetime`: **pass**
- `ps-valid/auth-authorization` — `ps.host-scope-policy`: **pass**
- `ps-valid/configured-person` — `ps.host-person-profile`: **pass**
- `ps-proof-tamper/refusal` — `ps.proof-verification`: **pass**
- `ps-proof-tamper/signature-error` — `ps.proof-verification`: **pass**
- `ps-body-tamper/refusal` — `ps.body-integrity`: **pass**
- `ps-wrong-audience/person-status` — `ps.person-endpoint`: **pass**
- `ps-wrong-audience/person-signature` — `ps.common-verification`: **pass**
- `ps-wrong-audience/person-identity` — `ps.person-structure`: **pass**
- `ps-wrong-audience/person-key` — `ps.person-structure`: **pass**
- `ps-wrong-audience/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-wrong-audience/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-wrong-audience/token-refusal` — `ps.resource-verification`: **pass**
- `ps-wrong-audience/token-error` — `ps.resource-verification`: **pass**
- `ps-wrong-audience/configured-person` — `ps.host-person-profile`: **pass**
- `ps-wrong-audience/no-issued-token` — `ps.resource-verification`: **pass**
- `ps-wrong-key/person-status` — `ps.person-endpoint`: **pass**
- `ps-wrong-key/person-signature` — `ps.common-verification`: **pass**
- `ps-wrong-key/person-identity` — `ps.person-structure`: **pass**
- `ps-wrong-key/person-key` — `ps.person-structure`: **pass**
- `ps-wrong-key/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-wrong-key/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-wrong-key/token-refusal` — `ps.resource-verification`: **pass**
- `ps-wrong-key/token-error` — `ps.resource-verification`: **pass**
- `ps-wrong-key/configured-person` — `ps.host-person-profile`: **pass**
- `ps-wrong-key/no-issued-token` — `ps.resource-verification`: **pass**
- `ps-wrong-person/person-status` — `ps.person-endpoint`: **pass**
- `ps-wrong-person/person-signature` — `ps.common-verification`: **pass**
- `ps-wrong-person/person-identity` — `ps.person-structure`: **pass**
- `ps-wrong-person/person-key` — `ps.person-structure`: **pass**
- `ps-wrong-person/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-wrong-person/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-wrong-person/token-refusal` — `ps.resource-verification`: **pass**
- `ps-wrong-person/token-error` — `ps.resource-verification`: **pass**
- `ps-wrong-person/configured-person` — `ps.host-person-profile`: **pass**
- `ps-wrong-person/no-issued-token` — `ps.resource-verification`: **pass**
- `ps-wrong-lineage/person-status` — `ps.person-endpoint`: **pass**
- `ps-wrong-lineage/person-signature` — `ps.common-verification`: **pass**
- `ps-wrong-lineage/person-identity` — `ps.person-structure`: **pass**
- `ps-wrong-lineage/person-key` — `ps.person-structure`: **pass**
- `ps-wrong-lineage/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-wrong-lineage/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-wrong-lineage/token-refusal` — `ps.resource-verification`: **pass**
- `ps-wrong-lineage/token-error` — `ps.resource-verification`: **pass**
- `ps-wrong-lineage/configured-person` — `ps.host-person-profile`: **pass**
- `ps-wrong-lineage/no-issued-token` — `ps.resource-verification`: **pass**
- `ps-wrong-ps/person-status` — `ps.person-endpoint`: **pass**
- `ps-wrong-ps/person-signature` — `ps.common-verification`: **pass**
- `ps-wrong-ps/person-identity` — `ps.person-structure`: **pass**
- `ps-wrong-ps/person-key` — `ps.person-structure`: **pass**
- `ps-wrong-ps/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-wrong-ps/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-wrong-ps/token-refusal` — `ps.resource-verification`: **pass**
- `ps-wrong-ps/token-error` — `ps.resource-verification`: **pass**
- `ps-wrong-ps/configured-person` — `ps.host-person-profile`: **pass**
- `ps-wrong-ps/no-issued-token` — `ps.resource-verification`: **pass**
- `ps-expired-resource/person-status` — `ps.person-endpoint`: **pass**
- `ps-expired-resource/person-signature` — `ps.common-verification`: **pass**
- `ps-expired-resource/person-identity` — `ps.person-structure`: **pass**
- `ps-expired-resource/person-key` — `ps.person-structure`: **pass**
- `ps-expired-resource/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-expired-resource/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-expired-resource/token-refusal` — `ps.errors`: **pass**
- `ps-expired-resource/token-error` — `ps.errors`: **pass**
- `ps-expired-resource/configured-person` — `ps.host-person-profile`: **pass**
- `ps-expired-resource/no-issued-token` — `ps.errors`: **pass**
- `ps-expired-presented/person-status` — `ps.person-endpoint`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/person-signature` — `ps.common-verification`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/person-identity` — `ps.person-structure`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/person-key` — `ps.person-structure`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/person-lifetime` — `ps.person-lifetime`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/person-authorization` — `ps.person-no-authorization`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/token-refusal` — `ps.errors`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/token-error` — `ps.errors`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/configured-person` — `ps.host-person-profile`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-expired-presented/no-issued-token` — `ps.errors`: **not_exercised**: re-signs the Person Server's own token, which needs its private key
- `ps-denied-scope/person-status` — `ps.person-endpoint`: **pass**
- `ps-denied-scope/person-signature` — `ps.common-verification`: **pass**
- `ps-denied-scope/person-identity` — `ps.person-structure`: **pass**
- `ps-denied-scope/person-key` — `ps.person-structure`: **pass**
- `ps-denied-scope/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-denied-scope/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-denied-scope/token-refusal` — `ps.host-scope-policy`: **pass**
- `ps-denied-scope/token-error` — `ps.host-scope-policy`: **pass**
- `ps-denied-scope/configured-person` — `ps.host-person-profile`: **pass**
- `ps-denied-scope/no-issued-token` — `ps.host-scope-policy`: **pass**
- `ps-short-parent/person-status` — `ps.person-endpoint`: **pass**
- `ps-short-parent/person-signature` — `ps.common-verification`: **pass**
- `ps-short-parent/person-identity` — `ps.person-structure`: **pass**
- `ps-short-parent/person-key` — `ps.person-structure`: **pass**
- `ps-short-parent/person-lifetime` — `ps.person-lifetime`: **pass**
- `ps-short-parent/person-authorization` — `ps.person-no-authorization`: **pass**
- `ps-short-parent/auth-status` — `ps.auth-endpoint`: **pass**
- `ps-short-parent/auth-signature` — `ps.common-verification`: **pass**
- `ps-short-parent/auth-identity` — `ps.auth-structure`: **pass**
- `ps-short-parent/auth-key` — `ps.auth-structure`: **pass**
- `ps-short-parent/auth-lifetime` — `ps.auth-lifetime`: **pass**
- `ps-short-parent/auth-authorization` — `ps.host-scope-policy`: **pass**
- `ps-short-parent/configured-person` — `ps.host-person-profile`: **pass**

# `r3.issuer` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721139` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [r3.issuer.fetch](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#issuer-processing) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.issuer.fetch-signature](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#r3-document-access-restriction) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.issuer.hash-mismatch](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#issuer-processing) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.issuer.hash-verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#hash-verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.issuer.auth-claims](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#auth-token-extensions) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.issuer.scope-and-r3](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#resource-token-extensions) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `r3-issuer-class/fetched` — `r3.issuer.fetch`: **pass**
- `r3-issuer-class/fetch-proof` — `r3.issuer.fetch-signature`: **pass**
- `r3-issuer-class/auth-token` — `r3.issuer.auth-claims`: **pass**
- `r3-issuer-hash-mismatch/fetched` — `r3.issuer.fetch`: **pass**
- `r3-issuer-hash-mismatch/refused` — `r3.issuer.hash-mismatch`: **pass**
- `r3-issuer-hash-mismatch/no-auth-token` — `r3.issuer.hash-mismatch`: **pass**
- `r3-issuer-document-missing/fetched` — `r3.issuer.fetch`: **pass**
- `r3-issuer-document-missing/no-auth-token` — `r3.issuer.hash-verification`: **pass**
- `r3-issuer-scope-and-r3/auth-token` — `r3.issuer.auth-claims`: **pass**
- `r3-issuer-scope-and-r3/scope` — `r3.issuer.scope-and-r3`: **pass**

# `r3.resource` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721140` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [r3.resource.metadata-vocabularies](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#resource-metadata-extensions) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.token-claims](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#resource-token-extensions) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.document-signature](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#r3-document) | protocol | pass (6 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.document-entitlement](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#r3-document-access-restriction) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.content-addressing](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#content-addressing) | protocol | pass (6 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.document-fields](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#fields) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.composition](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#operations-spanning-definitions) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.operation-validation](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#operation-validation) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.grant-enforcement](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#grant-enforcement) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.granted-served](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#resource-enforcement) | adapter-contract | pass (5 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.document-signature-error](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.per-call-requirement](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#grant-enforcement) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.proposal-fields](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#proposal-document) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.per-call-parameters](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#per-call-flow) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [r3.resource.per-call-single-use](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-r3.md#per-call-flow) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `r3-resource-class/vocabularies` — `r3.resource.metadata-vocabularies`: **pass**
- `r3-resource-class/resource-token` — `r3.resource.token-claims`: **pass**
- `r3-resource-class/as-fetch-status` — `r3.resource.content-addressing`: **pass**
- `r3-resource-class/as-fetch-digest` — `r3.resource.content-addressing`: **pass**
- `r3-resource-class/as-fetch-fields` — `r3.resource.document-fields`: **pass**
- `r3-resource-class/as-fetch-covers` — `r3.resource.composition`: **pass**
- `r3-resource-class/as-refetch-digest` — `r3.resource.content-addressing`: **pass**
- `r3-resource-class/ps-fetch-digest` — `r3.resource.content-addressing`: **pass**
- `r3-resource-class/granted-served` — `r3.resource.granted-served`: **pass**
- `r3-resource-class/granted-operation` — `r3.resource.granted-served`: **pass**
- `r3-resource-class/ungranted-refused` — `r3.resource.grant-enforcement`: **pass**
- `r3-resource-unsigned-fetch/fetch-unsigned-refused` — `r3.resource.document-signature`: **pass**
- `r3-resource-unsigned-fetch/fetch-unsigned-no-document` — `r3.resource.document-signature`: **pass**
- `r3-resource-unsigned-fetch/fetch-unsigned-status` — `r3.resource.document-signature-error`: **pass**
- `r3-resource-unsigned-fetch/fetch-unsigned-error` — `r3.resource.document-signature-error`: **pass**
- `r3-resource-agent-fetch/fetch-agent-refused` — `r3.resource.document-signature`: **pass**
- `r3-resource-agent-fetch/fetch-agent-no-document` — `r3.resource.document-signature`: **pass**
- `r3-resource-other-signer/fetch-other-refused` — `r3.resource.document-entitlement`: **pass**
- `r3-resource-other-signer/fetch-other-no-document` — `r3.resource.document-entitlement`: **pass**
- `r3-resource-tampered-fetch/fetch-tampered-refused` — `r3.resource.document-signature`: **pass**
- `r3-resource-tampered-fetch/fetch-tampered-no-document` — `r3.resource.document-signature`: **pass**
- `r3-resource-tampered-fetch/fetch-tampered-status` — `r3.resource.document-signature-error`: **pass**
- `r3-resource-tampered-fetch/fetch-tampered-error` — `r3.resource.document-signature-error`: **pass**
- `r3-resource-unknown-operation/refused` — `r3.resource.operation-validation`: **pass**
- `r3-resource-unknown-operation/no-resource-token` — `r3.resource.operation-validation`: **pass**
- `r3-resource-unadvertised-vocabulary/refused` — `r3.resource.operation-validation`: **pass**
- `r3-resource-unadvertised-vocabulary/no-resource-token` — `r3.resource.operation-validation`: **pass**
- `r3-resource-three-party/resource-token` — `r3.resource.token-claims`: **pass**
- `r3-resource-three-party/ps-fetch-digest` — `r3.resource.content-addressing`: **pass**
- `r3-resource-three-party/ps-fetch-fields` — `r3.resource.document-fields`: **pass**
- `r3-resource-three-party/fetch-access-refused` — `r3.resource.document-entitlement`: **pass**
- `r3-resource-three-party/fetch-access-no-document` — `r3.resource.document-entitlement`: **pass**
- `r3-resource-three-party/granted-served` — `r3.resource.granted-served`: **pass**
- `r3-resource-per-call/challenge` — `r3.resource.per-call-requirement`: **pass**
- `r3-resource-per-call/proposal-digest` — `r3.resource.content-addressing`: **pass**
- `r3-resource-per-call/proposal-shape` — `r3.resource.proposal-fields`: **pass**
- `r3-resource-per-call/completed` — `r3.resource.granted-served`: **pass**
- `r3-resource-per-call/completed-operation` — `r3.resource.granted-served`: **pass**
- `r3-resource-per-call/executed-once` — `r3.resource.per-call-single-use`: **pass**
- `r3-resource-per-call-mismatch/challenge` — `r3.resource.per-call-requirement`: **pass**
- `r3-resource-per-call-mismatch/refused` — `r3.resource.per-call-parameters`: **pass**
- `r3-resource-per-call-mismatch/not-executed` — `r3.resource.per-call-parameters`: **pass**

# Resource agent-identity report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721138` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [core.agent-token-required](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#requirement-agent-token) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [core.agent-identity](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#overview-identity-access) | adapter-contract | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [core.verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (5 pass, 0 fail, 0 error, 0 unexercised) |
| [key.invalid-signature](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#invalid_signature) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [key.expired-jwt](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#expired_jwt) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [key.invalid-input](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#invalid_input) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [key.clock-skew](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#clock_skew) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [key.response-body](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#response-body) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [core.person-token-required](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#requirement-person-token) | out-of-slice | not_claimed (0 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `unsigned/status` — `core.agent-token-required`: **pass**
- `unsigned/requirement` — `core.agent-token-required`: **pass**
- `valid/status` — `core.agent-identity`: **pass**
- `valid/subject` — `core.agent-identity`: **pass**
- `tampered/status` — `core.verification`: **pass**
- `tampered/error` — `key.invalid-signature`: **pass**
- `tampered/problem-type` — `key.response-body`: **pass**
- `expired/status` — `core.verification`: **pass**
- `expired/error` — `key.expired-jwt`: **pass**
- `expired/problem-type` — `key.response-body`: **pass**
- `uncovered-signature-key/status` — `core.verification`: **pass**
- `uncovered-signature-key/error` — `key.invalid-input`: **pass**
- `uncovered-signature-key/problem-type` — `key.response-body`: **pass**
- `uncovered-signature-key/required-coverage` — `core.verification`: **pass**
- `future-created/status` — `core.verification`: **pass**
- `future-created/error` — `key.clock-skew`: **pass**
- `future-created/problem-type` — `key.response-body`: **pass**
- `person-required-agent-token/status` — `core.person-token-required`: **not_claimed**
- `person-required-agent-token/requirement` — `core.person-token-required`: **not_claimed**
- `person-required-agent-token/no-parameters` — `core.person-token-required`: **not_claimed**
- `person-required-unsigned/status` — `core.person-token-required`: **not_claimed**
- `person-required-unsigned/requirement` — `core.person-token-required`: **not_claimed**
- `person-required-unsigned/no-parameters` — `core.person-token-required`: **not_claimed**
- `person-required-person-token/status` — `core.person-token-required`: **not_claimed**
- `person-required-person-token/subject` — `core.person-token-required`: **not_claimed**

# `sigkey.verifier` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721140` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [sigkey.v.echo](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#scheme-rejection) | adapter-contract | pass (10 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-ed25519](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#header-web-key-hwk) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-es256](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#signature-algorithms) | recommended | not_claimed (0 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-es384](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-rs256](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-ps256](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.ap-mixed-jwks](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#jwks-discovery) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.ap-pq-only](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jwks-uri](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#jwks-uri-scheme) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.signer-mixed-jwks](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.signer-pq-only](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.unknown-kid](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jwks](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#jwks-scheme) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.self-jwt](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#self-issued-jwt-self-jwt) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jkt-jwt](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#jkt-jwt-scheme) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.uncovered-hwk](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#signature-key-integrity) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.uncovered-jwks-uri](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#signature-key-integrity) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.unknown-scheme](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#signature-key-http-request-header) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.missing-member-jwt](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#signature-key-http-request-header) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.missing-member-hwk](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#signature-key-http-request-header) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-kid](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#header-web-key-hwk) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-eddsa](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.cnf-eddsa](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jws-eddsa](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#common-claims) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-kty-mismatch](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-crv-mismatch](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.cnf-kty-mismatch](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.hwk-symmetric](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.cnf-symmetric](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#algorithm-determination) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jwt-es256](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#signature-algorithms) | recommended | not_claimed (0 pass, 0 fail, 0 error, 0 unexercised) |
| [sigkey.v.jwt-exp](https://github.com/dickhardt/signature-key/blob/69f5ba2647be848feed043fb6d8b0790e43cd0b6/draft-hardt-httpbis-signature-key.md#jwt-confirmation-key-jwt) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `sigkey-hwk-ed25519/status` — `sigkey.v.hwk-ed25519`: **pass**
- `sigkey-hwk-ed25519/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-hwk-es256/status` — `sigkey.v.hwk-es256`: **not_claimed**
- `sigkey-hwk-es256/verified-scheme` — `sigkey.v.echo`: **not_claimed**
- `sigkey-hwk-es384/status` — `sigkey.v.hwk-es384`: **pass**
- `sigkey-hwk-es384/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-hwk-rs256/status` — `sigkey.v.hwk-rs256`: **pass**
- `sigkey-hwk-rs256/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-hwk-ps256/status` — `sigkey.v.hwk-ps256`: **pass**
- `sigkey-hwk-ps256/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-ap-mixed-jwks/status` — `sigkey.v.ap-mixed-jwks`: **pass**
- `sigkey-ap-pq-only/outcome` — `sigkey.v.ap-pq-only`: **pass**
- `sigkey-jwks-uri/status` — `sigkey.v.jwks-uri`: **pass**
- `sigkey-jwks-uri/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-jwks-uri-mixed/status` — `sigkey.v.signer-mixed-jwks`: **pass**
- `sigkey-jwks-uri-mixed/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-jwks-uri-pq-only/outcome` — `sigkey.v.signer-pq-only`: **pass**
- `sigkey-jwks-uri-unknown-kid/status` — `sigkey.v.unknown-kid`: **pass**
- `sigkey-jwks-uri-unknown-kid/error` — `sigkey.v.unknown-kid`: **pass**
- `sigkey-jwks/status` — `sigkey.v.jwks`: **pass**
- `sigkey-jwks/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-self-jwt/status` — `sigkey.v.self-jwt`: **pass**
- `sigkey-self-jwt/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-jkt-jwt/status` — `sigkey.v.jkt-jwt`: **pass**
- `sigkey-jkt-jwt/verified-scheme` — `sigkey.v.echo`: **pass**
- `sigkey-uncovered-hwk/status` — `sigkey.v.uncovered-hwk`: **pass**
- `sigkey-uncovered-hwk/error` — `sigkey.v.uncovered-hwk`: **pass**
- `sigkey-uncovered-jwks-uri/status` — `sigkey.v.uncovered-jwks-uri`: **pass**
- `sigkey-uncovered-jwks-uri/error` — `sigkey.v.uncovered-jwks-uri`: **pass**
- `sigkey-unknown-scheme/status` — `sigkey.v.unknown-scheme`: **pass**
- `sigkey-unknown-scheme/error` — `sigkey.v.unknown-scheme`: **pass**
- `sigkey-missing-member-jwt/status` — `sigkey.v.missing-member-jwt`: **pass**
- `sigkey-missing-member-jwt/error` — `sigkey.v.missing-member-jwt`: **pass**
- `sigkey-missing-member-hwk/status` — `sigkey.v.missing-member-hwk`: **pass**
- `sigkey-missing-member-hwk/error` — `sigkey.v.missing-member-hwk`: **pass**
- `sigkey-hwk-kid/status` — `sigkey.v.hwk-kid`: **pass**
- `sigkey-hwk-kid/error-present` — `sigkey.v.hwk-kid`: **pass**
- `sigkey-hwk-eddsa/status` — `sigkey.v.hwk-eddsa`: **pass**
- `sigkey-hwk-eddsa/error` — `sigkey.v.hwk-eddsa`: **pass**
- `sigkey-cnf-eddsa/status` — `sigkey.v.cnf-eddsa`: **pass**
- `sigkey-cnf-eddsa/error` — `sigkey.v.cnf-eddsa`: **pass**
- `sigkey-jws-eddsa/status` — `sigkey.v.jws-eddsa`: **pass**
- `sigkey-jws-eddsa/error-present` — `sigkey.v.jws-eddsa`: **pass**
- `sigkey-hwk-kty-mismatch/status` — `sigkey.v.hwk-kty-mismatch`: **pass**
- `sigkey-hwk-kty-mismatch/error` — `sigkey.v.hwk-kty-mismatch`: **pass**
- `sigkey-hwk-crv-mismatch/status` — `sigkey.v.hwk-crv-mismatch`: **pass**
- `sigkey-hwk-crv-mismatch/error` — `sigkey.v.hwk-crv-mismatch`: **pass**
- `sigkey-cnf-kty-mismatch/status` — `sigkey.v.cnf-kty-mismatch`: **pass**
- `sigkey-cnf-kty-mismatch/error-present` — `sigkey.v.cnf-kty-mismatch`: **pass**
- `sigkey-hwk-symmetric/status` — `sigkey.v.hwk-symmetric`: **pass**
- `sigkey-hwk-symmetric/error-present` — `sigkey.v.hwk-symmetric`: **pass**
- `sigkey-cnf-symmetric/status` — `sigkey.v.cnf-symmetric`: **pass**
- `sigkey-cnf-symmetric/error-present` — `sigkey.v.cnf-symmetric`: **pass**
- `sigkey-jwt-no-exp/status` — `sigkey.v.jwt-exp`: **pass**
- `sigkey-jwt-no-exp/error` — `sigkey.v.jwt-exp`: **pass**
- `sigkey-jwt-es256/status` — `sigkey.v.jwt-es256`: **not_claimed**
- `sigkey-jwks-uri-named-document/status` — `sigkey.v.jwks-uri`: **pass**
- `sigkey-jwks-uri-named-document/verified-scheme` — `sigkey.v.echo`: **pass**

# `supervision.person-server` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721141` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [supervision.ps.core-keying](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#keying-material) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.body-coverage](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#common-request) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.envelope](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#envelope) | protocol | pass (11 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.sdi-unique](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#envelope) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.event-id](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#envelope) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.connect-action](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#connect) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.act-members](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decision-endpoint) | protocol | pass (7 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.sdi-verify](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decisions) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.signed-verify](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#signed-decisions) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.allow-exp](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decision-endpoint) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.decision-resolved](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#event-decision-resolved) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.reason-optional](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#event-decision-resolved) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.mission-action](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#mission-endpoint) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.proposal-description](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#ss-mission-proposal) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.approved-report](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#mission-identifier) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.decision-applied](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decisions) | protocol | pass (12 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.unavailable](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#unavailable) | protocol | pass (8 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ps.deferred-poll](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#deferred-decisions) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `supervision.ps-allow/status` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-allow/credential` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-allow/exp` — `supervision.ps.allow-exp`: **pass**
- `supervision.ps-allow/connect-proof` — `supervision.ps.core-keying`: **pass**
- `supervision.ps-allow/connect-action` — `supervision.ps.connect-action`: **pass**
- `supervision.ps-allow/decision-proof` — `supervision.ps.body-coverage`: **pass**
- `supervision.ps-allow/sdi` — `supervision.ps.envelope`: **pass**
- `supervision.ps-allow/iat` — `supervision.ps.envelope`: **pass**
- `supervision.ps-allow/sub` — `supervision.ps.envelope`: **pass**
- `supervision.ps-allow/agent` — `supervision.ps.envelope`: **pass**
- `supervision.ps-allow/act` — `supervision.ps.act-members`: **pass**
- `supervision.ps-allow/resource` — `supervision.ps.act-members`: **pass**
- `supervision.ps-allow/agent-token` — `supervision.ps.act-members`: **pass**
- `supervision.ps-allow/distinct-sdi` — `supervision.ps.sdi-unique`: **pass**
- `supervision.ps-allow/again` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-allow/issued-proof` — `supervision.ps.core-keying`: **pass**
- `supervision.ps-allow/issued-id` — `supervision.ps.event-id`: **pass**
- `supervision.ps-auth-token/status` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-auth-token/credential` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-auth-token/act` — `supervision.ps.act-members`: **pass**
- `supervision.ps-auth-token/resource-token` — `supervision.ps.act-members`: **pass**
- `supervision.ps-auth-token/presented-token` — `supervision.ps.act-members`: **pass**
- `supervision.ps-auth-token/proof` — `supervision.ps.body-coverage`: **pass**
- `supervision.ps-auth-token/sdi` — `supervision.ps.envelope`: **pass**
- `supervision.ps-deny/refused` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-deny/no-credential` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-wrong-sdi/no-credential` — `supervision.ps.sdi-verify`: **pass**
- `supervision.ps-wrong-sdi/to-person` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-wrong-sdi/consulted` — `supervision.ps.envelope`: **pass**
- `supervision.ps-bad-signature/no-credential` — `supervision.ps.signed-verify`: **pass**
- `supervision.ps-bad-signature/to-person` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-bad-signature/consulted` — `supervision.ps.envelope`: **pass**
- `supervision.ps-foreign-signer/no-credential` — `supervision.ps.signed-verify`: **pass**
- `supervision.ps-foreign-signer/to-person` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-foreign-signer/consulted` — `supervision.ps.envelope`: **pass**
- `supervision.ps-unsigned/no-credential` — `supervision.ps.signed-verify`: **pass**
- `supervision.ps-unsigned/to-person` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-unsigned/consulted` — `supervision.ps.envelope`: **pass**
- `supervision.ps-ask/pending` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-ask/no-credential` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-ask/completed` — `supervision.ps.reason-optional`: **pass**
- `supervision.ps-ask/answer` — `supervision.ps.decision-resolved`: **pass**
- `supervision.ps-ask/resolved-id` — `supervision.ps.event-id`: **pass**
- `supervision.ps-ask/resolved-proof` — `supervision.ps.core-keying`: **pass**
- `supervision.ps-server-error/pending` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-server-error/no-credential` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-server-error/person-decided` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-server-error/answer` — `supervision.ps.decision-resolved`: **pass**
- `supervision.ps-deferred/pending` — `supervision.ps.deferred-poll`: **pass**
- `supervision.ps-deferred/no-credential` — `supervision.ps.deferred-poll`: **pass**
- `supervision.ps-deferred/poll-proof` — `supervision.ps.deferred-poll`: **pass**
- `supervision.ps-deferred/applied` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-proposal/status` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-proposal/mission` — `supervision.ps.decision-applied`: **pass**
- `supervision.ps-proposal/proposal-proof` — `supervision.ps.body-coverage`: **pass**
- `supervision.ps-proposal/proposal-sdi` — `supervision.ps.envelope`: **pass**
- `supervision.ps-proposal/proposal-agent-token` — `supervision.ps.act-members`: **pass**
- `supervision.ps-proposal/approved-action` — `supervision.ps.mission-action`: **pass**
- `supervision.ps-proposal/approved-id` — `supervision.ps.event-id`: **pass**
- `supervision.ps-proposal/approved-mission` — `supervision.ps.approved-report`: **pass**
- `supervision.ps-proposal/approved-proof` — `supervision.ps.core-keying`: **pass**
- `supervision.ps-proposal-no-description/no-mission` — `supervision.ps.proposal-description`: **pass**
- `supervision.ps-proposal-no-description/to-person` — `supervision.ps.unavailable`: **pass**
- `supervision.ps-proposal-no-description/consulted` — `supervision.ps.envelope`: **pass**

# `supervision.server` report

Suite SHA-256: `33056ca8b0601972c16829eecf57e9d6eda7857fc80670a7a379c8f5f61f9da2`

Verifier clock: `1793721143` Unix seconds

Execution: **passed**.

Pass means only the listed assertions passed, not the entire section. `adapter-contract` rows specify the test application's response. Remote mode reached the deployed servers over HTTPS; it does not grade TLS, enrollment or discovery security.

| Clause | Scope | aauth-rust (`v0.1.0-alpha.28`) |
| --- | --- | --- |
| [supervision.ss.metadata-issuer](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#ss-metadata) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.metadata-endpoints](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#ss-metadata) | protocol | pass (1 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.core-verification](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-oauth-aauth-protocol.md#verification) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.connected-only](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#common-request) | protocol | pass (10 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.connect-action](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#connect) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.envelope](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#envelope) | protocol | pass (12 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.event-id](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#envelope) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.sdi-echo](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decisions) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.deferred-pending](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#deferred-decisions) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.deferred-poller](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#deferred-decisions) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.idempotence](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#idempotence) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.signed-coverage](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#signed-decisions) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.mission-action](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#mission-endpoint) | protocol | pass (4 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.act-members](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decision-endpoint) | protocol | pass (10 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.decision-resolved-answer](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#event-decision-resolved) | protocol | pass (2 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.rate-limited](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#errors) | protocol | pass (3 pass, 0 fail, 0 error, 0 unexercised) |
| [supervision.ss.host-policy](https://github.com/dickhardt/AAuth/blob/70d67375deb0bb002af7da0711fc58f6e8926e7e/draft-hardt-aauth-supervision.md#decisions) | adapter-contract | pass (4 pass, 0 fail, 0 error, 0 unexercised) |

## Assertion evidence

### aauth-rust

- `supervision.ss-metadata/issuer` — `supervision.ss.metadata-issuer`: **pass**
- `supervision.ss-metadata/endpoints` — `supervision.ss.metadata-endpoints`: **pass**
- `supervision.ss-unsigned/status` — `supervision.ss.core-verification`: **pass**
- `supervision.ss-unsigned/signature-error` — `supervision.ss.core-verification`: **pass**
- `supervision.ss-unsigned/no-decision` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-uncovered-body/status` — `supervision.ss.core-verification`: **pass**
- `supervision.ss-uncovered-body/invalid-input` — `supervision.ss.core-verification`: **pass**
- `supervision.ss-uncovered-body/no-decision` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-unknown-sub/unknown-sub-status` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-unknown-sub/unknown-sub-error` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-unknown-sub/unknown-sub-no-decision` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-refused-person-server/connect-status` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-refused-person-server/connect-error` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-refused-person-server/connect-no-decision` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-refused-person-server/decide-refused` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-refused-person-server/decide-no-decision` — `supervision.ss.connected-only`: **pass**
- `supervision.ss-connect-action/missing-status` — `supervision.ss.connect-action`: **pass**
- `supervision.ss-connect-action/missing-error` — `supervision.ss.connect-action`: **pass**
- `supervision.ss-connect-action/unrecognized-status` — `supervision.ss.connect-action`: **pass**
- `supervision.ss-connect-action/unrecognized-error` — `supervision.ss.connect-action`: **pass**
- `supervision.ss-envelope/no-sdi-status` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-sdi-error` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-sdi-no-decision` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-iat-status` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-iat-error` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-iat-no-decision` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-sub-status` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-sub-error` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-sub-no-decision` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-agent-status` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-agent-error` — `supervision.ss.envelope`: **pass**
- `supervision.ss-envelope/no-agent-no-decision` — `supervision.ss.envelope`: **pass**
- `supervision.ss-act-members/person-no-resource-status` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/person-no-resource-error` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/person-no-agent-token-status` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/person-no-agent-token-error` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/auth-no-resource-token-status` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/auth-no-resource-token-error` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/auth-no-presented-token-status` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/auth-no-presented-token-error` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/proposal-no-agent-token-status` — `supervision.ss.act-members`: **pass**
- `supervision.ss-act-members/proposal-no-agent-token-error` — `supervision.ss.act-members`: **pass**
- `supervision.ss-signed-allow/status` — `supervision.ss.host-policy`: **pass**
- `supervision.ss-signed-allow/allowed` — `supervision.ss.host-policy`: **pass**
- `supervision.ss-signed-allow/sdi` — `supervision.ss.sdi-echo`: **pass**
- `supervision.ss-signed-allow/signed` — `supervision.ss.signed-coverage`: **pass**
- `supervision.ss-idempotent/status` — `supervision.ss.host-policy`: **pass**
- `supervision.ss-idempotent/sdi` — `supervision.ss.sdi-echo`: **pass**
- `supervision.ss-idempotent/signed` — `supervision.ss.signed-coverage`: **pass**
- `supervision.ss-idempotent/same` — `supervision.ss.idempotence`: **pass**
- `supervision.ss-deferred/pending` — `supervision.ss.deferred-pending`: **pass**
- `supervision.ss-deferred/again-pending` — `supervision.ss.idempotence`: **pass**
- `supervision.ss-deferred/again-location` — `supervision.ss.idempotence`: **pass**
- `supervision.ss-deferred/other-status` — `supervision.ss.deferred-poller`: **pass**
- `supervision.ss-deferred/other-error` — `supervision.ss.deferred-poller`: **pass**
- `supervision.ss-deferred/other-no-decision` — `supervision.ss.deferred-poller`: **pass**
- `supervision.ss-deferred/early-pending` — `supervision.ss.deferred-pending`: **pass**
- `supervision.ss-deferred/decided` — `supervision.ss.host-policy`: **pass**
- `supervision.ss-deferred/sdi` — `supervision.ss.sdi-echo`: **pass**
- `supervision.ss-deferred/signed` — `supervision.ss.signed-coverage`: **pass**
- `supervision.ss-mission-action/missing-status` — `supervision.ss.mission-action`: **pass**
- `supervision.ss-mission-action/missing-error` — `supervision.ss.mission-action`: **pass**
- `supervision.ss-mission-action/unrecognized-status` — `supervision.ss.mission-action`: **pass**
- `supervision.ss-mission-action/unrecognized-error` — `supervision.ss.mission-action`: **pass**
- `supervision.ss-mission-action/report-no-id-status` — `supervision.ss.event-id`: **pass**
- `supervision.ss-mission-action/report-no-id-error` — `supervision.ss.event-id`: **pass**
- `supervision.ss-event-members/no-id-status` — `supervision.ss.event-id`: **pass**
- `supervision.ss-event-members/no-id-error` — `supervision.ss.event-id`: **pass**
- `supervision.ss-event-members/no-answer-status` — `supervision.ss.decision-resolved-answer`: **pass**
- `supervision.ss-event-members/no-answer-error` — `supervision.ss.decision-resolved-answer`: **pass**
- `supervision.ss-rate-limited/status` — `supervision.ss.rate-limited`: **pass**
- `supervision.ss-rate-limited/error` — `supervision.ss.rate-limited`: **pass**
- `supervision.ss-rate-limited/retry-after` — `supervision.ss.rate-limited`: **pass**
