Authorization boundary for procedure and database capabilities.
@type operation() :: :call | :query | :execute
@callback authorize(operation(), map()) :: :ok | {:error, term()}