Skip to main content
Migrate Already selling? Move your customers to Keylight without re-issuing a single key.
Keylight

Everything Keylight does to turn a payment into a signed license your app can trust.

Nine features that work together — signed leases, the payment provider of your choice, native Stripe checkout, device activations, trials, usage analytics, a per-customer record, a self-serve portal, and refund revocation. Click any one to dig in.

Works with

Stripe Paddle Lemon Squeezy Polar Gumroad

Signed license keys for your app

Every Keylight license is an Ed25519-signed lease your app verifies locally — issued automatically when Stripe takes a payment.

Learn more about license keys →

Minted on payment

A Stripe payment automatically issues a signed key — no webhook glue to maintain.

Verified offline

Your app ships with the public key and verifies licenses locally, with no runtime server call.

Revocable

Refunds and chargebacks mark the key revoked; the next revalidation rejects it.

Device activation limits

Each key carries an activation cap; activations are tracked per device.

Bring any payment provider

Keylight sits between your checkout and your app. Connect the provider you already use — or several at once — and switch anytime without shipping a new build.

Five providers Stripe is native Switch anytime
Learn more about payment providers →

Payment-agnostic

Stripe, Paddle, Lemon Squeezy, Gumroad, and Polar all mint the same signed license.

Switch without a rebuild

Change providers, or run several in parallel. Your keys, devices, and customers stay exactly where they are.

Stripe runs native

Connect your Stripe account and a completed payment issues a license in seconds — no webhook handler to write.

Everything else rides in

Paddle, Gumroad, and the rest issue licenses over their own webhooks or a one-time import of your existing customers.

Native Stripe integration

Connect your existing Stripe account once. A completed payment mints a signed license automatically — no webhook handler to write or host.

Your Stripe account Auto issuance Idempotent webhooks
Learn more about Stripe →

Bring your own Stripe

Keylight connects to your existing Stripe account — you keep the customer data and the standard rate.

Automatic issuance

checkout.session.completed mints and delivers a signed license within seconds.

Idempotent by design

Stripe webhook retries never produce duplicate licenses for one purchase.

Lifecycle in sync

Refunds and subscription changes update license state automatically.

Per-device activation limits

Every Keylight license carries an activation cap. Devices are tracked by a hashed fingerprint, and customers manage their own machines.

Per-key limits Hashed fingerprints Self-service portal
Learn more about device activations →

Activation limit per tier

Each license tier sets how many devices a key may run on — 2, 5, or unlimited, your call.

Hashed device fingerprint

Devices are recognised by an opaque hashed identifier, never by raw hardware data.

Idempotent activation

Relaunching or reinstalling on a known device never consumes an extra slot.

Self-service deactivation

Customers free a slot by removing an old device in the portal — no support ticket.

Free trials and free tier, owned by the dashboard

Set the trial length and the free tier once. Every install picks the new values up on its next launch. No release, no trial server, no trial keys.

Change without shipping Days-left state Free is the floor
Learn more about trials →

Dashboard-owned trial length

Pick 14 days, 7 days, or 0 from a dropdown. Every SDK reads it at launch and runs the countdown on the device.

Free tier switch

Decide what a lapsed or never-paid customer keeps. Flip it from the dashboard, not from a rebuild.

No trial backend

The trial runs on the device with no payment, no trial server, and no trial-only keys to swap out later.

Clean conversion

A payment lands, the key is issued, and the state flips from trial to licensed on the next check.

See what your licenses actually do

Stripe shows you revenue. It says nothing about whether licenses activate, keep validating, or quietly stop. Keylight measures the part after the payment.

Activations & validations Active devices Monthly actives
Learn more about usage analytics →

Activations and validations

Every activation and every offline check, counted per day — so you can see adoption and drop-off, not just sales.

Active devices and MAU

How many devices are live right now and how many were active this month, across all your products.

Version and platform split

Break usage down by app version and by platform, so you know who's on the old build before you deprecate it.

No analytics SDK to wire

The signal rides the license activation and validation calls your app already makes. Nothing extra to instrument.

A self-service customer portal

Customers retrieve their key, manage their own devices, handle billing, and upgrade — under your brand, with nothing for you to build or host.

Learn more about the customer portal →

Key retrieval

A customer who lost their key gets it back themselves — no email to you.

Device management

Customers see their activated devices and free a seat by removing an old one.

Billing & upgrades

Self-serve subscription management through Stripe, plus one-click tier upgrades.

Hosted & white-label

Provided and maintained by Keylight, running under your brand.

Automatic revocation on refund

When Stripe refunds a payment, Keylight marks the license revoked — no manual step, no webhook handler, no orphaned active keys.

Stripe-driven Revoked flag No manual work
Learn more about refund revocation →

Refund-triggered

A Stripe charge.refunded event marks the matching license revoked automatically.

Chargeback handling

Disputed charges revoke the key as soon as the dispute is filed.

Signed revoked flag

The revoked state is part of the signed lease — the app trusts it without a database lookup.

Propagates on revalidation

The app picks up revocation on its next periodic online re-check.

Every customer, one record

Pick a customer and see the whole picture: every license they hold, every device those keys are running on, every payment they've made, and what they're worth over their lifetime — on one page, not five.

Learn more about customer records →

Licenses in one list

Every key linked to the customer, with product, status, and how many of its device slots are in use — one click through to the full license.

Active devices

A live count of the machines running this customer's keys, so you can see who's near their seat limit before they email you.

Payments and lifetime revenue

Their payment history and what they've paid you in total — assembled from your payment provider, not a spreadsheet you keep by hand.

Keyed by email

Records are matched on the customer's email, so a person who bought twice — even through two providers — is one customer, not two rows.

How the features fit together

Nine features, one loop. Payment in, signed license out, devices tracked, usage measured, every customer on record, revocation handled, trial enforced.

1

Payment

Stripe charges your customer. Trials can lead in.

2

Lease

Keylight mints an Ed25519-signed license, sent to your customer and your app.

3

Activation

The app activates each device; usage is counted and capped per key.

4

Lifecycle

Refund? Key revoked automatically. Customer needs help? Self-service portal.

Ready to ship?

Create your account and start licensing your apps in under a minute. Free forever tier included.

Start Free