explaingit

apecollective/gumroad-license-lite

Analysis updated 2026-05-18

1JavaScriptAudience · developerComplexity · 1/5LicenseSetup · easy

TLDR

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.

Mindmap

mindmap
  root((gumroad-license-lite))
    What it does
      Verify license keys
      Detect refunds
      Cache results offline
    Platforms
      Node.js
      Electron
      Python
    How to use
      npm install
      Copy single file
    Limitations
      Online check only
      No device binding
      Editable local cache
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add license key verification to an Electron desktop app without installing any dependencies.

USE CASE 2

Gate a Python desktop tool so it only runs for buyers whose Gumroad sale is still active and not refunded.

USE CASE 3

Cache a verified license locally so the app keeps working during short offline periods.

USE CASE 4

Detect refunded or disputed Gumroad purchases and deny app access automatically on the next launch.

What is it built with?

JavaScriptNode.jsElectronPython

How does it compare?

apecollective/gumroad-license-liteacip/slack-claude-agentalexanderdaly/neurofhe-relay
Stars111
LanguageJavaScriptJavaScriptJavaScript
Setup difficultyeasymoderateeasy
Complexity1/53/52/5
Audiencedeveloperdeveloperresearcher

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

Requires a Gumroad product_id from your product settings and the buyer's license key.

MIT license, use freely in personal or commercial products as long as you keep the copyright notice.

In plain English

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.

Copy-paste prompts

Prompt 1
Using gumroad-license-lite in Node.js, write the code to verify a Gumroad license key and unlock my app only if the key is valid and not refunded.
Prompt 2
Show me how to set up LicenseGate with a 3-day recheck interval and 14-day offline grace period for an Electron app.
Prompt 3
Using the Python version of gumroad-license-lite, write a function that checks a license key on startup and returns whether to allow the app to run.
Prompt 4
What does gumroad-license-lite check beyond key existence, and what does it not protect against compared to a server-side licensing system?

Frequently asked questions

What is gumroad-license-lite?

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.

What language is gumroad-license-lite written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js, Electron.

What license does gumroad-license-lite use?

MIT license, use freely in personal or commercial products as long as you keep the copyright notice.

How hard is gumroad-license-lite to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is gumroad-license-lite for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub apecollective on gitmyhub

Verify against the repo before relying on details.