Your business logic code that implements the core functionality of your application. With LCC SDK, you write clean business logic without any license checking code.
The client library that provides the interface between your application and the LCC server. It handles registration, feature checks, and usage reporting.
The central license management system that validates licenses, enforces limitations, and provides usage analytics.
Cryptographically signed license files that define the customer's entitlements, including tiers, features, and usage limits.
┌─────────────────┐ 1. Register ┌─────────────────┐
│ Application │ ──────────────────▶│ LCC SDK │
│ (Your Code) │ │ Client │
└─────────────────┘ └─────────────────┘
│
2. Validate │
▼
┌─────────────────┐ ┌─────────────────┐
│ License File │ ◀───────────────── │ LCC Server │
│ (Signed JSON) │ 3. Enforce │ │
└─────────────────┘ └─────────────────┘
│
4. Report Usage │
▼
┌─────────────────┐
│ Analytics │
└─────────────────┘
Initialize the LCC client with your configuration.
Establish connection and validate license.
Perform feature checks and report usage.
Clean up resources when shutting down.
Create feature definitions in lcc-features.yaml specifying tiers, quotas, and limitations.
Develop your application functionality without any license checking code.
Execute lcc-codegen to automatically inject license checks.
Compile your application and verify license enforcement works correctly.
Check and consume quota in one step.
| Parameter | Type | Description |
|---|---|---|
| featureID | string | Unique identifier for the feature |
| amount | int | Number of units to consume |
| meta | map[string]any | Optional metadata for analytics |
Check if current count exceeds license-defined maximum.
Check if current TPS exceeds license-defined maximum.
Acquire a concurrency slot for parallel operations.
| Option | Type | Description | Default |
|---|---|---|---|
| LCCURL | string | URL of the LCC server | Required |
| ProductID | string | Product identifier | Required |
| ProductVersion | string | Product version string | Required |
| Timeout | duration | HTTP timeout for SDK calls | 30s |
| CacheTTL | duration | How long feature checks are cached | 10s |
Configure a feature and see the generated YAML configuration.