Hi Vali,
1- Suppose you have the hidding option as a checkmark into the Preferences - who/how can deny the operator to toggle it and, therefore, be able to see the number?
I think it should be system administrator, who check the option "hide number for inbound call" or "hide number for outbound call " in 3CX console.
2- Since we discuss about outbound calls, such kind of scenario makes me think to a "speeddial-like-only" behavior, I mean no dial-keyboard available, just predefined speeddials buttons, "Customer 1", "Customer 2" and so on, able to be called without displaying any information, and the call/hangup buttons.
Speeddials buttons, "Customer 1", "Customer 2" can be in CRM or other application, for example. But the operator have keypad (on softphone or standard sip-phone) to call to colleague or to emergency service.
3 - In case of 2, if you want to safely hide contact informations, it means no persistence support, no INI, no database, nothing - and it leads to a "provisioning-like" mechanism, you connect this "phone" to the PBX and you get a list of these "speedials" , kept in memory only.
Speeddials only in external application. PBX only hide or change displaying number.
Or it is can be released on softphone in special restricted area.
Now we need just to hide phone number on display, I know for 100% contact security it is necessary to do more...