1. A non-transitory computer-readable storage medium having stored therein instructions that, when executed by a processor, causes the processor to perform a method of providing a Global Platform (GP) compliant Trusted Execution Environment (TEE) comprising: executing an application stored in a memory device, the application including a client application (CA) and a trusted application (TA), wherein executing the application includes running the CA in a client process and the TA in a TEE host process, the client process and the TEE host process being separate; receiving using the TEE host process a request from the client process to open a session, wherein the request includes an identifier of the TA; determining a TA enclave associated with the identifier using a GP Trusted Services enclave that is included in the TEE host process; loading in the TEE host process the TA enclave associated with the identifier to establish the session using the GP Trusted Services enclave; receiving using the TEE host process commands to be invoked in the TA enclave and a set of parameters needed for the commands, wherein the commands and the set of parameters are from the client process; and executing the commands in the TA enclave associated with the identifier using GP Internal APIs.