# License Manager

### Overview

The License Manager is a core administrative feature of the Karini AI platform that governs organizational entitlements, resource consumption, and compliance enforcement. It provides a centralized interface for uploading, validating, and monitoring software licenses that control access to platform capabilities including AI unit allocation, administrator seat limits, and observability log retention policies.

The License Manager ensures that organizations operate within their contracted entitlements by automatically enforcing capacity limits on agent deployments and administrator invitations, while providing proactive warnings as consumption thresholds are approached.

### Key Concepts and Terminology

| Term                    | Definition                                                                                                                                        |
| ----------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| **License File (.lic)** | A cryptographically signed JSON file containing license entitlements, issued by the Karini account team.                                          |
| **AI Units**            | A metered resource representing compute capacity allocated to deployed agent workflows. Each agent version consumes a defined number of AI units. |
| **Administrator Seats** | The maximum number of organization-level administrator roles permitted under the licence.                                                         |
| **Tier**                | The license plan level (Launch, Scale, Organization, Global) that determines default capabilities and log retention.                              |
| **Log Retention**       | The duration for which observability traces are retained in the platform's telemetry store (ClickHouse).                                          |
| **Active License**      | The currently enforced license. Only one license can be active at a time; uploading a new license supersedes the previous one.                    |
| **Suspended**           | The state of an agent workflow that has been deactivated due to capacity limits or license expiration.                                            |

### Feature Capabilities

Following are feature capabilities supported by the License Manager:

#### 1. License Upload and Activation

To access the Karini License page, navigate as follows:

* Click the **Profile icon** at the left bottom corner of the application.
* Select **License** from the dropdown menu.
*

```
<figure><img src="/files/XtDuQxjnWnBjz2ZblD93" alt=""><figcaption></figcaption></figure>
```

* You will land on the **License Status** tab by default , displays real-time AI unit consumption, administrator seat usage, and full license details.

  <figure><img src="/files/UOyVJ5K9L9KUEtWPWl8Q" alt=""><figcaption></figcaption></figure>

* **Superusers** can upload license from the **License Upload** tab, while **Admins** and **Power Users** can view license details.

  <figure><img src="/files/ENK8akRAcM8uddS2bPpc" alt=""><figcaption></figcaption></figure>

* Drag and drop the `.lic` file into the drop zone, or click to browse and select the file.

* Click **Upload License** to submit.

* If an active license already exists, confirm the replacement in the dialog.

* On success, the view switches to the **License Status** tab showing the new license details.

#### 2. AI Unit Capacity Management

**AI Unit Capacity Management** provides real-time tracking of **AI unit consumption** across deployed agent workflows. It ensures that deployment and workflow operations remain within the **licensed AI unit capacity** while automatically managing workflow status when capacity changes.

* Tracks **AI unit usage** across all deployed agent workflows in real time.
* Enforces **licensed capacity limits** during agent deployment and workflow unsuspension.
* Automatically suspends workflows when **available capacity is reduced**.
* Automatically unsuspends eligible workflows when **additional capacity becomes available**.
* Displays **visual progress indicators** with **threshold-based colour coding** to monitor usage and capacity status.

#### 3. Administrator Seat Enforcement

**Administrator Seat Enforcement** tracks the number of active **organization-level administrator roles** and ensures that administrator access remains within the licensed seat limit. It helps prevent exceeding the allowed number of administrators when new users are invited or existing roles are updated.

* Tracks active **organization-level administrator roles**.
* Enforces **administrator seat limits** when inviting new administrators.
* Automatically updates the administrator count when administrators are **added or removed**.

#### 4. License Health Monitoring

**License Health Monitoring** provides proactive visibility into **license status, expiry timelines, and AI unit utilization**. It helps administrators and superusers identify potential license risks in advance and take timely action to avoid workflow disruption.

* Displays proactive **expiration warnings** at **90, 60, and 30 days** before license expiry.
* Sends **AI unit consumption warnings** when utilization reaches **80%**.
* Triggers **critical alerts** when AI unit capacity is fully consumed or the license has expired.
* Automatically suspends all **agent workflows** when the license expires.
* Displays **banner notifications** to **administrators and superusers** for improved visibility.

