We have developed an algorithm that processes some data at runtime and is slight efficient in terms of time and computing compared with other solutions out there. Though we sure anyone can develop a similar algorithm, for now at least we have good results for the same.
We will be deploying that algorithm as an SDK/library made in C++ and will be sharing it with clients. The concern is a client can share that library with anyone and get it running without our involvement, how to prevent that?
We are planning to obfuscate the code so that it becomes slightly difficult for them to know internals(I know it is still possible even with obfuscation) but that doesn't help with the concern. What other techniques do are used to prevent such use case?
One option is to keep the code on the cloud so that things are under our control but the application is a kind of wearable device(not regular consumer watch) and internet availability isn't possible. The wearable device has OS similar to Android and has data and time which the user can change(added this point if it helps in any way).