Overview
The KeySystem blocks the window from opening until the user submits a valid key. It is configured inside theCreateWindow config under the KeySystem field.
When KeySystem is present, WindUI renders a modal key dialog before creating the window. The dialog closes and the window opens only after a valid key is accepted.
Config Fields
Title text shown at the top of the key dialog. Defaults to the window
Title when omitted.The accepted key or list of accepted keys.
- Pass a
stringfor a single valid key. - Pass a
table(array of strings) to accept any key in the list.
API or KeyValidator.When On subsequent launches WindUI reads this file and skips the dialog if the saved key is still valid.
true, a validated key is written to disk at:Requires
Folder to be set in the window config. When Folder is absent, the path falls back to Temp/<hwid>.key.A custom validation function. Receives the entered key string and must return When
true (valid) or false (invalid).KeyValidator is set, Key and API are ignored.An array of external API service configurations for third-party key validation (e.g. Platoboost, Panda Development). Each entry specifies a
Type matching a registered service and the service-specific arguments.When API is present, the dialog shows a “Get key” button with a dropdown listing each configured service.A URL copied to the clipboard when the user clicks “Get key” in the dialog. Useful as a simple link to a key provider without a full API integration.
Additional note text rendered in the dialog body (supports RichText).
An optional image panel displayed on the left side of the key dialog.
Examples
1. Static Single Key
The simplest setup — one hardcoded key, no saving.2. Multiple Valid Keys
Pass a table to accept any one of several keys. Useful for per-user or tiered access.3. SaveKey — Persist After First Entry
The user enters the key once; it is saved to<Folder>/<hwid>.key. On future runs, the dialog is skipped automatically if the saved key is still valid.
4. Custom KeyValidator
UseKeyValidator when you need arbitrary validation logic — checksum checks, length constraints, prefix matching, HTTP lookups, etc.
5. Thumbnail + Note
Add a decorative thumbnail and a note to give users context.Validation Flow
The diagram below describes how WindUI resolves a key on each launch.Check saved key (when SaveKey = true)
If a
.key file exists at <Folder>/<hwid>.key, WindUI reads it and validates it silently using KeyValidator, the static Key/Key table, or the API services. If valid, the window opens without showing the dialog.Show key dialog
The dialog is shown if there is no saved key, or if the saved key failed validation.
Valid key
If
SaveKey = true, the key is written to <Folder>/<hwid>.key. The dialog closes and the window opens.Notes
KeyValidator, static Key, and API are mutually exclusive in priority: KeyValidator is checked first, then static Key, then API.