One or more computer readable storage media having program instructions stored thereon for facilitating user-specific license states for applications that, when executed by a processing system, direct the processing system to at least: identify in which mode of at least a session mode and a standard mode to activate licensing for an application; when in the session mode, maintain a user-specific license state for each of a plurality users engaged with the application simultaneously via a remote session and deliver the application in accordance with the user-specific license state for each of the plurality users; and when in the standard mode, maintain a single license state and deliver the application in accordance with the single license state for all of the plurality of users; wherein, to maintain the user-specific license state, the program instructions direct the processing system to determine whether the user-specific license state comprises a valid state that entitles a user to full access to the application or an invalid state that results in limited access to the application; wherein to determine whether the user-specific license state comprises the valid state or the invalid state comprises: searching locally with respect to the application for an existing session token; if the existing session token is found, processing the existing session token to determine whether the user-specific license state comprises the valid state or the invalid state; and if the existing session token is not found locally or when the existing session token is found to be invalid, obtaining a new session token from an online licensing service that is remote from the application and processing the new session token to determine whether the user-specific license state comprises the valid state or the invalid state; and wherein the program instructions direct the processing system to store the session token locally when the session token is found to be valid. identify in which mode of at least a session mode and a standard mode to activate licensing for an application; when in the session mode, maintain a user-specific license state for each of a plurality users engaged with the application simultaneously via a remote session and deliver the application in accordance with the user-specific license state for each of the plurality users; and when in the standard mode, maintain a single license state and deliver the application in accordance with the single license state for all of the plurality of users; wherein, to maintain the user-specific license state, the program instructions direct the processing system to determine whether the user-specific license state comprises a valid state that entitles a user to full access to the application or an invalid state that results in limited access to the application; wherein to determine whether the user-specific license state comprises the valid state or the invalid state comprises: searching locally with respect to the application for an existing session token; if the existing session token is found, processing the existing session token to determine whether the user-specific license state comprises the valid state or the invalid state; and if the existing session token is not found locally or when the existing session token is found to be invalid, obtaining a new session token from an online licensing service that is remote from the application and processing the new session token to determine whether the user-specific license state comprises the valid state or the invalid state; and wherein the program instructions direct the processing system to store the session token locally when the session token is found to be valid. searching locally with respect to the application for an existing session token; if the existing session token is found, processing the existing session token to determine whether the user-specific license state comprises the valid state or the invalid state; and if the existing session token is not found locally or when the existing session token is found to be invalid, obtaining a new session token from an online licensing service that is remote from the application and processing the new session token to determine whether the user-specific license state comprises the valid state or the invalid state; and wherein the program instructions direct the processing system to store the session token locally when the session token is found to be valid.