Skip to content

Guide

Overview

What Keyright is, and where to start — a hosted issuing service plus a .NET SDK for offline license files and online activation.

Keyright is licensing infrastructure for software vendors: a Postgres-backed issuing service (an ASP.NET Core Minimal API) plus a .NET SDK (Keyright.NET) your application embeds to verify licenses. It issues signed offline license files and online activation leases, enforces node-locking and seats, carries entitlements/tiers, and is multi-tenant with per-tenant RSA signing keys. It is wire-compatible with Nebula.NET’s licensing.

Start here, by what you’re trying to do.

Integrate licensing into your app

  1. Getting started — the end-to-end path: get a signing key, issue your first license, verify it in your app (offline + online), and a go-live checklist.
  2. .NET SDK integration — using Keyright.NET in your application: validating an offline license, performing online activation and lease renewal, reading entitlements, and node-locking.
  3. Self-service free trials — enable per-product trials, let customers self-serve a trial key from your own site, and hand out offline trial files for air-gapped evaluators.

Operate & administer

  1. Admin dashboard — the web dashboard at /dashboard: sign-in (email/password + TOTP, or Google/GitHub), the Home overview, Products, Licenses, Team, Integration, and Settings.
  2. HTTP API reference — a readable map of every endpoint (Runtime /v1/*, Admin /admin/*, Platform /platform/*, Auth /auth/*, Plans, Webhooks) with method, path, and auth.

Key concepts in one paragraph

A tenant is an isolated vendor workspace with its own signing key (RSA; the private key is stored AES-256-GCM–encrypted under the service KEK). A tenant defines products, each with tiers (seat counts + entitlement templates). A license is issued for a product/tier to a licensee, with a seat count and optional expiry. Your app either ships with a signed offline license file, or performs online activation: it POSTs the license key + a stable machine id to /v1/activate and gets back a short-lived signed lease bound to that machine; the SDK verifies the lease against the embedded public key and re-activates before expiry. Plans (Free/Starter/Growth/Scale/Enterprise) gate a tenant’s quotas (active licenses, products).