Skip to main content

What is license?

In CIAK, your license represents your subscription tier and entitlements. It controls which features you can use (for example vector search, knowledge base, multi‑project support) and is also used to authenticate cloud operations like cloud sync.

On disk, the license is stored in a small JSON file at ~/.ciak/license and is managed through the ciak license CLI command.

Where you see it in the product​

  • CLI
    • ciak license activate <KEY> – activate a license on this machine
    • ciak license status – show current license status and features
    • ciak license validate – re‑validate license with the server
    • ciak license deactivate – remove license from this machine
    • ciak license features – list available features for your tier
  • Cloud sync
    • ciak cloud-sync ... uses the license automatically for authentication
    • The cloud API sees your user/tenant ID and license key from the license file
  • (Planned) User portal
    • Account / billing section showing your tier, renewal date, and enabled features

When to use or change your license​

  • When you first start using CIAK
    • Activate your license once using ciak license activate <KEY>.
    • This creates the ~/.ciak/license file that all tools (CLI, cloud sync, user portal) rely on.
  • When you upgrade or downgrade
    • Use ciak license upgrade (or the web UI) to move to a different tier.
    • After upgrading, run ciak license validate to refresh the local license file.
  • When moving to a new machine
    • Deactivate on the old machine: ciak license deactivate.
    • Activate on the new machine with the same key.

Behavior and options​

A CIAK license typically contains:

  • Tier – e.g. Developer, Professional
  • User – email / account identifier
  • Expiration – date when the license expires
  • Features – list of enabled capabilities (vector search, knowledge base, advanced filters, multi‑project, etc.)

Internally, the license is used to:

  • Control which features are turned on in the CLI and backend.
  • Provide authentication for cloud sync (CloudSyncConfig reads the license file and uses the key + user ID).
  • Enforce limits per tier (for example: access to vector search or multi‑project support).

If no license is present:

  • Some commands will run in a limited / trial mode.
  • Cloud sync will fail with messages like:
    • No license found. Run 'ciak license activate <KEY>' first.

Examples​

Example 1 – Activate a new license​

# Activate license on this machine
ciak license activate XXXX-XXXX-XXXX-XXXX

# Verify status
ciak license status --detailed

Expected result:

  • License file is created at ~/.ciak/license.
  • Status output shows tier, user, expiry date, and available features.

Example 2 – Use cloud sync after activation​

# After activating your license
ciak scan --embeddings
ciak cloud-sync full --path . --sync-profile full

Expected result:

  • Scan populates your local .ciak/database.db.
  • Cloud sync reads the license file, authenticates to the cloud API, and uploads project data.

Input and output example​

Representative CLI output (truncated; exact formatting may vary by version):

Input

ciak license status --detailed

Output

License status: active
Tier: Professional
User: user@example.com
Expires: 2026-12-31

Features:
- vector_search
- knowledge_base
- symbol_analysis
- cloud_sync
  • scan – builds the local database used for analysis and cloud sync.
  • sync – knowledge base sync from configuration files.
  • Cloud sync (ciak cloud-sync) – pushes scanned data to the cloud API using your license.

FAQ​

Do I always need an active license?​

  • For basic local experimentation you may be able to run some commands without a license.
  • For cloud features (cloud sync, SaaS portal) and advanced capabilities (vector search, advanced filters) you need an active license.

What happens if my license expires?​

  • Local data remains on disk, but some features may be disabled.
  • Cloud requests can start failing with authentication or authorization errors.
  • Run ciak license upgrade or renew via the web UI, then ciak license validate.

Where is the license stored?​

  • Default path: ~/.ciak/license.
  • It is a JSON file read by both the CLI and cloud sync logic.