# `Parrhesia.Policy.ConnectionPolicy`

Connection/session-level policy checks shared by websocket and management entrypoints.

# `authorize_authenticated_pubkey`

```elixir
@spec authorize_authenticated_pubkey(String.t()) ::
  :ok | {:error, :pubkey_not_allowed}
```

# `authorize_authenticated_pubkeys`

```elixir
@spec authorize_authenticated_pubkeys(MapSet.t(String.t())) ::
  :ok | {:error, :auth_required | :pubkey_not_allowed}
```

# `authorize_remote_ip`

```elixir
@spec authorize_remote_ip(tuple() | String.t() | nil) :: :ok | {:error, :ip_blocked}
```

---

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