I'm setting up license keys for an app that is fully offline. One of the things I value in my application's design is the lack of external requests to remote servers.
For the initial validation, I have to make a call to my server to validate the license key. The problem is that obviously someone could validate their license key, unlock it, and then say request a refund, and have an unlocked copy.
It seems like the only way to truly safeguard against this is to -- wthin reason -- send the occasional check to a server with the user's license key, and ensure that it's still a valid one. So this would be the one external request that I'd need to send periodically. Is that the common way of handling this?