# `Rho.Dyn.AutoApprove`
[🔗](https://github.com/GenericJam/rho/blob/v0.1.0/lib/rho/dyn/auto_approve.ex#L1)

The "approve all" setting: while on, the host's UI activates each
candidate generation as it arrives instead of asking for approval (the
same activation, so probation and revert-on-crash still apply). Only
Dyn activations: reverting still asks.

Kept in the credential store (`Rho.CredentialStore`, the phone's secure
store), not a settings file, so the agent's file tools can't flip it.
Off by default (and whenever the store can't be read). Turning it on
takes the human's screen lock: `enable/0` needs a fresh confirmation of
`subject/0` from the configured approval (in the app,
`Rho.Dyn.Approval.Biometric`, fed only by the approve control's pass).
Turning it off needs nothing. The static check rejects Dyn code that
calls this module (`Rho.Dyn.Check`, best effort), and no tool calls
`enable/0`.

# `disable`

```elixir
@spec disable() :: :ok | {:error, term()}
```

Turns approve-all off.

# `enable`

```elixir
@spec enable() :: :ok | {:error, term()}
```

Turns approve-all on, given the human just confirmed `subject/0`.

# `on?`

```elixir
@spec on?() :: boolean()
```

Is approve-all on?

# `subject`

```elixir
@spec subject() :: {:auto_approve, :on}
```

The approval subject that turns approve-all on.

---

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