Read protect will work on fields I don’t think it will work on shortcuts.
Have you checked If you have:
BO.psField and
BO.scField
scField is what you are trying to obscure but if you do READ PROTECT BO.psField then BO.scField will be unable to see the field that it is a shortcut to. Does that then hide your shortcut? Or does it mark it undefined
Your challenge is that unless you use different forms for read and edit there isn’t a way to know what state the form is in (edit v read) you’d need to set the READ PROTECT to be Dynamic based on some rule