Licensing Information
This document provides comprehensive information about licensing options, requirements, and management for AI Controller. Understanding AI Controller's licensing model is essential for proper deployment and usage of the system in your organization.
Licensing Overview
AI Controller uses a license key system to validate and control usage. There are two primary licensing models available:
- Cloud Licensing (CL): License validation occurs through a connection to a cloud license server
- On-Premise Licensing (OP): License validation occurs locally without external communication
Both licensing models support the same features. The only differences are how validation occurs and how license changes/updates are managed.
Obtaining Licenses: - Cloud Licenses: All subscriptions created through the AI Controller website automatically use Cloud licensing - On-Premise Licenses: For environments without external connectivity, contact your AI Controller representative directly to request an On-Premise license
Key Licensing Concepts
Active Use
An "Active Use" in AI Controller is defined as:
A unique use of AI Controller, through the frontend or API Key, from any given machine/user combination in a 24-hour period.
This is the primary metric used for licensing and determines how many concurrent users or applications can access AI Controller.
Maximum Concurrent Accesses (MCA)
Each subscription is sold with a number of MCAs, for example 100 MCAs. One MCA maps directly to the 'Active Use' concept described above. This means, for example, that a 100 MCA subscription will allow a maximum of 100 Active Uses at any time.
Licensed Endpoints
Not all AI Controller endpoints require a valid license or contribute to the Active Use count. Here's a breakdown:
Endpoint | Valid License Required | Contributes to Active Use Count |
---|---|---|
/work | Yes | Yes |
/logs | Yes | Yes |
/cache | Yes | Yes |
/users | No | No |
/providers | No | No |
/features | No | No |
/roles | No | No |
/login | No | No |
/logout | No | No |
/licensing | No | No |
/apikeys | No | No |
This design allows administrators to configure AI Controller (add users, modify providers, etc.) even when the maximum Active Use count has been reached or when adding a new license.
License Management Interface
Accessing License Management
To access the license management interface:
- Log in to AI Controller with an administrator account
- Navigate to Admin -> Licensing in the sidebar
This page allows you to view current license information and add or replace license keys.
Screenshot: Shows the licensing interface with current license information and management controls
Viewing License Information
The system provides two main interfaces for monitoring your license status and usage: the Licensing screen and the Dashboard screen.
The Licensing screen displays:
- Status: Indicates whether your license is valid (shown with a green checkmark)
- Expiry Date: Shows when your license will expire (format: DD-MM-YYYY)
- Days Left: Displays the number of days remaining until license expiration
- Max Uses: Shows the maximum number of uses allowed under your license
- Daily Usage: A table showing your recent usage history with dates and usage counts
You can navigate through usage history using the pagination controls at the bottom of the screen. The interface also includes a "REPLACE LICENSE KEY" button in the top-right corner to allow an existing Licence Key to be replaced with a new one, should this be required.
For detailed information about the Dashboard screen, please refer to the Dashboard documentation.
License Status Notifications
The AI Controller home page displays a notification card with license status:
- Valid License: "AI Controller is running in licensed mode. Current license expires in X days."
- Invalid/Missing License: "AI Controller is running in UNLICENSED mode. Please provide a valid license key."
These cards also link to the Licensing page, so clicking them will take you there.
License Key Management
For instructions on adding or replacing a license key, please refer to the Admin UI Setup Guide.
Managing your license key depends on your licensing type:
Cloud Licensing
With Cloud licensing, the license key typically does not need to be updated for:
- License expiration renewals
- Upgrades to licenses with more active uses
- Modifications to an existing subscription
These changes can be managed remotely by your license administrator without requiring a new key.
On-Premise Licensing
With On-Premise licensing, you will need to replace your license key in the following scenarios:
- When your current license is approaching expiration
- When you need to upgrade to a license with more active uses
- When you're switching between license types
Additionally, a new license key will be required for both licensing types if you are starting a completely new subscription (not modifying an existing one).
Cloud Licensing Details
Cloud Licensing (CL) offers a key advantage:
- License changes can be made remotely without updating the key in AI Controller
Customers can manage their subscriptions (and therefore licenses) through the Billing portal.
Cloud Licensing Provider and Security
AI Controller uses Keygen.sh as the licensing provider for Cloud licenses:
- All communication with Keygen is conducted over secure HTTPS connections
- All responses from Keygen are cryptographically verified to ensure authenticity
- AI Controller communicates with Keygen at specific times:
- During system startup
- At midnight every day (for validation checks)
- When license status changes are detected (e.g. if a new licence key is added)
Data Privacy
It's important to note that no personal data or usage statistics are transmitted with license validation requests. The license validation process only confirms the validity of your license and does not track or report how you use AI Controller.
CL License Key Format
A Cloud License key has this format:
Machine Activation
When adding a Cloud License key:
- AI Controller generates a machine "fingerprint" for the server it's running on
- This fingerprint is sent to the license server for activation
- If activation succeeds, the license is validated and stored
- If activation fails, an error is returned
CL License Properties
Cloud Licenses include:
- Maximum number of machines (typically 1)
- Maximum active use count
- Expiration date
- Optional active use lifetime setting
On-Premise Licensing Details
On-Premise Licensing (OP) is designed for environments where external connectivity is limited or prohibited:
- No external communication required for license validation
- License validation occurs entirely within AI Controller
- License changes require manual key replacement
OP License Key Format
An On-Premise License key is a 344-character base64 encoded, encrypted string.
Machine Locking
On-Premise licenses are locked to a specific machine:
- Before obtaining an OP license, you must run the Locking Code Generator utility
- This utility generates a unique code based on your server's hardware
- The generated code must be provided when requesting your license
- When installing the license, AI Controller verifies the server matches the locked hardware profile
OP License Properties
On-Premise Licenses include:
- Machine locking code
- Maximum active use count
- Expiration date
- Optional active use lifetime setting
Locking Code Generator
The Locking Code Generator utility creates a unique machine identifier based on:
- Hostname
- Disk ID
- MAC address
To use the utility:
- Locate the Locking Code Generator in the 'bin' directory of your AI Controller installation archive
- Run it on the server where AI Controller will be installed
- Copy the generated locking code
- Provide this code when purchasing or requesting your license
License Validation Process
AI Controller performs license validation at several points:
Startup Validation
When AI Controller starts:
- The stored license key is retrieved from the database
- For CL licenses: Connects to the license server to validate
- For OP licenses: Decrypts and validates the key locally
- Checks expiration date and machine information
- If valid, license information is stored in memory
- If invalid, an error is logged and AI Controller enters unlicensed mode
Daily Validation
AI Controller also performs regular validation:
- A daily check occurs at midnight
- If successful, license information is updated
- If unsuccessful but expiration is > 1 day away, no action is taken
- If unsuccessful and expiration is imminent (1 day), checks increase to every 6 hours
- If still unsuccessful after expiration, license is marked invalid
Per-Request Validation
When a licensed endpoint is accessed:
- The current license validity is checked
- For contributing endpoints, the active use count is verified
- If the license is invalid, a 401 error is returned
- If the maximum active use count is exceeded, a 401 error is returned
Troubleshooting License Issues
Common License Errors
Error Message | Possible Cause | Solution |
---|---|---|
"A valid license is not in place for The AI Controller" | Missing or expired license | Add a valid license key or renew your existing license |
"The maximum number of Active Users specified for the License has been reached" | Active use limit exceeded | Upgrade to a license with more active uses or wait for existing uses to expire |
"Machine Activation failed" | Server cannot communicate with license server or machine fingerprint doesn't match | Check network connectivity or ensure you're installing on the authorized machine |
"The provided License Key is not valid for the server running The AI Controller" | OP license machine mismatch | Generate a new locking code and request an updated license |
License Validation Failure
If AI Controller cannot validate your license:
-
For Cloud Licenses:
-
Check network connectivity to the license server
- Verify firewall rules allow the connection
-
Contact support to verify license status
-
For On-Premise Licenses:
-
Verify the license hasn't expired
- Ensure hardware hasn't changed significantly
- Regenerate locking code and compare with support
License Expiration Management
On-Premise Licenses
To avoid service interruption due to license expiration with On-Premise licenses:
- Monitor the "Days Until Expiry" value on the licensing page
- Request a renewal when less than 30 days remain
- Plan to replace the license key at least 7 days before expiration
- Set up alerts for license expiration warnings (displayed when < 7 days remain)
Cloud Licenses
Cloud licenses handle renewal automatically, provided your subscription remains active. No manual intervention is typically required for license expiration management with Cloud licensing.
License Types and Sizing
Selecting the Right License
When choosing an AI Controller license, consider:
- Number of Users: How many simultaneous users will access AI Controller
- Usage Patterns: How frequently each user will access the system
- Environment Connectivity: Whether cloud validation is acceptable
- Integration Requirements: How many applications will connect to AI Controller
License Sizing Guidelines
Organization Size | Recommended Active Uses | Notes |
---|---|---|
Small (1-10 users) | 10-20 | Minimum subscription size is 10 active uses |
Medium (10-50 users) | 20-100 | Allows for growth and multiple client applications |
Large (50+ users) | 100+ | Custom sizing recommended based on usage patterns |
License Upgrade Path
Cloud Licenses
For Cloud licenses, upgrades can be managed at any time during a subscription:
- The subscription owner can make changes through the Billing Portal
- No manual license key replacement is required in AI Controller
- Changes to the subscription take effect automatically
On-Premise Licenses
If you need to upgrade your On-Premise license:
- Contact your AI Controller representative to purchase an upgrade
- Receive your new license key
- Use the "Replace License Key" function to apply the upgrade
- No restart is required; the new license takes effect immediately
Related Documentation
Updated: 2025-05-27