1. A system comprising: a plurality of network domains, each of the domains comprising a respective set of client computing devices comprising a respective one or more processors executing respective instances of at least one software application; a cross-domain object model specification that specifies object classes for cross-domain objects, each of the objects having methods comprising code executable by the applications for accessing a plurality of data fields of the object; a protected and distributed object repository positioned within each of the network domains; and a controller within each of the network domains, wherein, for each of the object classes, the cross-domain object model specification defines the plurality of data fields and specifies which of the data fields of the respective object class can be exposed to each of the respective network domains, wherein each of the object repositories stores an authorized portion of each of the cross-domain objects in accordance with the cross-domain object model specification, and wherein the controller within each of the network domains detects changes to the portions of the cross-domain objects within the respective one of the network domains and propagates versions of the changes to the controllers of the other ones of the network domains in compliance with cross-domain model specification.