{
  "$defs": {
    "Confidentiality": {
      "description": "Cross-cutting confidentiality classification used across privacy,\nsecurity, knowledge, IR pillars. Default rendering rule: `corpospec-report`\nexcludes `Restricted | BoardOnly | InvestorOnly` records from public output\nunless an explicit audience parameter overrides. See BDR 0076 §1.",
      "oneOf": [
        {
          "const": "public",
          "description": "Safe to publish anywhere.",
          "type": "string"
        },
        {
          "const": "customer",
          "description": "Visible to customers under standard ToS.",
          "type": "string"
        },
        {
          "const": "internal",
          "description": "Employees and contractors only.",
          "type": "string"
        },
        {
          "const": "restricted",
          "description": "Need-to-know subset of internal.",
          "type": "string"
        },
        {
          "const": "board_only",
          "description": "Board members and direct staff.",
          "type": "string"
        },
        {
          "const": "investor_only",
          "description": "Existing investors + prospective with NDA.",
          "type": "string"
        }
      ]
    },
    "IpHolder": {
      "description": "Holder of the IP.",
      "properties": {
        "assignee": {
          "$ref": "#/$defs/PathRef",
          "description": "PathRef to the entity owning the asset."
        },
        "co_owners": {
          "description": "Co-owners (PathRefs to entities or natural persons).",
          "items": {
            "$ref": "#/$defs/PathRef"
          },
          "type": "array"
        },
        "licensees": {
          "description": "Licensees (PathRefs to vendor / customer / partner).",
          "items": {
            "$ref": "#/$defs/PathRef"
          },
          "type": "array"
        }
      },
      "required": [
        "assignee"
      ],
      "type": "object"
    },
    "IpKind": {
      "description": "IP asset kind.",
      "oneOf": [
        {
          "const": "patent",
          "description": "Patent (invention).",
          "type": "string"
        },
        {
          "const": "utility_model",
          "description": "Utility model (Gebrauchsmuster — DE / JP).",
          "type": "string"
        },
        {
          "const": "trademark",
          "description": "Trademark.",
          "type": "string"
        },
        {
          "const": "registered_design",
          "description": "Registered design / design patent.",
          "type": "string"
        },
        {
          "const": "copyright",
          "description": "Copyright (literary, software, AV).",
          "type": "string"
        },
        {
          "const": "trade_secret",
          "description": "Trade secret.",
          "type": "string"
        },
        {
          "const": "domain_name",
          "description": "Domain name.",
          "type": "string"
        },
        {
          "const": "plant_variety",
          "description": "Plant breeders' right.",
          "type": "string"
        },
        {
          "const": "database_right",
          "description": "Database right (EU 96/9/EC sui generis).",
          "type": "string"
        },
        {
          "const": "geographic_indication",
          "description": "Geographic indication.",
          "type": "string"
        },
        {
          "const": "open_source_project",
          "description": "Open-source project (we maintain).",
          "type": "string"
        }
      ]
    },
    "IpRegistry": {
      "description": "Registry under which the IP is registered.",
      "oneOf": [
        {
          "enum": [
            "other"
          ],
          "type": "string"
        },
        {
          "const": "epo",
          "description": "European Patent Office.",
          "type": "string"
        },
        {
          "const": "uspto",
          "description": "US Patent and Trademark Office.",
          "type": "string"
        },
        {
          "const": "jpo",
          "description": "Japan Patent Office.",
          "type": "string"
        },
        {
          "const": "cnipa",
          "description": "China National Intellectual Property Administration.",
          "type": "string"
        },
        {
          "const": "wipo",
          "description": "World IP Organization (PCT / Madrid).",
          "type": "string"
        },
        {
          "const": "euipo",
          "description": "EU Intellectual Property Office (EUTM, Community Design).",
          "type": "string"
        },
        {
          "const": "dpma",
          "description": "Deutsches Patent- und Markenamt.",
          "type": "string"
        },
        {
          "const": "uk_ipo",
          "description": "UK IPO.",
          "type": "string"
        },
        {
          "const": "us_copyright_office",
          "description": "US Copyright Office.",
          "type": "string"
        },
        {
          "const": "domain_registrar",
          "description": "Domain registrar.",
          "type": "string"
        },
        {
          "const": "none",
          "description": "No registry (trade secret, OSS).",
          "type": "string"
        }
      ]
    },
    "IpStatus": {
      "description": "IP-asset lifecycle.",
      "oneOf": [
        {
          "const": "pending",
          "description": "Pending application.",
          "type": "string"
        },
        {
          "const": "granted",
          "description": "Granted / registered.",
          "type": "string"
        },
        {
          "const": "renewed",
          "description": "Renewed.",
          "type": "string"
        },
        {
          "const": "lapsed",
          "description": "Lapsed (failed renewal / fees).",
          "type": "string"
        },
        {
          "const": "abandoned",
          "description": "Abandoned by us.",
          "type": "string"
        },
        {
          "const": "cancelled",
          "description": "Cancelled / revoked.",
          "type": "string"
        },
        {
          "const": "expired",
          "description": "Expired (term elapsed).",
          "type": "string"
        },
        {
          "const": "assigned",
          "description": "Sold / assigned.",
          "type": "string"
        }
      ]
    },
    "IsoCountry": {
      "description": "ISO 3166-1 alpha-2 country code.",
      "pattern": "^[A-Z]{2}$",
      "type": "string"
    },
    "IsoCurrency": {
      "description": "ISO 4217 currency code.",
      "pattern": "^[A-Z]{3}$",
      "type": "string"
    },
    "IsoDate": {
      "description": "ISO 8601 date (YYYY-MM-DD).",
      "format": "date",
      "type": "string"
    },
    "PathRef": {
      "description": "Path-based cross-reference relative to .corpospec/ root.\nPattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`",
      "pattern": "^[a-z0-9_-]+(/[a-z0-9_.-]+)+$",
      "type": "string"
    }
  },
  "$id": "https://corpospec.com/schemas/v0.16.0/intellectual-property.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "IP asset record.",
  "properties": {
    "book_value": {
      "format": "double",
      "type": [
        "number",
        "null"
      ]
    },
    "book_value_currency": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoCurrency"
        },
        {
          "type": "null"
        }
      ],
      "description": "Balance-sheet recognition (IAS 38 acquired IP)."
    },
    "certificate_ref": {
      "anyOf": [
        {
          "$ref": "#/$defs/PathRef"
        },
        {
          "type": "null"
        }
      ],
      "description": "PathRef to the registration certificate."
    },
    "classification_codes": {
      "description": "Classification codes (e.g. IPC / CPC / Nice Class).",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "confidentiality": {
      "$ref": "#/$defs/Confidentiality"
    },
    "expiry_date": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "Statutory expiry (e.g. patent: filing+20y; TM: registration+10y\nrenewable; copyright: author's life+70y)."
    },
    "filing_date": {
      "$ref": "#/$defs/IsoDate"
    },
    "grant_date": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "Date of grant / registration."
    },
    "holder": {
      "$ref": "#/$defs/IpHolder"
    },
    "id": {
      "$ref": "#/$defs/PathRef"
    },
    "inventors": {
      "description": "Inventor / creator (PathRefs to people).",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "jurisdiction": {
      "$ref": "#/$defs/IsoCountry"
    },
    "kind": {
      "$ref": "#/$defs/IpKind"
    },
    "managing_agent": {
      "anyOf": [
        {
          "$ref": "#/$defs/PathRef"
        },
        {
          "type": "null"
        }
      ],
      "description": "IP-management vendor (PathRef into vendor)."
    },
    "next_renewal_due": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "Next renewal / maintenance fee date."
    },
    "protects_refs": {
      "description": "PathRef to underlying product / brand the IP protects.",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "registration_number": {
      "description": "Application / registration number.",
      "type": "string"
    },
    "registry": {
      "$ref": "#/$defs/IpRegistry"
    },
    "status": {
      "$ref": "#/$defs/IpStatus"
    },
    "title": {
      "description": "Public title (patent title, mark text, work title).",
      "type": "string"
    }
  },
  "required": [
    "id",
    "kind",
    "status",
    "registry",
    "jurisdiction",
    "registration_number",
    "title",
    "inventors",
    "holder",
    "filing_date",
    "confidentiality"
  ],
  "title": "IntellectualProperty",
  "type": "object",
  "x-corpospec-pillar": "legal"
}