Analysis updated 2026-05-18
Add license key verification to an Electron desktop app without installing any dependencies.
Gate a Python desktop tool so it only runs for buyers whose Gumroad sale is still active and not refunded.
Cache a verified license locally so the app keeps working during short offline periods.
Detect refunded or disputed Gumroad purchases and deny app access automatically on the next launch.
| apecollective/gumroad-license-lite | acip/slack-claude-agent | alexanderdaly/neurofhe-relay | |
|---|---|---|---|
| Stars | 1 | 1 | 1 |
| Language | JavaScript | JavaScript | JavaScript |
| Setup difficulty | easy | moderate | easy |
| Complexity | 1/5 | 3/5 | 2/5 |
| Audience | developer | developer | researcher |
Figures from each repo's GitHub metadata at analysis time.
Requires a Gumroad product_id from your product settings and the buyer's license key.
When you sell software through Gumroad, each buyer receives a unique license key to activate your product. This library gives you a single function to check whether a key is real, current, and not refunded, so your app can decide whether to unlock its features. It works in Node.js, Electron, and Python, and has no external dependencies: you can either install it with npm or copy a single file directly into your project. The core check goes beyond just confirming the key exists. It also flags whether the sale has been refunded, disputed, or canceled as a subscription, which are the cases a naive check misses. That means a buyer who refunds their purchase loses access rather than keeping the app running indefinitely on a now-invalid key. For apps that need to survive brief offline periods, the library includes a LicenseGate class. This class caches the last successful verification result to a local file, so your app keeps working when the user has no internet access. You configure how often it re-verifies online and how long the cached result is trusted during offline periods. The README is transparent about what the library cannot do. Because it calls Gumroad's API directly from the client, the cached result is plain text that a user can edit. It also cannot enforce per-device seat limits or automatically revoke access when Gumroad sends a refund webhook. Those capabilities require a server-side component, which the author offers as a separate paid product called KeyGate. The library is MIT-licensed and free to use in commercial products. It suits simple use cases where an internet connection is generally available and you trust your users not to tamper with local files. If your product needs offline-proof licensing or strict device limits, the README explains those gaps plainly rather than overstating what the free version can do.
A zero-dependency JavaScript and Python library that verifies Gumroad license keys inside a desktop app, catching refunds and cancellations that a raw API call misses.
Mainly JavaScript. The stack also includes JavaScript, Node.js, Electron.
MIT license, use freely in personal or commercial products as long as you keep the copyright notice.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.