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/DocumentaryNIL-COMM-STD- Standard CommercialNIL-COMM-DERIV- Commercial + UGCNIL-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