1. A computer-implemented method for remote obfuscation comprising: receiving, by a remote tamper protection service from a customer, application code of the customer and testing data associated with the application code, the testing data including records of inputs supplied to an instrumented version of the application and corresponding recorded outputs results matched to recorded inputs generated during execution of the instrumented version of the application by the customer; generating, by the remote tamper protection service, obfuscated application code from the received application code; testing, by the remote tamper protection service, the obfuscated application code by running the obfuscated application code, using the inputs from the testing data, and recording associated outputs; in response to determining that the associated outputs do not match the recorded outputs, the remote tamper protection service repeatedly performing without involving the customer: modifying the obfuscated application code by changing obfuscations within the obfuscation application code; and automatically retesting the obfuscated application code as modified against the testing data; and in response to determining that outputs from automatically testing the modified obfuscated application code match the recorded output results, the remote tamper protection service transmitting the modified obfuscated application code as a successful obfuscation of the application to the customer via a communication network.