1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising code that, when executed by the computing device, causes the computing device to perform a method comprising: storing a plurality of resources in a data store associated with a distribution service in response to a request from a user interface to transfer the plurality of resources; receiving a selection of access rights and a plurality of distribution rules associated with the plurality of resources; receiving, from a client device, a request to access the plurality of resources hosted by the distribution service; determining whether a pairing of a user of the client device and the client device is authorized to access the distribution service based at least in part on the access rights associated with the plurality of resources; identifying which of a plurality of resource grouping identifiers are associated with the pairing, in response to determining that the pairing is authorized to access the distribution service; identifying which of the plurality of resources are associated with the resource grouping identifiers; identifying which of the plurality of distribution rules are associated with the identified resources, the distribution rules comprising at least one of a plurality of location rules or a plurality of time rules; and transmitting the identified resources and the identified distribution rules to the client device, the resources being encrypted and configured to be exclusively accessible by a containerized client side application using a decryption key while the client device satisfies the identified distribution rules associated with the resources based on a device profile, wherein the containerized client side application is configured to prevent access to the identified resources by another application executed by the client device.