| Condition                      |   Severity   | Message                                                          |
| ------------------------------ | :----------: | ---------------------------------------------------------------- |
| AI units ≥ 80% consumed        |  **Warning** | **AI Unit consumption is at 85% (850 / 1000 AI Units).**         |
| AI units = 100% consumed       | **Critical** | **AI Unit consumption is at 100% (1000 / 1000 AI Units).**       |
| License expires within 90 days |   **Info**   | **Your licence expires in 90 days.**                             |
| License expires within 60 days |  **Warning** | **Your licence expires in 60 days. Please plan for renewal.**    |
| License expires within 30 days | **Critical** | **Your licence expires in 30 day(s). Please renew immediately.** |
| License has expired            | **Critical** | **Your licence has expired. All workflows have been suspended.** |

#### 5. Observability Log Retention

**Observability Log Retention** enables administrators to configure how long observability logs are retained in the system. It supports flexible retention periods and automatically applies the required storage and database policies based on the selected retention duration.

* Supports configurable retention periods of **1 month, 3 months, 6 months, and 1 year**.
* Automatically updates **TTL(Time to Live) policies** when the retention period is changed.

#### 6. Automatic Workflow Suspension and Unsuspension

#### On License Expiration

When a license expires, the platform automatically suspends all applicable workflows and updates the license state to prevent further AI unit consumption.

The following actions are performed:

1. All active **workflows** are suspended, excluding system **NLA workflows**.
2. Associated copilots are marked as suspended.
3. The license's **`ai_units_consumed`** value is reset to **`0`**.
4. The license status is updated to **`expired`**.

After workflows are suspended, the **Recipe** table displays the recipe status as **Suspended**, and the associated **Copilot** status is updated accordingly.

<figure><img src="/files/TclVYjbVg7GkxX1bxOca" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/RkGGYGpXDFDBsm0aVKpX" alt=""><figcaption></figcaption></figure>

Users can still access the suspended recipe, copilot, or webhook recipe; however, execution is restricted. When a user attempts to run or trigger a suspended workflow, the system displays the following error:

**This copilot is currently suspended. Please contact your administrator.**

<figure><img src="/files/xbSS8KZmPREVZC3fokl5" alt=""><figcaption></figcaption></figure>

#### On New License Upload

When a new license provides more **AI units** than the current consumption, the platform automatically evaluates suspended workflows for reactivation based on the available capacity.

The following actions are performed:

1. Suspended workflows are sorted by **suspension date**, with the **most recently suspended workflows processed first**.
2. Workflows are unsuspended one by one, provided their **AI unit cost** fits within the remaining licensed capacity.
3. The license's **`ai_units_consumed`** value is updated to reflect the adjusted total after workflows are unsuspended.

## Frequently Asked Questions

**Q: Who can upload a license?**

&#x20;A: Only users with the `superuser` role can access the License Upload tab and upload `.lic` files.

**Q: What happens to my existing license when I upload a new one?**&#x20;

A: The existing active licence is automatically marked as "superseded." Only one license can be active at a time.

**Q: Can I revert to a previous license?**&#x20;

A: No. Once a license is superseded, it cannot be reactivated. Contact your Karini account team if you need to revert entitlements.

**Q: What happens when my license expires?**

&#x20;A: All active agent workflows are automatically suspended, AI unit consumption is reset to zero, and a critical warning banner is displayed. Upload a renewed license to restore operations.

**Q: Will my workflows automatically resume after I upload a renewed license?**&#x20;

A: Yes. When a new license is uploaded with sufficient AI unit capacity, previously suspended workflows are automatically unsuspended (most recently suspended first) until the capacity limit is reached.

**Q: How are AI units calculated?**&#x20;

A: Each agent workflow version defines an AI unit cost. The total consumption is the sum of AI units across all deployed (non-suspended) agent workflows.

**Q: What file format does the license use?**&#x20;

A: Licenses use a `.lic` file extension containing a JSON structure with a base64-encoded payload.

**Q: Can I edit a license file manually?**&#x20;

A: No. License files are cryptographically signed. Any modification will invalidate the signature and the upload will be rejected.

**Q: How do I get a new license or upgrade?**&#x20;

A: Contact your Karini account team to request a new license, renewal, or tier upgrade.

**Q: Why can't I change the log retention period?**&#x20;

A: Log retention customization is only available on Global-tier licenses and requires the superuser role. Other tiers use fixed retention periods determined by the tier.

**Q: What does the "Administrator seat limit reached" error mean?**&#x20;

A: Your organization has used all administrator seats allocated by your license. You must either remove an existing administrator or contact your Karini account team to increase the seat allocation.

***


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://karini-ai.gitbook.io/karini-ai-documentation/license-manager.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
