# `Parrhesia.Storage`

Storage boundary entrypoint.

Domain/runtime code should resolve behavior modules through this module instead of
depending on concrete adapter implementations directly.

Each accessor validates that the configured module is loaded and declares the expected
behaviour before returning it.

# `acl`

```elixir
@spec acl() :: module()
```

Returns the configured ACL storage module.

# `admin`

```elixir
@spec admin() :: module()
```

Returns the configured admin storage module.

# `events`

```elixir
@spec events() :: module()
```

Returns the configured events storage module.

# `groups`

```elixir
@spec groups() :: module()
```

Returns the configured groups storage module.

# `moderation`

```elixir
@spec moderation() :: module()
```

Returns the configured moderation storage module.

---

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