Skip to content

This project is still in development. Planned launch: March 2026.

Coming Soon

LicenseGate

License key management for indie developers

Released: March 2026Last updated: March 2026

SaaS platform for managing license keys. Create, validate and manage through a ready made API and SDKs without your own infrastructure.

About LicenseGate

LicenseGate is a SaaS platform for managing license keys, built for indie developers and small software teams. You can create, validate and manage license keys without having to build your own infrastructure.

Whether you sell a browser plugin, a desktop app or a SaaS product: LicenseGate provides you with a ready made API and SDKs to integrate licenses into your software.

The platform handles the entire logic: key generation, activation limits, expiration dates and usage statistics.

How It Works

You create an account on LicenseGate and set up a new product. For each product you can generate license keys, either individually or in batches.

Each license key has configurable properties: activation limit (how many devices), expiration date, feature flags and notes. Through the dashboard you can see all licenses, their status and activation history.

In your software you integrate validation via the REST API or the JavaScript SDK. With just a few lines of code you check on each launch whether the entered license key is valid and which features are unlocked.

Use Cases

LicenseGate is suitable for various software products.

Browser extension developers use LicenseGate to unlock premium features. The user buys a license, enters the key in the extension and gets access to advanced features.

Desktop app developers integrate LicenseGate via the REST API. On each launch, the app checks the license key and enables or disables features accordingly.

SaaS developers use LicenseGate for self hosted software or on premise solutions where API based license checking is needed.

WordPress plugin and theme developers can use LicenseGate to deliver updates only to paying customers.

Technologies

LicenseGate is built with Next.js 15 and TypeScript. The backend uses Supabase for database and authentication. Payments are processed through Stripe. Emails for license notifications are sent through Resend.

A JavaScript/TypeScript SDK is available for integration. License validation is done through a REST API with API key authentication.

Privacy

LicenseGate stores only the data necessary for license management: email addresses, license keys and activation information. All data is stored GDPR compliant with our infrastructure providers (Vercel and Supabase).

Payment data is processed exclusively by Stripe.

LicenseGate Architecture

Two separate flows: developers manage licenses in the dashboard, end-user apps validate license keys via the SDK.

Hover or focus elements for details

LicenseGate ArchitectureDeveloper: Creates licenses, sets expiration, monitors activations.. Dashboard: Web app for license management and statistics.. API: Interface for dashboard and SDK. Validates keys and returns status.. Database (encrypted): Licenses and activation data stored encrypted with our infrastructure providers (Vercel and Supabase).. SDK: Lightweight library developers embed in their apps. Only license key is checked.. End App: End user app checks its license at startup via the SDK.DeveloperDashboardAPIDatabase (encrypted)SDKEnd App

Legend

  • User
  • Local in browser
  • Server
  • Database
  • Third Party

Technology Layers

Separate layers for developer workflow and end-user apps.

  1. Database

    PostgreSQLRLS

    Licenses, activations, logs at Supabase.

  2. API

    Next API RoutesEdge

    Interface for dashboard and SDK, rate limiting.

  3. SDK

    TypeScriptFetch

    Lightweight library for end user apps.

  4. Dashboard

    Next.jsReact

    Admin UI for license management and statistics.

License Lifecycle

From generated key to expiration. Developers see these states in the dashboard.

  1. Generated
    1. DistributeAssigned
  2. Assigned
    1. First activationActive
  3. Active
    1. Time expiredExpired
    2. Manual revokeRevoked
  4. Expired
  5. Revoked

FAQ