> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sageprotocol.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Access

> Enforces type-based permissions for Trust-related actions.

```rust theme={null}
use std::type_name;
use sui::package;
use sage_admin::admin;
```

<Tip>
  Explore this module further in the Mover Registry: @sage/trust
</Tip>

## Structs

### `GovernanceWitnessConfig`

Holds the `GovernanceWitness` type for runtime type checks.

```rust theme={null}
public struct GovernanceWitnessConfig has key
```

<Expandable title="Fields">
  ```rust theme={null}
    id: sui::object::UID,
    finalized: bool,
    type_name: std::type_name::TypeName
  ```
</Expandable>

### `RewardWitnessConfig`

Holds the `RewardWitness` type for runtime type checks.

```rust theme={null}
public struct RewardWitnessConfig has key
```

<Expandable title="Fields">
  ```rust theme={null}
    id: sui::object::UID,
    finalized: bool,
    type_name: std::type_name::TypeName
  ```
</Expandable>

## Constants

Error code for attempting to update a finalized witness config.

```rust theme={null}
const EIsFinalized: u64 = 370;
```

Error code for passing in the wrong withness type.

```rust theme={null}
const EWitnessMismatch: u64 = 371;
```
