A non-transitory, computer-readable storage medium having stored thereon a plurality of instructions, which, when executed by a processor of a mobile communications device, cause the mobile communications device to:
- send a request for access to a service provider, the request being received by a software component executing on a server;
- generate event security data, by an application executing on the mobile communications device, regarding security events on the mobile communications device, the event security data including event types and parameters associated with the security events, the parameters specifying a security threat detected in examined data;
- and
- not receive access to the service provider when the software component compares a current security state of the mobile communications device to a policy associated with the service provider and determines that the current security state of the mobile communications device does not meet a first minimum security state, or receive access to the service provider when the software component compares the current security state to the policy and determines that the current security state meets the first minimum security state, wherein:
- i) the current security state of the mobile communications device was determined by the software component:
- a. processing the generated event security data to determine severity levels for the security events, and
- b. using the determined severity levels to assess the current security state of the mobile communications device;
- ii) the first minimum security state is a security state of a device required for the device to be granted access to the service provider;
- and
- iii) the first minimum security state was specified in the policy.