1. A method comprising: providing a requestor at a streaming client access to a first resource of a streaming software application executing in a streaming software container and at least partially virtualized at the streaming client; receiving at the streaming software container a request, from the requestor, for accessing a second resource of the streaming software application based on requestor interaction with the executing of the streaming software application in the streaming software container using the first resource of the streaming software application; determining whether the second resource of the streaming software application is in the streaming software container at the streaming client; if it is determined the second resource of the streaming software application is absent from the streaming software container at the streaming client, sending a block request for blocks of the streaming software application corresponding to the second resource of the streaming software application to a streaming server; receiving the second resource at the streaming software container from the streaming server in response to the block request for the second resource; providing the requestor access to the second resource of the streaming software application in the streaming software container for use in continuing execution of the streaming software application at least partially virtualized at the streaming client; making a rule-based determination of whether to grant the requestor access to the second resource based on an identification of the requestor; providing the requestor access to the second resource if it is determined to grant the requestor access to the second resource.