def palindrome_permutation(string: str) -> bool:
    """
    Determine if a string has a permutation that makes it a palindrome.

    Args:
        string (str): The string we are checking.

    Returns:
        bool: True if the string has a viable permutation.

    """
    characters = set()
    for c in string:
        if c in characters:
            characters.remove(c)
        else:
            characters.add(c)
    return len(characters) <= 1