The problem here is that once you give out a number then it's public in some sense. The person you give it to can pass it on, even inadvertently.
The smart thing to do is to have a public number and a private number. It makes no sense to call cabs with the same number you use to contact sources or whatever.
This is easily done with dual sim phones and can be taken much further with Google Voice or other dial-in phone number vendors. It's not very complicated and if your life depended on it you could easily assign a number per person.
Or just divide your calls into confidentiality classes. Whoever added the journalists number to the app clearly didn't consider it much of an issue; so that probably was neither a very trustworthy nor particularly vulnerable contact.
Also didn't she tell the contact that maybe it'd be better if they didn't tell anyone she's a journalist? Sure, it's a pretty obvious thing, but I feel like in her situation, you'd make sure that they know, just in case, that it's a huge dickmove to make that sort of information public.
Try anveo.com, they have numbers globally which start at less than $1 per month but with a setup fee of a couple of dollars and a per-minute fee of around 1 cent per minute. You can also pay more per month charges for no per minute charges.
You'll also need a SIP client. Some Android phones have these built in but you can also use things like Grandstream Wave. I have no idea about iOS, MAc aor Win but there should be several options for those.
I have our work VOIP account set up on my Android phone. It's integrated into the dialer and works for incoming and outgoing calls. On outgoing calls I have to select whether I want to use the SIM or the VOIP account.
It's a geographic (local) number to our office and costs £7.99 per month. Seems like it would be easy enough to add one for personal use as well.
The smart thing to do is to have a public number and a private number. It makes no sense to call cabs with the same number you use to contact sources or whatever.
This is easily done with dual sim phones and can be taken much further with Google Voice or other dial-in phone number vendors. It's not very complicated and if your life depended on it you could easily assign a number per person.