Before returning it’s result, get_permalink() applies one of 4 filters on the permalink it has generated, depending on the post_type of the post in question:
post_link
, when post_type == ‘post’page_link
, when post_type == ‘page’, via get_page_link()attachment_link
, when post_type == ‘attachment’, via get_attachment_link()post_type_link
, when post_type is not one of the above (i.e., a CPT), via get_post_permalink()