A non-transitory computer readable storage medium configured to store instructions that, when executed by at least one processor included in a server computing device, cause the server computing device to manage phone number-based user accounts, by carrying out steps that include:
- receiving a request to create a user account based on a phone number;
- authenticating an ownership of the phone number;
- creating hidden and visible contact addresses based on the phone number, wherein the hidden contact address permits access to a first subset of services that omits at least a second subset of services that are otherwise accessible using the visible contact address;
- assigning the hidden contact address to the user account and a first client computing device to permit the first client computing device to access the first subset of services;
- and
- assigning the visible contact address to the user account and a second client computing device to permit the second client computing device to access the first and second subsets of services.