# `Pristine.GovernedAuthority`
[🔗](https://github.com/nshkrdotcom/pristine/blob/pristine-v0.4.0/lib/pristine/governed_authority.ex#L1)

Authority-materialized HTTP inputs for governed Pristine execution.

Direct Pristine usage keeps passing explicit base URLs, headers, and auth
adapters. Governed usage passes this value instead, after a higher authority
has selected the credential, lease, target, redaction policy, and bounded
materialized headers for one effect.

# `header_map`

```elixir
@type header_map() :: %{optional(String.t()) =&gt; String.t()}
```

# `t`

```elixir
@type t() :: %Pristine.GovernedAuthority{
  allowed_header_names: [String.t()],
  app_token_ref: String.t() | nil,
  authority_ref: String.t() | nil,
  base_url: String.t(),
  base_url_ref: String.t(),
  bearer_token_ref: String.t() | nil,
  connector_instance_ref: String.t() | nil,
  credential_handle_ref: String.t(),
  credential_headers: header_map(),
  credential_lease_ref: String.t(),
  credential_ref: String.t(),
  header_policy_ref: String.t(),
  headers: header_map(),
  installation_token_ref: String.t() | nil,
  materialization_kind: String.t(),
  materialization_ref: String.t() | nil,
  oauth_token_source_ref: String.t() | nil,
  operation_policy_ref: String.t() | nil,
  provider_account_ref: String.t() | nil,
  redaction_ref: String.t() | nil,
  request_scope_ref: String.t(),
  target_ref: String.t(),
  user_token_ref: String.t() | nil
}
```

# `new!`

```elixir
@spec new!(t() | map() | keyword()) :: t()
```

---

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