Taxonomy
Base Licenses

Base License Templates

Pre-configured license templates that serve as starting points for common NIL use cases.

Overview

The NIL Taxonomy includes 4 base license templates:

CodeNamePrimary Use
NIL-EDUEducational LicenseDocumentaries, news, classroom
NIL-COMM-STDStandard CommercialBrand campaigns, endorsements
NIL-COMM-DERIVCommercial + UGCMeme campaigns, UGC contests
NIL-EXCL-CATCategory ExclusiveOfficial brand partnerships

All base licenses can be customized using the SDK Builder.


NIL-EDU: Educational License

For documentary films, news coverage, and educational materials

Configuration

{
  "code": "NIL-EDU",
  "name": "Educational License",
  "config": {
    "subject_scope": ["name", "image", "likeness"],
    "use_type": ["editorial", "educational"],
    "commercial_scope": "non_commercial",
    "exclusivity": "none",
    "territory": { "global": true },
    "term": { "campaign_duration": "project" },
    "derivative_rights": "none",
    "ai_synthetic_use": "prohibited",
    "data_use": { "level": "none" },
    "attribution": "required",
    "sublicensing": "prohibited",
    "content_safety": {
      "restricted_categories": [],
      "morals_clause": "standard"
    }
  }
}

Use Cases

  • Documentary films about collegiate sports
  • News coverage and journalism
  • Educational videos and classroom materials
  • Academic research publications
  • Historical archives

SDK Usage

import { createEducationalLicense } from '@nil-taxonomy/sdk';
 
const eduLicense = createEducationalLicense()
  .setTerritoryCountries(['US'])
  .setTerm('2024-01-01', '2024-12-31')
  .build();

Key Restrictions

  • No commercial use - Cannot monetize content
  • Attribution required - Must credit athlete
  • No derivatives - Use as-is only
  • No AI generation - Original content only

Educational licenses are typically low-cost or no-cost, balancing athlete exposure with educational value.


NIL-COMM-STD: Standard Commercial

For standard brand campaigns and endorsements

Configuration

{
  "code": "NIL-COMM-STD",
  "name": "Standard Commercial",
  "config": {
    "subject_scope": ["name", "image", "likeness"],
    "use_type": ["brand_marketing", "paid_advertising"],
    "commercial_scope": "full_commercial",
    "exclusivity": "none",
    "territory": { "countries": ["US"] },
    "term": {
      "start_date": "2024-01-01",
      "end_date": "2025-12-31",
      "auto_renew": false
    },
    "derivative_rights": "limited",
    "ai_synthetic_use": "prohibited",
    "data_use": { "level": "aggregated_anon" },
    "attribution": "name_required",
    "sublicensing": "approved_partners",
    "content_safety": {
      "restricted_categories": ["adult", "tobacco"],
      "morals_clause": "standard"
    }
  }
}

Use Cases

  • Brand endorsement campaigns
  • Social media advertising
  • Print and digital advertising
  • Product packaging (non-exclusive)
  • Retail promotions

SDK Usage

import { createCommercialLicense } from '@nil-taxonomy/sdk';
 
const commercialLicense = createCommercialLicense()
  .setTerritoryCountries(['US', 'CA'])
  .setTerm('2024-01-01', '2025-12-31')
  .addRestrictedCategory('alcohol')
  .addRestrictedCategory('sports_betting')
  .build();

Key Features

  • Non-exclusive - Athlete can work with multiple brands
  • Limited derivatives - Minor editing allowed
  • No AI generation - Real images/video only
  • Approved partners - Can sublicense to agencies/retailers

NIL-COMM-DERIV: Commercial + UGC

For meme campaigns, UGC contests, and remix culture

Configuration

{
  "code": "NIL-COMM-DERIV",
  "name": "Commercial + UGC",
  "config": {
    "subject_scope": ["name", "image", "likeness"],
    "use_type": ["brand_marketing", "ugc_campaign"],
    "commercial_scope": "limited_commercial",
    "exclusivity": "none",
    "territory": { "global": true },
    "term": {
      "start_date": "2024-06-01",
      "end_date": "2024-08-31"
    },
    "derivative_rights": "ugc_remix",
    "ai_synthetic_use": "limited_depiction_only",
    "data_use": { "level": "none" },
    "attribution": "optional",
    "sublicensing": "network_allowed",
    "content_safety": {
      "restricted_categories": ["adult", "tobacco", "alcohol"],
      "morals_clause": "enhanced"
    }
  }
}

Use Cases

  • Social media meme campaigns
  • UGC contests and challenges
  • Fan art campaigns
  • Remix competitions
  • Viral marketing campaigns

