If you had a pretty novel idea that involved a new algorithm. Like lets say you were the first person to think of orbitz.com or kayak.com (travel sites) and you were able to and wanted to implement all of the novel algorithm clientside in javascript.
Is it possible to obfuscate it 100% where you cant reverse engineer it like this reverse engineer javascript obfuscators , or are developers still forced to keep sensitive algorithms server side if they want to completely protect them (or at least have a better chance of doing so)?
3
Client-side Javascript cannot be secured – ever. If the browser can run it, that means that the Javascript instructions are 100% available to anyone who wants them.
You can compress and obscure the Javascript. That is merely an obstacle that any talented developer can get around with some extra investment of time. So, a novel algorithm cannot be protected in browser-based Javascript.
If you want an algorithm protected, it must reside on the server and be run there – delivering only results to the client, not delivering code to the client.
If you want someone to be able to run a program, you have to give them the program. (Duh!) If you want the CPU to execute the program, the CPU has to understand the program. (Duh again.) Computers are stupid, much stupider than humans. Ergo, if the CPU can understand the program, a human can too.
One way would be to give your users both the program and the CPU. Make the computer a black box where they put something in and get something out, and that’s it. Note, however, that this is hard. Game console designers spend millions, maybe billions on protecting their hardware and still they get cracked pretty fast. (And it’s usually not nefarious crime syndicates selling pirated games, but curious students wanting to run Linux on their XBox.)
The better way is to give them neither: keep the computer and the program in your possession and simply offer a service.
Or, just don’t worry about it.
2