Taxonomy
Overview

Taxonomy Overview

The NIL Taxonomy provides a standardized framework for classifying Name, Image, and Likeness licenses.

Purpose

Traditional NIL contracts are:

  • Inconsistent across deals
  • Difficult to compare
  • Hard to search and analyze
  • Prone to ambiguity and disputes

The NIL Taxonomy solves this by providing:

  • Standardized dimensions for all license aspects
  • Canonical identifiers for interoperability
  • Clear definitions to prevent ambiguity
  • Machine-readable format for automation

Structure

The taxonomy consists of 3 core components:

1. Dimensions (12 total)

The fundamental attributes of any NIL license:

{
  subject_scope: ['name', 'image', 'likeness'],
  use_type: ['brand_marketing'],
  commercial_scope: 'full_commercial',
  exclusivity: 'none',
  territory: { countries: ['US'] },
  term: { start_date: '2024-01-01', end_date: '2025-12-31' },
  derivative_rights: 'limited',
  ai_synthetic_use: 'prohibited',
  data_use: { level: 'aggregated_anon' },
  attribution: 'name_required',
  sublicensing: 'prohibited',
  content_safety: { restricted_categories: ['adult', 'tobacco'] }
}

2. Base Licenses (Templates)

Pre-configured combinations for common use cases:

  • NIL-EDU - Educational/Documentary
  • NIL-COMM-STD - Standard Commercial
  • NIL-COMM-DERIV - Commercial + UGC
  • NIL-EXCL-CAT - Category Exclusive

3. Validation Rules

Rules ensuring licenses are logical and complete:

  • Required field checks
  • Enum value validation
  • Logical consistency checks
  • Dependency validation

Use Cases

Contract Generation

Generate standardized NIL contracts:

import { createCommercialLicense } from '@nil-taxonomy/sdk';
 
const license = createCommercialLicense()
  .setTerritoryCountries(['US', 'CA'])
  .setTerm('2024-01-01', '2025-12-31')
  .build();
 
// Convert to legal contract
const contract = await generateContract(license, {
  athlete: athleteData,
  brand: brandData,
  compensation: compensationTerms
});

Deal Comparison

Compare NIL deals across athletes:

SELECT 
  athlete_name,
  license_config->'commercial_scope' as scope,
  license_config->'territory' as territory,
  license_config->'term' as term
FROM nil_contracts
WHERE license_config->'use_type' ? 'brand_marketing'
ORDER BY created_at DESC;

Compliance Checking

Verify contracts comply with athlete restrictions:

import { validateLicense } from '@nil-taxonomy/sdk';
 
const result = validateLicense(proposedLicense);
 
if (!result.valid) {
  console.error('Contract violates taxonomy rules:', result.errors);
}
 
// Check against athlete's existing deals
const conflicts = checkExclusivityConflicts(
  proposedLicense,
  athlete.existing_licenses
);

Rights Management

Track what rights have been granted:

// What rights are available?
const availableRights = calculateAvailableRights(
  athlete.existing_licenses
);
 
console.log('Can sign athletic apparel deal?', 
  !availableRights.blocked_categories.includes('athletic_apparel')
);

Explore All 12 Dimensions


Benefits

For Athletes

  • Clear rights - Know exactly what you're licensing
  • Prevent conflicts - Avoid exclusivity violations
  • Fair compensation - Standardized comparison across deals
  • Legal protection - Clear terms reduce disputes

For Brands

  • Reduced legal costs - Standardized templates
  • Faster negotiations - Pre-configured options
  • Clear scope - No ambiguity in rights granted
  • Searchable deals - Find comparable contracts

For Platforms

  • Interoperability - Standard format across platforms
  • Automation - Machine-readable licenses
  • Analytics - Aggregate deal data
  • Compliance - Built-in validation

Next Steps