Skip to main content

🔑 License Settings

Configure license generation, display settings, and security options for your TKI Auth system.

Configuration Overview​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "TKI - "
Amount: 15
IncludeLetters: true
IncludeNumbers: true
UseHyphens: true
HyphenEvery: 5

Display Settings​

ListEph​

Type: boolean | Required: Yes | Default: true

Controls whether license list command responses are ephemeral (private).

ListEph: true   # Only command user sees license lists
ListEph: false # Everyone sees license lists (NOT RECOMMENDED)
Security Risk

Setting ListEph: false exposes sensitive license information to everyone in the channel. Always keep this true for security.

SearchEph​

Type: boolean | Required: Yes | Default: true

Controls whether license search results are ephemeral (private).

SearchEph: true   # Only searcher sees results
SearchEph: false # Everyone sees search results (NOT RECOMMENDED)

DeleteEph​

Type: boolean | Required: Yes | Default: true

Controls whether license deletion confirmations are ephemeral (private).

DeleteEph: true   # Only deleter sees confirmation
DeleteEph: false # Everyone sees deletion announcements

License Generation Settings​

LicensePrefix​

Type: string | Required: Yes | Default: "TKI - "

The prefix added to all generated license keys.

LicensePrefix: "TKI - "     # Results in: TKI - ABC12-DEF34
LicensePrefix: "MYAPP-" # Results in: MYAPP-ABC12-DEF34
LicensePrefix: "" # Results in: ABC12-DEF34 (no prefix)

Examples:

  • "TKI - " - Professional with space
  • "MYAPP-" - Company branding
  • "" - No prefix (clean)

Amount​

Type: number | Required: Yes | Default: 15

Total number of characters (letters and/or numbers) in the license key, excluding prefix and hyphens.

Amount: 15  # ABC12-DEF34-GHI56 (15 characters)
Amount: 20 # ABC12-DEF34-GHI56-JKL78 (20 characters)
Amount: 10 # ABC12-DEF34 (10 characters)

Recommended Values:

  • 10-12 - Simple keys, easy to type
  • 15-16 - Good balance of security and usability
  • 20-25 - High security, longer keys
  • 30+ - Maximum security, harder to manage

IncludeLetters​

Type: boolean | Required: Yes | Default: true

Whether to include letters (A-Z) in generated license keys.

IncludeLetters: true   # ABC12-DEF34
IncludeLetters: false # 12345-67890 (numbers only)

IncludeNumbers​

Type: boolean | Required: Yes | Default: true

Whether to include numbers (0-9) in generated license keys.

IncludeNumbers: true   # ABC12-DEF34
IncludeNumbers: false # ABCDE-FGHIJ (letters only)
Configuration Error

You must enable at least one of IncludeLetters or IncludeNumbers. Setting both to false will cause license generation to fail.

UseHyphens​

Type: boolean | Required: Yes | Default: true

Whether to include hyphens in license keys for better readability.

UseHyphens: true   # ABC12-DEF34-GHI56
UseHyphens: false # ABC12DEF34GHI56

HyphenEvery​

Type: number | Required: Yes | Default: 5

Insert a hyphen after every N characters (only applies if UseHyphens is true).

HyphenEvery: 5   # ABC12-DEF34-GHI56
HyphenEvery: 4 # ABC1-2DEF-34GH-I56
HyphenEvery: 3 # ABC-12D-EF3-4GH-I56

Example Configurations​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "TKI - "
Amount: 15
IncludeLetters: true
IncludeNumbers: true
UseHyphens: true
HyphenEvery: 5

Generates: TKI - ABC12-DEF34-GHI56

High Security Configuration​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "SECURE-"
Amount: 25
IncludeLetters: true
IncludeNumbers: true
UseHyphens: true
HyphenEvery: 5

Generates: SECURE-ABC12-DEF34-GHI56-JKL78-MNO90

Simple Configuration​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: ""
Amount: 10
IncludeLetters: true
IncludeNumbers: true
UseHyphens: true
HyphenEvery: 5

Generates: ABC12-DEF34

