Licenses
// What a license is
A license is the unit of distribution between you and an end-user. A customer redeems a license key in your protected app; VentryShield binds that key to their hardware (HWID), keeps it valid until its expiration date, and rejects further use if it is revoked or moved to a different machine.
- NAMEHuman-friendly label for the key.
- KEYThe opaque secret the end-user actually enters.
- TYPECategory — e.g. Standard, Pro, Lifetime — used in analytics and on the Discover marketplace.
- EXPExpiration timestamp, or
-for an unlimited license. - HWIDThe hardware ID currently using the key, or
-if the key has never been redeemed.
// The licenses table
/applications/[applicationName]/licenses presents a TanStack React Table with columns for name, key, type, created date, expiration and a per-row actions menu. The toolbar above the table provides:
- SEARCHSearch by license key.
- FILTERStatus filter — All, Active, Expired, Unused.
- COLSColumn visibility toggle so you can hide noise.
- PAGECustom pagination footer.
// Creating licenses
The Create License button opens a dialog (createLicenseButton). You provide a name, a type, a duration, whether the key is HWID-bound and how many keys to mint at once. Bulk creation generates many keys in a single call and adds them straight into the table.
// Per-row actions
Each row exposes View / Edit (viewLicenseButton): inspect the key, see who is using it, change its expiration, or delete it. Sensitive operations require the ManageLicenses permission.
// Bulk operations
Select multiple rows with the checkboxes, then use the Bulk Manage button (bulkManageButton) to:
- DURExtend or replace the expiration date in one call.
- DELPermanently delete every selected license.
// Permissions
Viewing the page requires SeeLicenses or owner. Creating, editing and deleting licenses require ManageLicenses.