zplCore.comzplCore.com

39Licence key

zplCore checks its licence offline: the licence key is digitally signed and verified locally against its signature. zplCore never connects to zplCore.com or anyone else for it – no phone-home, no telemetry – and works without internet access, also in isolated networks.

Without a key: evaluation mode

The NuGet packages are public on nuget.org and run without a key – for development and testing only, without support. Everything works, but outputs are marked:

  • images and PDF documents: a diagonal zplCore.com TRIAL across every label,
  • SVG: only as raster image with the watermark (vector SVG needs a licence),
  • generated ZPL (label model, data binding, batches, converters such as EPL → ZPL or image → ZPL): several printed zplCore.com TRIAL fields on every label,
  • barcodes from the barcode generator: a strip evaluation – zplCore.com below the symbol (the symbol stays scannable),
  • exports to other printer languages (EPL, Fingerprint, ESC/POS, PCL).

Rendering existing ZPL never changes that ZPL – only the image of it is marked. For an evaluation with support, ask for a free 30-day trial key; it marks outputs the same way. With a purchased licence key the marks disappear from all new outputs.

Registering the key

zplCore looks for the key in this order:

  1. in code, once at start-up: ZplCoreLicense.Register(key) or ZplCoreLicense.RegisterFile(path),
  2. the environment variable ZPLCORE_LICENSE (the key itself),
  3. the environment variable ZPLCORE_LICENSE_FILE (path of a file that contains the key),
  4. a file zplcore.license next to your application.
using ZplCore.Licensing;

ZplCoreLicense.Register(builder.Configuration["ZplCore:License"]!);
// or: ZplCoreLicense.RegisterFile("/run/secrets/zplcore.license");

Register throws a ZplLicenseException with a clear message when the key is damaged or not genuine. Keys found in the environment or as a file never stop your application: if such a key is invalid, zplCore runs in evaluation mode and says why in ZplCoreLicense.Status.Message.

  • zplCore Designer: the key must include the product Designer and an SDK licence of the same or a higher licence type. Option License, ZPLCORE_LICENSE, container docker run -e ZPLCORE_LICENSE=…, Helm license.existingSecret. Every API response carries the header X-ZplCore-License.
  • Command line tool and MCP server: --license <key|file>, or the environment variables and the file above.
Keep the key confidential like a password – in a secret store, a CI secret or an environment variable. Never put it into public repositories, packages or examples.

Checking the status

var status = ZplCoreLicense.Status;                                  // SDK
Console.WriteLine($"{status.State}: {status.Message}");
var designer = ZplCoreLicense.GetStatus(ZplLicenseProduct.Designer);
StateMeaningMarked outputs
Licensedvalid licenceno
Unlicensedno key foundyes
Trialvalid trial keyyes
Expiredtrial or subscription period endedyes
VersionNotCoveredthis version was released after your end of maintenanceyes
ProductNotLicensedthe key does not include the product (Designer: no SDK licence of the same or a higher type)yes
Invalidkey damaged or not genuineyes

How long a key is valid

  • Perpetual licence: valid for all versions released up to the end of maintenance, and it never expires for them. When maintenance ends, your existing versions keep running without marks; versions released later need a maintenance renewal.
  • Subscription: valid until the end of the subscription; afterwards zplCore runs in evaluation mode – it does not stop.
  • Trial: 30 days, then evaluation mode.

The key states the licensee, the licence type (Developer, Team, OEM/SaaS, Enterprise, Trial), the products (SDK, Designer), the number of seats and the end of maintenance or of the term. zplCore never counts seats; the number is part of your licence terms.

Attribution “by zplCore.com”

ZplCoreLicense.Attribution = true writes a small by zplCore.com in the lower right corner of every label (images, PDF, SVG and generated ZPL) and a strip below barcodes from the barcode generator, also with a valid licence – for public services that render labels for others.

Lost key or key exposed by mistake: write to support@zplcore.com – you will get a replacement.