A method of executing a security critical application on a hardware platform (100) is presented. The method comprises: executing a
safety critical application (130) in a first execution environment (120); executing a supervisor component (150) for the
safety critical application in a second execution environment (140); at least a transition of
control flow between the
safety critical application (130) and other
software (125, 125a, 125b) running in the first execution environment (120) is detected by the supervisor component (150). The method further includes, in response to detecting that the
control flow is transitioning from the security critical application (130) to the other
software (125, 125a, 125b), disabling, by the supervisor component (150), at least one mode of access to and / or capturing a state of at least one resource (114), and, in response to detecting that the
control flow is transitioning from the other
software (125, 125a, 125b), disabling, by the supervisor component (150), at least one mode of access to and / or capturing a state of the at least one resource (114). 125b) back to the security critical application (130), allowing re-access to the at least one resource (114) and / or verifying the state.