1. A computer-implemented method, comprising: determining that a legacy application is executing on a client device; applying, when the legacy application is open in the client device, an adoption rule, wherein the adoption rule defines an instance in which a user is required to use a replacement application instead of the legacy application; determining that the adoption rule is satisfied; executing the replacement application when the adoption rule is satisfied; and preventing use of the legacy application.