Product keys

Product keys are customer-specific licenses that provide authentication and access control.

Creating product keys

Product keys are generated from product templates for individual customers.

Generate a new key

  1. Navigate to Products in your project dashboard
  2. Click Create new key next to the desired product
  3. Fill in the customer information and license fields
  4. Click Create customer

Customer information

Required for all product keys:

  • Email: Customer contact email
  • Name: Customer or organization name
  • Notes: Optional description/notes for internal reference

License field values

Complete the license fields defined in your product:

  • Required fields: Must be provided to create the key
  • Optional fields: Can be left empty if not needed
  • Default values: Pre-filled for non-editable fields
  • Validation: Email fields validate format, numbers check type

Sharing product keys

Two methods for delivering credentials to customers:

Secure, time-limited links that provide customers with:

  • Access to onboarding documentation
  • Download link for their JWT credentials
  • Product configuration details

To generate an onboarding link:

  1. Open the product key management page
  2. Click Share onboarding link
  3. Copy the generated URL
  4. Send to customer via email or secure channel

Link properties:

  • Valid for 7 days from creation
  • Single-use for security
  • Includes product markdown documentation
  • Provides downloadable JWT token

Manual sharing

Direct JWT token distribution for integration scenarios:

  1. Open the product key management page
  2. Click Share manually
  3. Copy the JWT token
  4. Send token to customer securely

Use manual sharing when:

  • Customers integrate tokens programmatically
  • You have existing secure distribution channels
  • Onboarding documentation is not needed

Managing existing keys

Viewing product keys

Access all customer keys from Customers in your project dashboard:

  • View customer information and contact details
  • See license field configurations
  • Monitor key status and usage

Updating customer information

  1. Click on a customer from the Customers list
  2. Modify name, email, or description fields
  3. Click Save changes

Note: License field values cannot be modified after key creation. Generate a new key for different configurations.

Revoking access

To revoke a customer’s access:

  1. Navigate to the customer’s product key page
  2. Delete the customer identity
  3. Confirm the deletion

Warning: Revoking access immediately invalidates the customer’s JWT token and removes all registry permissions.

Customer usage

Authentication

Customers use their JWT token for authentication:

# Registry login
docker login your-project.ctr.dev -u customer -p <jwt-token>

# API authentication
curl -H "Authorization: Bearer <jwt-token>" https://api.example.com/validate

Token properties

JWT tokens contain:

  • Customer identity: Unique identifier
  • License fields: Customer-specific configuration
  • Registry permissions: Assigned pull roles
  • Expiration: Token validity period (if configured)

Integration patterns

Common integration scenarios:

  • Registry access: Use token as Docker credentials
  • License validation: Verify token signature and extract license data
  • API authentication: Include token in Authorization headers
  • Feature gating: Check license fields for feature access