code: def _get_user_decision(prompt_secret_decision=True, can_step_back=False):
      
      allowable_user_input = ['s', 'q']
      if prompt_secret_decision:
          allowable_user_input.extend(['y', 'n'])
      if can_step_back:
          allowable_user_input.append('b')
  
      user_input = None
      while user_input not in allowable_user_input:
          if user_input:
              print('Invalid input.')
  
          if 'y' in allowable_user_input:
              user_input_string = 'Is this a valid secret? i.e. not a false-positive (y)es, (n)o, '
          else:
              user_input_string = 'What would you like to do? '
          if 'b' in allowable_user_input:
              user_input_string += '(b)ack, '
          user_input_string += '(s)kip, (q)uit: '
  
          user_input = input(user_input_string)
          if user_input:
              user_input = user_input[0].lower()
  
      return user_input
docs: :type prompt_secret_decision: bool
      :param prompt_secret_decision: if False, won't ask to label secret.