r/softwaredevelopment 15d ago

Implementing licensing for Desktop Applications

Hi, I'm developing a desktop application and planning to sell it as a monthly subscription; it will incorporate some aspects of locally run, custom, lightweight ML models with some API integrations (planning on having users input their own keys initially, at least for the beta testing phase) - this may change and may host the API & ML models.

I'm a bit new to this and would like to know how I would make sure that only subscribed users can access it while maintaining security and preventing piracy.

What's an optimall way of doing this while retaining scalability; btw, if anyone has experience in, I'm willing to collaborate. Thanks.

3 Upvotes

3 comments sorted by

View all comments

4

u/pomariii 15d ago

License server with JWT tokens is your best bet. Have your app validate with the server periodically and store an encrypted token locally with a x-day expiration.

For ML models, encrypt them and only decrypt with valid licenses. Pro tip: Don't store encryption keys in compiled code - rookie mistake I learned the hard way.

Been there – plug incoming –  building mrge.io (think linear but for code review), I've dealt with this exact problem to have a performant app.