How to Connect Gumroad License Keys to a Tauri Desktop App
Get the Tauri Local-AI Starter Kit on Gumroad $199 one time
The problem
You want to charge for a desktop app, and Gumroad will happily generate a license key for every sale. What it does not give you is the other half: a screen where the buyer pastes the key, a check that the key is real, a way to remember the result without phoning home on every launch, and a decision about what a refunded or over-shared key should do. Writing that yourself is a week of fiddly work.
The kit includes an optional licensing module that covers the other half. A buyer pastes a key into Settings > License and clicks Activate, the app asks Gumroad once, and everything after that is local. Lemon Squeezy keys are supported too. This page is the setup sequence, written for a developer who has the kit unzipped and a Gumroad product ready. Burrow Pro, the desktop app the kit was extracted from, uses the same pattern, so you can see the buyer's side in a shipping product. All of it is Windows-only.
Steps
Create the Gumroad product with license keys on
In your Gumroad Pro product, turn on Generate a unique license key per sale. Add versions such as Standard, Founding and Family if you sell more than one edition. Do not rename a version after the first sale.
Copy the product id
Open the product, go to the Content tab and find the license key section, which shows the
product_id. Product ids are not secret. No seller token or API key is needed, and none may ever go into the file.Fill in config/store.json
Put the id in
gumroad.proProductId. Make the names ingumroad.proVersionsmatch your Gumroad version names exactly, capital letters included, and setsupportContactto your support email or URL. Addgumroad.maxUseslimits that leave slack for reinstalls.Check the configuration
Run
npm run check:store-config. It prints whether each store is configured and never prints the ids or contacts a store. A typo in a filled-in id does not switch licensing off; Pro stays locked until you fix it.Test with a Dev build
Make a Dev build with
npm run desktop:build:devand buy your own product with a Gumroad test purchase. Dev builds accept test purchases, and stable builds refuse them, so a test key can never unlock a shipped app.Decide what is Pro
Gate by capability only:
requireProon the server, first on the route, anduseEntitlementsin the UI. The kit ships one example, a summary of the example items. Never gate the user's data, export, import, backups or privacy controls.
What the buyer sees and what Gumroad sees
The buyer opens Settings > License, pastes the key and clicks Activate. The app sends one request to Gumroad with the product id and the key, stores a tamper-protected record in two places on the computer and does not contact the store again. Gumroad sees the key, the product id and the buyer's IP address, and nothing about their data or computer.
The only outbound use is the activate click, under the named license feature in the network policy. Startup and status checks make no call.
Turning it off and the limits of the approach
Leave config/store.json as shipped, with every value empty, and licensing is off: Pro is on for everyone and there is no trial. That makes it easy to try the kit first. The module also supports a local 7-day trial, which you configure in the same file when you want one. Remember this is deterrence, not copy protection. Because the app runs on the buyer's computer, a determined person can patch any check. To reset a buyer's activation count after a reinstall, open the sale in the Gumroad dashboard and edit License key, Uses; the app cannot do that for you.
Pros and cons
Pros
- One online check on a button click, then fully offline, so there is no timer or account.
- Capability gating keeps the buyer's own data free and exportable.
- Setup is one JSON file plus a configuration checker.
- It is included in the base kit, with no extra tier.
Cons
- Refunds and chargebacks are caught only at activation time, because the app never re-checks.
- Resetting a buyer's activation count is a manual step in the Gumroad dashboard.
- It is a deterrent, not DRM, so a determined user can bypass it.
- The configuration is baked into the build, so changing it means a new build.
Frequently asked questions
Do I need a Gumroad API token in the app?
No. The app only asks Gumroad whether a key is valid, using the product id. A seller token must never ship in the app.
Can I use Lemon Squeezy as well?
Yes. The module supports both stores, and the buyer picks the store in Settings > License; only configured stores are shown.
What if I leave the file empty?
Licensing stays off, Pro is on for everyone and the Pro gate always passes.
Does the buyer need an account with me?
No. The key from the Gumroad receipt is all they paste.
Get the Tauri Local-AI Starter Kit on Gumroad $199 one time
Get Burrow Pro on Gumroad From $49 one time