I honestly do not understand why there is an api for apps to access your contacts at all, and why modern iOS doesn’t just unconditionally deny apps that call -[CNContactStore requestAccess].
How are apps still doing this? Companies: stop asking users to upload their address books. And everyone else: refuse to upload your address book to random apps and social media platforms.
The contacts in your phone are not your data. It’s other people’s data.