SDK Usage

import { createUGCLicense } from '@nil-taxonomy/sdk';
 
const ugcLicense = createUGCLicense()
  .setTerritoryGlobal()
  .setTerm('2024-06-01', '2024-08-31')
  .setSublicensing('network_allowed')
  .setContentSafety({
    restricted_categories: ['adult', 'tobacco', 'alcohol', 'weapons'],
    morals_clause: 'enhanced'
  })
  .build();

Key Features

  • UGC remix rights - Fans can create derivative works
  • Network sublicensing - Can be shared on social platforms
  • Limited AI - Can enhance existing content
  • Enhanced morals clause - Stricter content safety
⚠️

UGC campaigns require robust content moderation. The enhanced morals clause protects athletes from inappropriate user-generated content.


NIL-EXCL-CAT: Category Exclusive

For official brand partnerships with category exclusivity

Configuration

{
  "code": "NIL-EXCL-CAT",
  "name": "Category Exclusive",
  "config": {
    "subject_scope": ["name", "image", "likeness", "signature_marks"],
    "use_type": ["brand_marketing", "paid_advertising", "product_association"],
    "commercial_scope": "full_commercial",
    "exclusivity": "category_exclusive",
    "exclusive_categories": ["athletic_apparel"],
    "territory": { "countries": ["US"] },
    "term": {
      "start_date": "2024-01-01",
      "end_date": "2026-12-31",
      "auto_renew": true,
      "renewal_period": "annual"
    },
    "derivative_rights": "full_with_guardrails",
    "ai_synthetic_use": "synthetic_allowed_with_approval",
    "data_use": {
      "level": "identified_analytics_only",
      "opt_in_required": true
    },
    "attribution": "name_required",
    "sublicensing": "approved_partners",
    "content_safety": {
      "restricted_categories": ["adult", "tobacco"],
      "morals_clause": "enhanced",
      "competitor_exclusions": ["Competitor Brand A"]
    }
  }
}

Use Cases

  • Official athletic apparel deals (Nike, Adidas, etc.)
  • Signature beverage partnerships
  • Exclusive supplement endorsements
  • Long-term brand ambassador roles

SDK Usage

import { createExclusiveLicense } from '@nil-taxonomy/sdk';
 
const exclusiveLicense = createExclusiveLicense(['athletic_apparel', 'beverages'])
  .setTerritoryCountries(['US'])
  .setTerm('2024-01-01', '2026-12-31', true, 'annual')
  .setDataUseLevel('identified_analytics_only', true)
  .addCompetitorExclusion('Nike')
  .addCompetitorExclusion('Adidas')
  .build();

Key Features

  • Category exclusivity - Athlete cannot work with competitors in specified categories
  • Signature marks - Includes jersey number, signature
  • Full derivative rights - Extensive creative freedom
  • AI with approval - Synthetic content allowed with pre-approval
  • Data analytics - Performance data use permitted

Category exclusive deals typically command 3-5x higher compensation than non-exclusive deals due to opportunity cost.


Customizing Base Licenses

All base licenses can be customized:

import { NILTaxonomyClient, NILLicenseBuilder } from '@nil-taxonomy/sdk';
 
// Fetch base license
const client = new NILTaxonomyClient({
  baseUrl: process.env.NIL_TAXONOMY_API_URL!,
  apiKey: process.env.NIL_TAXONOMY_API_KEY!,
});
 
const base = await client.getBaseLicense('NIL-COMM-STD', 'v1');
 
// Customize
const custom = NILLicenseBuilder.fromBase(base)
  .setTerritoryCountries(['US', 'CA', 'MX'])
  .addRestrictedCategory('alcohol')
  .setTerm('2024-01-01', '2024-12-31')
  .build();

Comparison Chart

FeatureEDUCOMM-STDCOMM-DERIVEXCL-CAT
Commercial UseNoYesLimitedYes
ExclusivityNoneNoneNoneCategory
Derivative RightsNoneLimitedUGC RemixFull
AI UseProhibitedProhibitedLimitedApproved
SublicensingNoPartnersNetworkPartners
Typical TermProject1 yearCampaign2-3 years
Typical CompLow/Free$$$$$$$$$$

Fetching Base Licenses

Get All Base Licenses

const licenses = await client.getBaseLicenses('v1');
 
licenses.forEach(license => {
  console.log(`${license.code}: ${license.name}`);
  console.log(`Use case: ${license.description}`);
});

Get Specific Base License

const eduLicense = await client.getBaseLicense('NIL-EDU', 'v1');
const commLicense = await client.getBaseLicense('NIL-COMM-STD', 'v1');

Next Steps