Behavior for the permission encoding.
decode(list() | integer(), String.t(), map()) :: term()
encode(list() | integer(), String.t(), map()) :: term()