A permission refused: what authorize/3 returns and authorize!/3 raises.
authorize/3
authorize!/3
Phoenix answers it with a 403 (plug_status), or a 404 with deny_as: :not_found in use Sekisho, so that a record's existence is not told.
plug_status
deny_as: :not_found
use Sekisho
@type t() :: %Sekisho.Denied{ __exception__: term(), permission: atom(), plug_status: 403 | 404, resource: struct() | module() }