> For the complete documentation index, see [llms.txt](https://docs.ohalee.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ohalee.com/products/obsidian-license/features.md).

# Features

## The problem it solves

Minecraft plugin developers sell jars on marketplaces like BuiltByBit or Voxel (Polymart). A plain `.jar` is trivial to decompile, crack and reshare — a buyer of one license can hand the file to hundreds of servers with no way for the developer to detect or stop it. Obsidian License removes the plaintext jar from the equation entirely and gives the developer a live, revocable control plane over every copy in the wild.

## Core capabilities

* **Encryption & code protection** — AES-256-GCM at rest, Ed25519-signed activation responses, in-memory class loading (no plaintext jar ever lands on a customer's disk).
* **License management** — create / edit / revoke / delete keys, seats (machine-activation limits), expiry dates, notes, bulk issuance, CSV export.
* **Tiers & entitlements** — attach a tier label and an arbitrary entitlement bag (feature flags, limits) to each key, delivered to the plugin *inside the signed activation envelope* so one product can sell Basic vs Premium with no separate builds; the module reads them at runtime.
* **Versioned releases & channels** — every upload is a retained version; put trusted customers on a **beta** channel and promote or roll back instantly. Each loader picks up the right build on its next start based on its license's channel.
* **Free trial keys** — enable a self-serve trial per product and share one link; prospects claim a time-limited, seat-limited key (deduped per IP) and convert themselves.
* **Machine binding** — each license is bound to a configurable number of machines; resettable when a customer migrates hardware — by you, or by the buyer from the self-service portal.
* **Self-service customer portal** — buyers enter their key to see status and bound machines and free a seat themselves when they move servers (rate-limited), cutting the #1 DRM support ticket.
* **Custom branding** — put your name, accent colour, logo and support link on the customer-facing redeem / status / portal / trial pages so the whole flow feels like your product.
* **Access logs** — every activation attempt (allowed or denied) is recorded with IP, OS, Java version and hardware fingerprint, streamed live in the dashboard and exportable.
* **Abuse protection** — per-IP auto-ban and per-license rate-limiting to blunt sharing and brute-force attempts.
* **Marketplace automation** — connect **BuiltByBit** and **Voxel** (formerly Polymart) with your own private, per-tenant webhook + secret. A purchase auto-issues a key; a refund/chargeback auto-revokes it. See [marketplace-automation.md](/products/obsidian-license/marketplace-automation.md).
* **Analytics** — activation trends, active installs, denials and top products.

## The SaaS / business layer

* **Plans & billing** — Stripe-backed subscriptions (Checkout + a self-service Billing Portal). Plans gate `maxProducts`, `maxLicenses`, `maxSeatsPerLicense`, marketplace integrations and each growth feature above. A free tier ships out of the box; failed payments and cancellations automatically fall a tenant back to the free plan.
* **Team & reseller accounts** — invite teammates to manage products and licenses without sharing billing/login credentials, or add scoped **resellers** who can only issue keys for the products they're assigned.
* **API keys** — personal, revocable tokens for automating license management or CI-driven plugin uploads.
* **Security** — TOTP-based 2FA on login and an audit log of sensitive actions (revocations, plan changes, admin impersonation, etc.).
* **GDPR tooling** — self-service account data export and account deletion.
* **Public marketing site** — home / pricing / features / docs pages plus a self-serve registration flow.
* **Admin console** (operator-only) — manage all tenants/users, plans, the feature catalogue and the global audit log.

## Who it's for

Indie and studio developers who sell paid Minecraft (Paper) plugins and want to stop casual decompilation/resharing, get visibility into where their plugin is actually running, and automate license delivery from the marketplaces they already sell on.
