15. A computer program product, comprising: a non-transitory computer readable storage medium comprising computer readable program code embodied in the medium that when executed by at least one processor causes the at least one processor to perform operations comprising: determining a classification for a document based on the document content; determining a storage location for the document based on the document classification and storage rules of a storage provider policy; determining whether the document is stored in the determined storage location; when the document is stored in the determined storage location, updating the document in the determined storage location; when the document is not stored in the determined storage location, determining whether the document is stored in another storage location; when the document is stored in the other storage location, adding the document to the determined storage location and deleting the document from the other storage location; when the document is not stored in the determined storage location or the other storage location, adding the document to the determined storage location; reclassifying the document with a new document classification responsive to an update of the document; determining a new storage provider for the document responsive to a comparison of the new document classification and the storage provider policy; adding the document to a new storage location of the new storage provider; deleting the document from the determined storage location; and updating an entry of the document in a storage map responsive to the adding the document to the new storage location.
15. A computer program product, comprising: a non-transitory computer readable storage medium comprising computer readable program code embodied in the medium that when executed by at least one processor causes the at least one processor to perform operations comprising: determining a classification for a document based on the document content; determining a storage location for the document based on the document classification and storage rules of a storage provider policy; determining whether the document is stored in the determined storage location; when the document is stored in the determined storage location, updating the document in the determined storage location; when the document is not stored in the determined storage location, determining whether the document is stored in another storage location; when the document is stored in the other storage location, adding the document to the determined storage location and deleting the document from the other storage location; when the document is not stored in the determined storage location or the other storage location, adding the document to the determined storage location; reclassifying the document with a new document classification responsive to an update of the document; determining a new storage provider for the document responsive to a comparison of the new document classification and the storage provider policy; adding the document to a new storage location of the new storage provider; deleting the document from the determined storage location; and updating an entry of the document in a storage map responsive to the adding the document to the new storage location. 18. The computer program product according to claim 15 , wherein the adding the document to the determined storage location and updating the document in the determined storage location are performed using a storage gateway performing on the document one or more of caching, encrypting, de-duplicating, and compressing.