anchor.diff:  %%%===================================================================
   %%% API
   %%%===================================================================
  -
  --spec inspect_requested_privileges(tokens:invite_token_type(), entity_logic:data()) ->
  -    privileges_profile().
  -inspect_requested_privileges(InviteTokenType, Data) ->
  -    case {are_invite_privileges_applicable(InviteTokenType), Data} of
  -        {false, _} -> default_privileges;
  -        {true, #{?PRIVILEGES_KEY := _}} -> custom_privileges;
  -        {true, _} -> default_privileges
  -    end.
  -
   
   %%--------------------------------------------------------------------
   %% @doc
  
positive.code:     }.
  
  
  -spec inspect_carried_privileges(tokens:invite_token_type(), metadata()) ->
      {privileges_profile(), invite_privileges()}.
  inspect_carried_privileges(InviteTokenType, Metadata) ->
  
negative.code:     privileges:handle_service_privilege() | privileges:handle_privilege() |
      privileges:harvester_privilege() | privileges:cluster_privilege()
  ).
  % Indicates if invite privileges are default or custom for an invite token.
  % Custom privileges require additional privileges from the token creator, apart
  % from regular invite privileges.
  -type privileges_profile() :: default_privileges | custom_privileges.
  %% @formatter:on
  -export_type([metadata/0, custom_metadata/0, invite_privileges/0, privileges_profile/0]).
  