1. A method comprising: controlling usage, at a client system, of an application program, wherein the controlling step limits the application program's operational functionality in accordance to at least one rule stored on the client system, and the at least one rule contains at least one expression used by the controlling step to control application program operation; controlling access, at a server, to documents, wherein the controlling step limits document access operation in accordance to at least one rule stored on the server, and the at least one rule contains at least one expression used by the controlling step to control document access operation; detecting at least one low-level operation on a first document managed by the server associated with a first application program operation from a first application executing on the client system; intercepting the at least one low-level operation to prevent the at least one low-level operation from executing; collecting at the client system information on the first application program operation; receiving the collected information on the first application executing on the client system; and evaluating whether to allow the first application program operation at the client system based on the collected information on the first application and the first application program operation.