anchor.diff:      revoke_credential(ReqMap);
   handle_user_action(#{body_qs:=#{action := logout}, session:=Session}
                      = ReqMap) ->
  -    ok = tts_session:close(Session),
  +    ok = tts:logout(Session),
       maps:put(cookie, clear, redirect_to(ep_main, ReqMap));
   handle_user_action(#{session := Session}) ->
       show_user_page(Session, false, [], false).
  
positive.code: 
  create_redirection(Url) ->
      #{header => [{<<"location">>, Url}], cookie => update, status => 302}.
  
  
  
negative.code: 
  revoke_credential(#{session := Session,
                      body_qs:= #{ credential_id:=CredId}}) ->
      Result = tts:revoke_credential_for(CredId, Session),
      show_credential_revoke_result(Result, Session).
  
  show_credential_request_result({ok, Credential, Log}, Session) ->
              show_user_page(Session, Credential, Log, false);
  show_credential_request_result({error, _Reason, Log}, Session) ->
              ErrMsg = <<"failed to request credential">>,
              show_user_page(Session, false, Log, ErrMsg).
  
  show_credential_revoke_result({ok, _Result, Log}, Session) ->
              show_user_page(Session, false, Log, false);
  show_credential_revoke_result({error, _Error, Log}, Session) ->
              ErrMsg = <<"failed to revoke credential">>,
              show_user_page(Session, false, Log, ErrMsg).
  
  show_user_page(Session, Credential, Log, Error) ->
      {ok, ServiceList} = tts:get_service_list_for(Session),
  