# `Gemini.GovernedAuthority.SecretMaterial`
[🔗](https://github.com/nshkrdotcom/gemini_ex/blob/v0.17.0/lib/gemini/governed_authority.ex#L187)

Transient Gemini credential material.

Only this type may contain provider credential headers or query parameters.
Inspection exposes binding metadata and credential field names, never values;
durable JSON encoding is prohibited.

# `header_map`

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

# `query_params`

```elixir
@type query_params() :: [{String.t(), String.t()}]
```

# `t`

```elixir
@type t() :: %Gemini.GovernedAuthority.SecretMaterial{
  account_ref: String.t(),
  generation: pos_integer(),
  materialization_ref: String.t(),
  payload: %{headers: header_map(), query_params: query_params()},
  provider_family: String.t()
}
```

# `headers`

```elixir
@spec headers(t()) :: header_map()
```

# `new!`

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

# `query_params`

```elixir
@spec query_params(t()) :: query_params()
```

# `redacted`

```elixir
@spec redacted(t()) :: map()
```

# `secret_values`

```elixir
@spec secret_values(t()) :: [String.t()]
```

---

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