Google is the biggest abuser in this area just grabbing all your contacts and linking them to your Google account once you add any Google account (like Gmail or Youtube) to your Android device.
And once you have a chat with someone both can share their own contact directly in the chat with 2 clicks and add it with 2 clicks as well.
(which is still rather useless because there is no real benefit from adding someone as contact. But I guess if you want to store number then this is easy)
You're not thinking like a "normie" goal-oriented user, who doesn't care about understanding the system, and for whom the shortest path to achieving their goal generally passes through saying "sure, whatever" to any requests the app makes.
I press "New Message" and get these options: "New Group", "New Contact", "New Channel".
If I press "New Contact" it asks for permission to access my contacts. If I refuse, it goes back to the three options mentioned above.
I've tried to find it for years, and I just have the other person message me first.
Alternatively you can share/click a link with the format t.me/username to skip the search part.
Almost every social media startup in the last 15 years was bootstrapped this way.
After all that's how WhatsApp populates its contact list, it looks which users have each other's phone numbers. That way it doesn't need a user login and friend/contact requests, but in return you give up your privacy.
"After registering, the clubhouse app asks for access to your address book. This must be granted if you want to invite friends."
https://www.blogher.com/social-media/clubhouse-invite-withou...
https://www.gizchina.com/2021/03/16/clubhouse-new-update-use...