Description:
A practical look at how Mac developers can add license keys, device activation, and offline validation without building the whole licensing system from scratch.
Keylight
Tags:
swift macos indiedev licensing security saas programming
I build Mac apps, and one thing I kept running into was licensing.
Not the fun part.
The annoying part.
You ship a paid app outside the App Store, then suddenly you need to answer questions like:
How do I issue license keys?
How do I know if a key is valid?
How do I stop one key from being shared everywhere?
What happens when the user is offline?
What happens after a refund?
Where do I store the license on macOS?
How do I support trials without building a second system?
At first, licensing looks simple.
You imagine a table like this:
license_key | email | status
Enter fullscreen mode
Exit fullscreen mode
Then your app sends the key to your server and gets back:
{ "valid" : true }
Enter fullscreen mode
Exit fullscreen mode
That works for a…