{
  "$defs": {
    "BrandArchitectureRole": {
      "description": "Aaker brand-architecture role per BDR 0065 §2.",
      "oneOf": [
        {
          "const": "master",
          "description": "Master brand — the primary brand under which products ship. A\nBranded-House has exactly one; a House-of-Brands has ≥2 peer\nmasters.",
          "type": "string"
        },
        {
          "const": "sub",
          "description": "Sub-brand — endorsed by a master brand (Branded-House model).",
          "type": "string"
        },
        {
          "const": "endorsed",
          "description": "Endorsed brand — independent identity with weak master-brand\nendorsement (Aaker's \"endorsed\" position).",
          "type": "string"
        },
        {
          "const": "trade_name",
          "description": "Trade name — operating name distinct from legal name; not a brand\nin the marketing sense but used for commerce.",
          "type": "string"
        },
        {
          "const": "co_branded",
          "description": "Co-branded — joint identity with a partner.",
          "type": "string"
        },
        {
          "const": "white_label",
          "description": "White-label — partner-branded, manufactured by us.",
          "type": "string"
        }
      ]
    },
    "BrandStatus": {
      "description": "Lifecycle status of a Brand record.",
      "enum": [
        "concept",
        "active",
        "dormant",
        "retired"
      ],
      "type": "string"
    },
    "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"
        }
      ]
    },
    "IsoCountry": {
      "description": "ISO 3166-1 alpha-2 country code.",
      "pattern": "^[A-Z]{2}$",
      "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"
    },
    "WikidataQid": {
      "description": "Wikidata Q-identifier (`Q123`, `Q92779`). Optional global-discoverability\nhook on Entity / Person / Party / Brand records. See BDR 0080 §4.",
      "pattern": "^Q[1-9][0-9]*$",
      "type": "string"
    }
  },
  "$id": "https://corpospec.com/schemas/v0.16.0/brand-portfolio.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Plural Brand record per BDR 0065 §2.\n\nOne record per brand in the company's portfolio. Multiple brands per\nentity is the House-of-Brands shape (P&G; Beevelop UG with Skywatch +\nSkytrack + Unstarter + Knock historically). Multiple entities under\none brand is the cross-entity brand-licensing shape (Diageo with\nSmirnoff). The schema supports both.",
  "properties": {
    "activated": {
      "$ref": "#/$defs/IsoDate",
      "description": "When the brand became live."
    },
    "applies_to_entities": {
      "description": "When the brand spans multiple legal entities (cross-licensing).",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "applies_to_markets": {
      "description": "Geographies in which this brand is used.",
      "items": {
        "$ref": "#/$defs/IsoCountry"
      },
      "type": "array"
    },
    "applies_to_products": {
      "description": "Which Products this brand covers. Inverse of `Product.brand_id`.\nThe validator (L4-BRAND-3 from BDR 0065 §9) enforces bidirectional\nconsistency.",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "architecture_role": {
      "$ref": "#/$defs/BrandArchitectureRole",
      "description": "Architecture role."
    },
    "confidentiality": {
      "$ref": "#/$defs/Confidentiality",
      "description": "Confidentiality classification for the record itself (brand records\nare typically `public`)."
    },
    "foundation_ref": {
      "$ref": "#/$defs/PathRef",
      "description": "PathRef into `brand/foundations/<slug>.yaml` — the brand-foundation\nrecord (mission, values, archetype, positioning, narrative)."
    },
    "id": {
      "$ref": "#/$defs/PathRef",
      "description": "PathRef identifier, conventionally `brand/portfolio/<slug>`."
    },
    "name": {
      "description": "Brand name as used in commerce.",
      "type": "string"
    },
    "note": {
      "description": "Free-form note.",
      "type": [
        "string",
        "null"
      ]
    },
    "owning_entity_id": {
      "$ref": "#/$defs/PathRef",
      "description": "Legal entity that owns the brand (and typically the trademarks).\nPathRef into BDR 0064 Entity."
    },
    "parent_brand_id": {
      "anyOf": [
        {
          "$ref": "#/$defs/PathRef"
        },
        {
          "type": "null"
        }
      ],
      "description": "Parent brand when this is a sub-brand / endorsed brand. PathRef\ninto another Brand record."
    },
    "retired": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "When the brand was sunset."
    },
    "status": {
      "$ref": "#/$defs/BrandStatus",
      "description": "Status."
    },
    "trademark_refs": {
      "description": "PathRefs into `legal/trademarks/<slug>` (BDR 0077 trademark\nregister).",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "wikidata_qid": {
      "anyOf": [
        {
          "$ref": "#/$defs/WikidataQid"
        },
        {
          "type": "null"
        }
      ],
      "description": "Wikidata QID for the brand (e.g. Microsoft = `Q2283`)."
    }
  },
  "required": [
    "id",
    "name",
    "owning_entity_id",
    "architecture_role",
    "foundation_ref",
    "activated",
    "status",
    "confidentiality"
  ],
  "title": "Brand",
  "type": "object",
  "x-corpospec-pillar": "brand"
}