One way could be to not return any identifiable information about others at all, but just a hash of each contact. (Kudos points if the host os returns a different hash for the same contact in different apps.) If that contact is known to the app, (because they've also installed it) then the app has all the information it needs to set up contact between two parties. The host os will probably need to provide a way to render a contact list for the app.
I'd be much happier with this arrangement. This way my personal data isn't uploaded to third parties simply because an acquaintance of mine wants to install some rubbish app. It's only if I install the same (rubbish) app will that third party finally get my personal info.
Host OS should also give me the power to determine what personal info it's given to any app. For instance, why did WhatsApp ever need my personal phone number while creating an account? It doesn't, and as such, should be regarded as an antitrust requirement.
But oddly enough Apple does not consider full-blown access to the contacts list as needing any kind of privacy settings.
Just as it doesn't consider per-app internet access as needing any privacy settings. I know for sure the flashlight-level app would need an 'always offline' toggle.
That's such a simple solution and innovative solution - just allow groups in Contacts, and let apps access only specific groups we allow.
And it will fix all the ads/analytics/private information leaked by the app to all other SDK it use
Of course the same does not apply for example to LinkedIn or Facebook.
I'm new to a game. I'd like to play with my friends without having to individually contact every single one of them and ask them if they also play the game.