A method comprising: storing a plurality of resources in a data store associated with a distribution service following a transfer of copies of the plurality of resources from a client device wherein the transfer is initiated by user interface; identifying one or more resource grouping identifiers and a plurality of distribution rules associated with the plurality of resources, wherein the one or more resource grouping identifiers represent unique identifiers for previously determined resource groupings and the one or more resource grouping identifiers are used to determine which resources of the plurality of resources are transmitted to a user of the client device, and wherein the distribution rules comprise at least one of a plurality of location rules or a plurality of time rules and wherein the one or more resource grouping identifiers and the plurality of distribution rules have been specified by a user; receiving, from a client device, a request to access the plurality of resources hosted by the distribution service; determining whether the client device satisfies the distribution rules associated with the resources; and responsive to a determination that the client device satisfies the distribution rules, transmitting the resources to the client device, the resources being configured to be exclusively accessible via a containerized client side application on the client device before transmitting the resources to the client device, wherein the containerized client side application prevents the resources from being at least one of cut, copied, or pasted outside of a containerized environment associated with the containerized client side application. storing a plurality of resources in a data store associated with a distribution service following a transfer of copies of the plurality of resources from a client device wherein the transfer is initiated by user interface; identifying one or more resource grouping identifiers and a plurality of distribution rules associated with the plurality of resources, wherein the one or more resource grouping identifiers represent unique identifiers for previously determined resource groupings and the one or more resource grouping identifiers are used to determine which resources of the plurality of resources are transmitted to a user of the client device, and wherein the distribution rules comprise at least one of a plurality of location rules or a plurality of time rules and wherein the one or more resource grouping identifiers and the plurality of distribution rules have been specified by a user; receiving, from a client device, a request to access the plurality of resources hosted by the distribution service; determining whether the client device satisfies the distribution rules associated with the resources; and responsive to a determination that the client device satisfies the distribution rules, transmitting the resources to the client device, the resources being configured to be exclusively accessible via a containerized client side application on the client device before transmitting the resources to the client device, wherein the containerized client side application prevents the resources from being at least one of cut, copied, or pasted outside of a containerized environment associated with the containerized client side application.