License Management
Learn how AxonFlow licensing works across Community, Evaluation, and Enterprise tiers.
Overview
AxonFlow uses a three-tier licensing model. Each tier controls resource limits and feature access — not node counts.
| Tier | License Required | Cost | How to Get |
|---|---|---|---|
| Community | No | Free | Clone the repo |
| Evaluation | Yes | Free | getaxonflow.com/evaluation-license |
| Enterprise | Yes | Paid | AWS Marketplace or [email protected] |
What Each Tier Controls
| Resource | Community | Evaluation | Enterprise |
|---|---|---|---|
| Tenant policies | 20 | 50 | Unlimited |
| Organization policies | 0 | 5 | Unlimited |
| Connectors with custom policies | 2 | 5 | Unlimited |
| LLM providers | 2 | 3 | Unlimited |
| Audit log retention | 3 days | 14 days | 3650 days (configurable) |
| MAP plans | 25 | 100 | Unlimited |
| Versions per plan | 10 | 25 | Unlimited |
| Execution history | 50 | 500 | Unlimited |
| Concurrent executions | 5 | 25 | Unlimited |
For a full feature comparison, see the Feature Matrix.
Community Tier (No License)
Community requires no license key. Run AxonFlow without AXONFLOW_LICENSE_KEY and Community limits apply automatically.
git clone https://github.com/getaxonflow/axonflow.git
cd axonflow
docker compose up -d
# Community mode — 20 tenant policies, 3-day audit retention
Evaluation License (Free)
Evaluation provides elevated limits for serious evaluation and pre-production validation. The license is free and time-bound — register with a named owner to receive your key.
Getting an Evaluation License
- Go to getaxonflow.com/evaluation-license
- Enter your name, email, and organization
- Your license key is delivered to your email
Activating Your Evaluation License
Set the AXONFLOW_LICENSE_KEY environment variable before starting AxonFlow:
# Docker Compose
export AXONFLOW_LICENSE_KEY="AXON-eyJ...<payload>.<signature>"
docker compose up -d
# Or add to your .env file
echo 'AXONFLOW_LICENSE_KEY=AXON-eyJ...<payload>.<signature>' >> .env
docker compose up -d
AxonFlow validates the license on startup and applies Evaluation limits immediately.
Enterprise License
Enterprise unlocks compliance modules, identity management (SSO/SCIM), advanced connectors, and unlimited resource limits.
Getting an Enterprise License
AWS Marketplace:
- Subscribe to AxonFlow on AWS Marketplace
- License key is provided after subscription
- Set as
AXONFLOW_LICENSE_KEYin your CloudFormation parameters
Direct Purchase:
- Contact [email protected]
- Receive your Enterprise license key via email
Activating Your Enterprise License
During CloudFormation Deployment
- In the CloudFormation stack parameters, locate LicenseKey
- Paste your full license key
- Complete the stack deployment
The license is automatically validated when agents and orchestrators start.
After Deployment (Updating License)
Option 1: Update CloudFormation Stack
- Go to CloudFormation → Your Stack → Update
- Choose Use current template
- Update the LicenseKey parameter
- Confirm and wait for stack update
- ECS tasks will automatically restart with the new license
Option 2: Update Environment Variable Directly
# Update via AWS Secrets Manager (recommended)
aws secretsmanager update-secret \
--secret-id axonflow/license-key \
--secret-string "AXON-eyJ...<payload>.<signature>"
# Force service restart to pick up new license
aws ecs update-service --cluster axonflow-cluster \
--service axonflow-agent-service --force-new-deployment
aws ecs update-service --cluster axonflow-cluster \
--service axonflow-orchestrator-service --force-new-deployment
License Format
AxonFlow license keys are signed tokens with the format:
AXON-{BASE64URL(JSON_PAYLOAD)}.{BASE64URL(ED25519_SIGNATURE)}
AXON-— fixed prefix{BASE64URL(JSON_PAYLOAD)}— base64url-encoded JSON payload (tier, tenant ID, expiry, etc.){BASE64URL(ED25519_SIGNATURE)}— base64url-encoded Ed25519 signature over the encoded payload
Example: AXON-eyJ0aWVyIjoiRVZBTFVBVElPTiIsLi4ufQ.6r4f...
Do not attempt to construct or modify license keys manually. Invalid signatures will cause the license to be rejected.
License Expiry and Graceful Degradation
Licenses include an expiry date. When a license expires, AxonFlow does not stop working — it gracefully degrades to Community limits:
| After Expiry | Behavior |
|---|---|
| Tenant policies | Capped at 20 (Community limit) |
| Organization policies | Disabled (0) |
| Connectors with custom policies | Capped at 2 (Community limit) |
| Audit retention | 3 days (Community limit) |
| Existing data | Preserved — nothing is deleted |
To restore elevated limits: Set a valid, non-expired license key and restart AxonFlow.
Enterprise compliance features (EU AI Act, SEBI, MAS FEAT, EBA ML) require an active Enterprise license. When an Enterprise license expires, compliance modules become unavailable, but audit data is retained.
Upgrading Between Tiers
Community → Evaluation
- Register at getaxonflow.com/evaluation-license
- Set
AXONFLOW_LICENSE_KEYin your environment - Restart AxonFlow
- Limits increase immediately — no migration needed
Evaluation → Enterprise
- Contact [email protected] or subscribe via AWS Marketplace
- Replace your Evaluation license key with the Enterprise key
- Restart AxonFlow
- Enterprise features and unlimited limits are enabled immediately
All upgrades are seamless:
- Existing policies, configurations, and audit data are preserved
- SDKs work identically across all tiers — no code changes required
- No data migration or schema changes needed
Troubleshooting
License Not Recognized
Symptoms: AxonFlow starts in Community mode despite having AXONFLOW_LICENSE_KEY set.
Check:
# Verify the environment variable is set
echo $AXONFLOW_LICENSE_KEY
# Verify it starts with the expected prefix
echo $AXONFLOW_LICENSE_KEY | cut -c1-5
# Expected: AXON-
# Check for extra whitespace or newlines
echo "$AXONFLOW_LICENSE_KEY" | wc -c
Common causes:
- Extra whitespace or newline in the license key
- License key not passed through to the container environment
- Typo in environment variable name (
AXONFLOW_LICENSE_KEY, notAXON_LICENSE_KEY)
License Expired
Symptoms: Features that previously worked now return tier validation errors.
Check: Look for LICENSE_EXPIRED in your logs.
Fix:
- Obtain a renewed license key from your provider
- Update
AXONFLOW_LICENSE_KEY - Restart AxonFlow
Policy Limit Exceeded
Symptoms: Creating a new policy returns POLICY_LIMIT_EXCEEDED or ORG_POLICY_LIMIT_EXCEEDED.
Fix:
- Community (20 limit): Upgrade to Evaluation (free) for 50 tenant policies
- Evaluation (50 tenant / 5 org): Upgrade to Enterprise for unlimited policies
- Or remove unused policies to stay within your tier's limit
Security Best Practices
Storing License Keys
Recommended:
- Store in AWS Secrets Manager and reference from your task definition
- Use CloudFormation parameters with
NoEcho: true - Limit IAM access to the secret
Avoid:
- Hardcoding in application code or Docker Compose files committed to git
- Storing in plain text files
- Sharing via unencrypted channels
AWS Secrets Manager Integration
# Create secret
aws secretsmanager create-secret \
--name axonflow/license-key \
--description "AxonFlow license key" \
--secret-string "AXON-eyJ...<payload>.<signature>"
# Reference in ECS task definition using valueFrom:
# arn:aws:secretsmanager:REGION:ACCOUNT:secret:axonflow/license-key
Support
| Tier | Support Channel | Response Time |
|---|---|---|
| Community | GitHub Issues | Best effort |
| Evaluation | GitHub Issues | Best effort |
| Enterprise | Priority support (email + dedicated) | Per SLA |
License-related issues: Contact [email protected]
Related Documentation:
