Documentation

Product licensing

After purchase a product key is emailed to the buyer. The UV App will not run until that key is entered and accepted for the current Microsoft 365 tenant. Guest mailboxes from another domain are rejected.

What the buyer receives

Checkout creates an invoice and one key per purchased app, format UV-XXXX-XXXX-XXXX-XXXX-XXXX. The key is stored on the company account (Account → License keys) and sent by email.

Tenant email check

Activation is accepted only when all of the following are true:

  1. The key exists, is not revoked or expired, and matches the product.
  2. The activating user's email domain is a verified domain of the tenant the app is running in (tenantDomains from Microsoft Graph).
  3. That same domain (or an alias such as fabrikam.com ↔ fabrikam.onmicrosoft.com) is on the license's company allow-list.
  4. The first successful activation binds the key to that tenant ID. Later activations must use the same tenant.

A guest such as anna@outlook.com working in fabrikam.onmicrosoft.com cannot activate a Fabrikam license. Consumer mailboxes (Gmail, Outlook.com, …) are rejected unless they were explicitly licensed.

App integration

Call POST https://apps.unifiedvision.eu/api/license/activate from the web part. Until the API returns ok: true and a 24-hour entitlement token, render a blocking license screen — no data, no commands.

POST /api/license/activate
{
  "key": "UV-XXXX-XXXX-XXXX-XXXX-XXXX",
  "productSlug": "uv-directory",
  "tenantId": "<aad tenant guid>",
  "userEmail": "ada@fabrikam.com",
  "tenantDomains": ["fabrikam.com", "fabrikam.onmicrosoft.com"]
}

Re-check with POST /api/license/validate and the stored token (or the same body). Load the helper from /sdk/uv-license.js.

Legal licensing terms