1. A method of providing application integration for a sync framework executing on a computing device that is storing a first instance of a file, the computing device in communication via a network with a cloud service, the cloud service storing a second instance of the file, the cloud comprising a remote sync engine, the method comprising: during a period of time, allowing updates to the first instance of the file while allowing updates to the second instance; for updates to the first instance and the second instance of the file during the period of time, automatically maintaining synchronization between the first instance of the file and the second instance of the file by exchanging, via a network, updates between the sync framework and the remote sync engine, the sync framework comprising an interface or API (application programming interface) to allow arbitrary applications executing on the computing device to communicate with the sync framework; receiving a sync-lock request via the interface or API from a first application executing on the computing device, the sync-lock request being associated with the file; and responsive to the sync-lock request, providing a sync-lock comprising temporarily relinquishing synchronization between the first and second instance of the file by the sync framework, wherein while the sync-lock request is in effect, updating of the first and second instances of the file continues to be allowed.