Pro
For makers shipping to real customers.
€29 / month
Start Pro- 250 active licenses
- Unlimited products
- Webhook events
- Email support
Pricing
No seats, no events, no surprise bills. Self-host is free under MIT.
Pay for active licenses, not seats or events. Cancel any time.
For makers shipping to real customers.
€29 / month
Start ProOr start smaller
For prototypes and side projects.
For teams scaling to many products.
Run Paperkey on your own servers. Single Postgres, single Docker compose, source open. Drop the SaaS dependency the day a customer asks.
Free, MIT
Get the repoPaperkey is opinionated for indie devs shipping local-first apps (desktop, CLI, IDE extensions, plugins): open-source SDK, predictable pricing, integration your AI agent can wire in 30 seconds. The competition targets enterprise, with quotes, demos, and seat-based pricing. We are deliberately not that.
Yes. The full monorepo (API, dashboard, marketing site) is MIT-licensed. Single Docker compose, single Postgres, no phone-home. PAPERKEY_MODE=selfhost flips Stripe and email to optional, lifts the active-license cap, and hides billing UI. See SELFHOST.md in the repo.
A license that has at least one activation in the last 30 days. Revoked or expired licenses do not count.
The SDK hashes a small set of stable system identifiers (machine ID, MAC, CPU class) and never sends raw values to our servers. CI mode swaps in environment-derived identifiers so build pipelines do not consume activations.
You own your data and the code. Export licenses + activations from the dashboard at any time, and the entire stack is MIT — clone the monorepo, point your SDK at your own instance, keep running. SELFHOST.md walks through the deploy.
Yes. 100 active licenses, 1 product, community support. No credit card required to start.
The managed API runs on Fly with regional failover. We do not publish a formal SLA yet. It will land before general availability, alongside a status page and incident history.
Revocation is immediate at the API layer: the next validate call returns license_revoked, typically under one second after the dashboard click. There is no edge cache to bust. The SDK re-validates on app launch and on a schedule, so a revoked license stops working at the next online check.
Activation requires a network call: the server must record the new fingerprint slot. Once activated, validation is offline-tolerant: the SDK caches the last positive verdict and replays it for up to 72 hours when the API is unreachable. Authoritative negatives (revocation, expiration) are never cached. The grace window is configurable.
Apps already activated keep running for up to 72 hours thanks to the SDK validate cache. New activations are queued and resume when the API is back. Live status is at status.paperkey.dev. If you need full independence, self-host the monorepo against your own infra — same API contract.
Export your existing licenses and activations from the current vendor, then POST them to /licenses (we accept arbitrary key formats via the product config). The SDK in your shipped app stays the same. Email hello@paperkey.dev for a 30-minute walkthrough against your real data.
Read the 5-minute quickstart. Or skip it: the SDK has decent defaults and the dashboard explains itself.