We use a "phone home" feature in our apps. Not for theft protection per se. We use it to collect usage data to see how often out apps are being used. When someone buys out app, they get a license key, the key needs to be enetred in the app, stored in an encrypted licenses file (as you can't easily modify the EXE). Without the key, the app runs in a free trial/demo mode. On startup and quit, the app sends the key to our server along with a bunch of general information (OS type, OS version, app version, build number, timestamp, a UUID derived session key, a "START' action on startup and "STOP" action on quit, license key, etc.) The license key is checked against a list of valid, voided, or timed (still good or expired) keys and a flag is returned along with an optional message as to whether the key is 'good' or not. We use the rest of the data to see trends in usage (macOS usage is up or down vs window, we still have x many activation /week on an older version - time to send out upgrade sale notices, and so on. As we can see if a license is being used by someone it was NOT registered to, we can void the license on the server, which prevents that key from running the app, and issue a new key to the registered user (assuming they were uaware of someone else using their key). I know nothing about your application or market, but you realy have to be carefull about enforcing "theft" as it could be someone using your app on another computer, reregistered for that computer, perhaps using a different name, because their computer is dead or out for repairs or something. And if you make people change keys too often for "piracy", you will get a very bad reputation. Some "loss" of revenue is worth not damaging the company reputation.
Statistics: Posted by paul@researchware.com — Sat Jan 18, 2025 3:17 pm