1. A method for software security, the method comprising: in a reprogrammable system that handles a plurality of customer specific functions for a corresponding plurality of customers, controlling via hardware logic and firmware, access to one or more of said plurality of customer specific functions for a particular customer based on a determined customer mode.