Skip to main content
Version: v0.25.0 (Latest)

License and capabilities

The platform license is the commercial entitlement that makes this deployment legal and functional. It names the customer, the installation, the licensed products and modules, and (when reported) quota usage. Capabilities are what operators see and can turn on because of that entitlement: which protocol products appear in the rail, whether multi-instance issuer is allowed, whether sub-tenant management is on, and which options appear when you onboard a tenant.

These are not the same thing:

  • The license is a signed platform artifact managed under Resources > License (platform tenant only).
  • Capabilities are the runtime effect of that license (and product defaults) on the console and APIs. A missing module often means a rail entry is locked or hidden, not a blank form.

Audience: platform operator.

Prerequisites: platform management access (active tenant is the platform tenant). Initial license install is usually part of enterprise deployment. This guide covers review, contact maintenance, request generation, and bundle import after the platform is already running.

Reference: Current license, Contacts and request, Import license.
APIs: Platform Admin (/application/license), Platform Setup (license-management request and import).

How the license shapes the console

When the operator session loads, the console resolves a deployment context from the application license (and product bootstrap): enabled protocol services, resource products, instance caps, and tenant scope. That context decides:

EffectIf the license (or product profile) allows itIf it does not
Protocol rail (Authorization Server, Issuer, Verifier)Surface is open for tenant configurationSurface is locked or omitted
Instance capsCreate instance stays available until the quota is reachedCreate is disabled when used equals limit
Sub-tenant managementL1 Tenants list and Register tenantOperator stays on a single tenant scope
Resource products (KMS, Secrets, Status Lists, ...)Shown when licensed for this deploymentHidden or locked

Tenant registration capabilities (credential issuer, presentation verifier, keys and DIDs, sample data) are chosen per tenant during onboarding. They cannot invent modules the platform license does not allow. If issuer is not licensed, checking Issuer on the wizard will not produce a usable issuer later.

Quota numbers on the Current license page (for example max root tenants) explain why a Create action is greyed out even though the rail still shows the product.

Current license

Platform-only. Switch the tenant picker to the platform management tenant, then open License.

You see overall status (for example Active), expiry and days remaining, installation id, customer id, and issuer. Licensed products list each product and edition, optional modules (for example oid4vci, oid4vp), and quota projections when the backend reports them. The signing certificate fingerprint identifies the trust material used for the entitlement; operators copy it for support, not as a password.

Warnings appear when renewal is near or the projection reports a problem. Fix those before they become an outage: generate a request, obtain a new bundle, import it.

Navigation: Resources > License > Current license (platform tenant)
Deep link: #tenant=platform&resource=license&rarea=overview

Current platform license overview

Contacts and license request

When you need a new or renewed license from the license provider, the platform builds a signed request that includes organization and contact data. Private keys for the request stay on this platform; you send only the signed JSON (and CSR material) outward.

Organization name, unit, base domains, and location fields are often read-only after first setup (organization renames may require a later product release). Technical contact and administrative contact are editable. Use Same as technical contact when one person covers both roles.

Save contacts persists the draft without generating a request. Generate license request creates the signed artifact: request id, CSR fingerprint, signature algorithm, and downloadable JSON. Deliver that file to the license provider through your commercial channel. Keep the private keys local; never paste them into tickets.

Navigation: Resources > License > Contacts & request
Deep link: #tenant=platform&resource=license&rarea=request

License contacts and request form

Import license

The license provider returns a protected ZIP bundle. Import is two-step so you can see overwrite impact before the platform applies it.

  1. Choose the ZIP (size limit applies; typically up to 50 MB).
  2. Preview contents inspects the bundle: recipient private key present or not, platform certificate, license root CA, customer party info, and a list of files.
  3. Read Will overwrite. Import replaces the active license and can replace security material listed there.
  4. Acknowledge the impact, then Import and activate.

After a successful import, return to Current license and confirm status, expiry, and modules. Then re-check tenant onboarding and any instance Create actions that were blocked by quotas.

Do not import a bundle meant for a different installation id or customer. Wrong recipient key material fails import or leaves the platform unable to prove entitlement.

Navigation: Resources > License > Import license
Deep link: #tenant=platform&resource=license&rarea=import

Import license bundle

Capabilities during tenant onboarding

When you register a tenant, the Capabilities step chooses what that tenant should receive on provision: credential issuer, presentation verifier, automatic keys and DIDs, sample data. Those flags are tenant provisioning choices constrained by the platform license.

Capability on the wizardConsequence if enabledIf disabled
Credential issuerIssuer instance and OID4VCI paths for the tenantNo issuer product for that tenant until you add it later (if licensed)
Presentation verifierVerifier instance and OID4VP pathsNo verifier until added later
Keys and DIDsProduct-managed KMS and DID material during setupEmpty Key Management / DID until operators create them
Sample dataLab designs, playground clients, demo fixturesClean tenant without sample catalog noise

Use sample data for labs and demos. Avoid it for production customer tenants unless your product standard requires it.

Register tenant capabilities step
  1. Confirm Current license is Active and expiry is acceptable.
  2. Keep contacts current before a commercial renewal cycle.
  3. Generate a request, send it to the license provider, import the returned bundle.
  4. Re-check rail products and instance Create affordances.
  5. Onboard tenants with capability flags that match the renewed modules.

After license and capabilities

  1. Onboard a tenant under the modules you licensed
  2. Secrets and KMS providers when credential stores must move or be shared
  3. Keys and DID for key and identifier lifecycle

Next