1. A method comprising: receiving rules from a central database at a computing device; storing the rules received from the central database in a memory of the computing device; at the computing device, reading the rules and controlling operation of a plurality of application programs executing on the computing device based on the rules; storing a first document on the computing device, viewable by the plurality of application programs; detecting a first application program of the plurality of application programs installed at the computing device; modifying the first application program comprising: analyzing executable code of the first application program; determining a first location in the executable code of the first application program corresponding to a first operation type, wherein the first operation type comprises accessing a document by the first application program at the computing device; and injecting a first function to the first application program corresponding to the first location; after the first document has been stored on the computing device, executing the first application program of the plurality of application programs on the computing device, wherein a first rule applies to the first application program and a second application program of the computing device based on a file format of the first document; upon receiving a request by the first application program for approval of a first operation corresponding to the first operation type to be performed by the first application program on the first document, evaluating the first rule; when the first rule is satisfied, allowing the first operation to be performed by the first application program on the first document comprises: allowing the first application program at the computing device to view the first document; and when the first rule is not satisfied, disallowing the first operation to be performed by the first application program on the first document.