1. A method for pushing data to a plurality of devices of a plurality of organizations, comprising: receiving a request for information for a first organization; applying a query to a database to retrieve a result limited to information associated with the first organization; and determining a subset of the result to be returned to the first organization by: comparing the result to state information indicating what information is present on a server of the first organization; and comparing the result to permission information indicating which portion of the result that devices at the first organization are permitted to view.