Numbers Only Configuration​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "NUM-"
Amount: 12
IncludeLetters: false
IncludeNumbers: true
UseHyphens: true
HyphenEvery: 4

Generates: NUM-1234-5678-9012

Letters Only Configuration​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "ALPHA-"
Amount: 12
IncludeLetters: true
IncludeNumbers: false
UseHyphens: true
HyphenEvery: 4

Generates: ALPHA-ABCD-EFGH-IJKL

No Hyphens Configuration​

LicenseSettings:
ListEph: true
SearchEph: true
DeleteEph: true
LicensePrefix: "CLEAN"
Amount: 16
IncludeLetters: true
IncludeNumbers: true
UseHyphens: false
HyphenEvery: 5 # Ignored when UseHyphens is false

Generates: CLEANABCD1234EFGH5678

Security Considerations​

License Key Complexity​

Low Security (10 characters, letters + numbers):

  • ~60 billion possible combinations
  • Suitable for small-scale applications
  • Easy to type and remember

Medium Security (15 characters, letters + numbers):

  • ~1 quintillion possible combinations
  • Good for most commercial applications
  • Balance of security and usability

High Security (25 characters, letters + numbers):

  • ~10^45 possible combinations
  • Suitable for enterprise applications
  • Extremely difficult to guess or brute force

Character Set Impact​

ConfigurationCharacters AvailableSecurity Level
Letters only (A-Z)26 charactersLower
Numbers only (0-9)10 charactersLowest
Letters + Numbers36 charactersHigher
Letters + Numbers + Special62+ charactersHighest

Prefix Security​

Secure Prefixes:

  • Avoid predictable patterns
  • Don't include sensitive information
  • Keep consistent across your application

Insecure Prefixes:

  • Company secrets or internal codes
  • Predictable version numbers
  • User-identifying information

Best Practices​

Key Generation​

  1. Use both letters and numbers for maximum security
  2. Choose appropriate length based on your security needs
  3. Enable hyphens for better user experience
  4. Use meaningful prefixes for branding and organization

Display Settings​

  1. Always keep ephemeral settings true for security
  2. Use private channels for license management
  3. Train staff on license information security
  4. Regular security audits of license settings

User Experience​

  1. Balance security with usability - longer isn't always better
  2. Use hyphens to make keys easier to read and type
  3. Consistent formatting across all your applications
  4. Clear instructions for users on how to use licenses

Migration and Changes​

Changing License Format​

Breaking Change

Changing license generation settings only affects NEW licenses. Existing licenses keep their original format and remain valid.

Safe Changes:

  • Modifying ephemeral settings
  • Changing prefix for new licenses
  • Adjusting hyphen settings

Considerations for Format Changes:

  • Existing licenses remain unchanged
  • Users may have both old and new format licenses
  • Update documentation and user guides
  • Consider migration timeline for consistency

Backing Up Settings​

# Always backup your current settings before changes
# Old settings (backup):
# LicensePrefix: "TKI - "
# Amount: 15

# New settings:
LicensePrefix: "NEWAPP-"
Amount: 20

Troubleshooting​

Common Issues​

License generation fails:

  • Check that IncludeLetters or IncludeNumbers is true
  • Verify Amount is a positive number
  • Ensure HyphenEvery is less than Amount

Keys look wrong:

  • Verify UseHyphens setting matches expectations
  • Check HyphenEvery value is appropriate
  • Confirm LicensePrefix is formatted correctly

Security concerns:

  • Ensure all ephemeral settings are true
  • Review character set complexity
  • Consider increasing Amount for higher security

Testing License Generation​

Use the license creation command to test your settings:

  1. Create a test license
  2. Verify the format matches expectations
  3. Check character distribution
  4. Confirm prefix appears correctly

Integration Notes​

API Integration​

Your license format affects API authentication:

  • Ensure your application can handle the chosen format
  • Account for hyphens in validation logic
  • Consider prefix in license parsing

Database Storage​

  • License keys are stored exactly as generated
  • Index considerations for search performance
  • Backup strategies for license data