A system of a vehicle comprising: an open platform in-vehicle infotainment system including a tangible memory, a processor and an untrusted application including a monitor module, wherein the untrusted application is stored in the tangible memory which is communicatively coupled to the processor; wherein the monitor module included in the untrusted application is generated based on a set of one or more runtime rules describing desired behavior of the untrusted application that complies with a specification for an application programming interface of the open platform in-vehicle infotainment system; wherein the untrusted application, responsive to being executed by the processor, runs on the open platform in-vehicle infotainment system; and wherein the monitor module, responsive to the untrusted application being executed and running on the open platform in-vehicle infotainment system, causes the processor to observe, based on the one or more runtime rules, behavior of the untrusted application to determine whether the observed behavior of the untrusted application is consistent with the desired behavior of the untrusted application so that the observed behavior complies with the specification for the application programming interface of the open platform in-vehicle infotainment system, characterized in that the system further comprising an application assurance system stored on the tangible memory, wherein the application assurance system includes an RV-Monitor application which, responsive to being executed by the processor, causes the processor to take steps comprising: analyzing the specification to determine desired behavior of the untrusted application that complies with the specification; retrieving geographic data describing a geographic location of the vehicle; determining one or more safety guidelines based on the geographic location of the vehicle; and generating the one or more runtime rules which are configured so that compliance with the one or more runtime rules corresponds to compliance with the specification and the one or more safety guidelines. an open platform in-vehicle infotainment system including a tangible memory, a processor and an untrusted application including a monitor module, wherein the untrusted application is stored in the tangible memory which is communicatively coupled to the processor; wherein the monitor module included in the untrusted application is generated based on a set of one or more runtime rules describing desired behavior of the untrusted application that complies with a specification for an application programming interface of the open platform in-vehicle infotainment system; wherein the untrusted application, responsive to being executed by the processor, runs on the open platform in-vehicle infotainment system; and wherein the monitor module, responsive to the untrusted application being executed and running on the open platform in-vehicle infotainment system, causes the processor to observe, based on the one or more runtime rules, behavior of the untrusted application to determine whether the observed behavior of the untrusted application is consistent with the desired behavior of the untrusted application so that the observed behavior complies with the specification for the application programming interface of the open platform in-vehicle infotainment system, characterized in that the system further comprising an application assurance system stored on the tangible memory, wherein the application assurance system includes an RV-Monitor application which, responsive to being executed by the processor, causes the processor to take steps comprising: analyzing the specification to determine desired behavior of the untrusted application that complies with the specification; retrieving geographic data describing a geographic location of the vehicle; determining one or more safety guidelines based on the geographic location of the vehicle; and generating the one or more runtime rules which are configured so that compliance with the one or more runtime rules corresponds to compliance with the specification and the one or more safety guidelines. analyzing the specification to determine desired behavior of the untrusted application that complies with the specification; retrieving geographic data describing a geographic location of the vehicle; determining one or more safety guidelines based on the geographic location of the vehicle; and generating the one or more runtime rules which are configured so that compliance with the one or more runtime rules corresponds to compliance with the specification and the one or more safety guidelines.