I am developing on the nRF52832. I just discovered that if my program enables Access Port protection by writing the UICR at runtime, then the program can still be read out of the chip until the next restart. It's fine that my system has this behavior, but I would like to know the reason for this.
The "Debug and trace" section of the Product Spec don't seem to mention this. Is this behavior specific to the Nordic design? or a part of the ARM CoreSight specification?