def extract_tags(cgx_dict):
    """
    This function looks at a CloudGenix config object, and gets hashtags.
    :param cgx_dict: CloudGenix config dict, expects "description" keys supported in root.
    :return: list of tags present.
    """

    # need to check hashtags in description.
    description = cgx_dict.get("description", "")
    # check for None.
    if description is None:
        description = ""
    # select all hashtags in description text, space or \n separated, strip hash,
    # and no empty tags (ensure string not "" after lstrip).
    hashtags = [tag.lstrip('#') for tag in description.split() if tag.startswith("#") and tag.lstrip("#")]

    # return unique tags from both sources.
    return list(set(hashtags))