A method for managing a data item includes a hub receiving a first access request from a first engine executing on a computing device operated by a first host and sending the first access request to a second engine executing on a first computing device of a second host. The second host owns the data item. The hub receives, from the second engine, the data item and an access rule set by the second host for the first host, and sends the first access rule and the data item to the first engine for storage. The first engine grants the first host access to the data item according to the first access rule.