{
  "$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"
        }
      ]
    },
    "DisclosureRecipient": {
      "description": "Optional disclosure recipient record — banks, auditors, fund\nadministrators that have received the UBO disclosure under their KYC\n/ MLD obligations.",
      "properties": {
        "disclosed_at": {
          "$ref": "#/$defs/IsoDate"
        },
        "party": {
          "$ref": "#/$defs/PathRef",
          "description": "PathRef into `legal/parties/<slug>` or similar."
        },
        "purpose": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "required": [
        "party",
        "disclosed_at"
      ],
      "type": "object"
    },
    "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"
    },
    "PiiClass": {
      "description": "Personal-data classification on every record carrying personal data, per\nBDR 0070 / BDR 0069 / BDR 0078. Used by `corpospec-report` to gate\nrendering and by the privacy pillar's RoPA records to determine\nsafeguards.",
      "oneOf": [
        {
          "const": "none",
          "description": "No personal data.",
          "type": "string"
        },
        {
          "const": "public_personal",
          "description": "Public personal data (already disclosed by the subject, e.g. CEO name).",
          "type": "string"
        },
        {
          "const": "internal",
          "description": "Internal-only personal data (employee directory).",
          "type": "string"
        },
        {
          "const": "personal",
          "description": "Personal data per GDPR Art. 4(1).",
          "type": "string"
        },
        {
          "const": "special_category",
          "description": "Special-category data per GDPR Art. 9 (health, biometric, genetic,\nreligion, ethnicity, sex life, political opinion, trade union).",
          "type": "string"
        },
        {
          "const": "criminal_data",
          "description": "Criminal data per GDPR Art. 10.",
          "type": "string"
        },
        {
          "const": "sensitive",
          "description": "CCPA / CPRA \"sensitive personal information\".",
          "type": "string"
        }
      ]
    },
    "RegistryFiling": {
      "description": "Per-regime filing receipt evidencing the UBO disclosure.",
      "properties": {
        "document": {
          "anyOf": [
            {
              "$ref": "#/$defs/PathRef"
            },
            {
              "type": "null"
            }
          ],
          "description": "PathRef into a document record (typically encrypted PDF) for the\nfiling confirmation."
        },
        "last_filed": {
          "$ref": "#/$defs/IsoDate"
        },
        "next_review": {
          "anyOf": [
            {
              "$ref": "#/$defs/IsoDate"
            },
            {
              "type": "null"
            }
          ]
        },
        "reference_number": {
          "type": "string"
        },
        "registry": {
          "$ref": "#/$defs/UboRegime"
        }
      },
      "required": [
        "registry",
        "reference_number",
        "last_filed"
      ],
      "type": "object"
    },
    "TrustRole": {
      "description": "Trust-specific role on a UBO record. Used when the subject entity is a\ntrust (BDR 0064 OpenQuestion 3); captured as a sub-role on\n`BeneficialOwner.trust_role`.",
      "enum": [
        "settlor",
        "trustee",
        "protector",
        "beneficiary",
        "named_class_of_beneficiaries"
      ],
      "type": "string"
    },
    "UboBasis": {
      "description": "Why a natural person crossed the disclosure threshold for the subject\nentity.",
      "oneOf": [
        {
          "const": "equity",
          "description": "Equity holding crosses threshold (typically ≥25%).",
          "type": "string"
        },
        {
          "const": "voting",
          "description": "Voting rights cross threshold.",
          "type": "string"
        },
        {
          "const": "profit",
          "description": "Profit interest crosses threshold.",
          "type": "string"
        },
        {
          "const": "control",
          "description": "\"Substantial control\" or \"control by other means\" — US CTA + UK PSC\ncatch-all when the equity/voting tests do not apply.",
          "type": "string"
        },
        {
          "const": "senior_managing_official",
          "description": "Senior managing official fallback (GwG §3(2) fiktiver wirtschaftlich\nBerechtigter; UK PSC condition 5).",
          "type": "string"
        },
        {
          "const": "nominee_link",
          "description": "Beneficial owner identified through a nominee chain\n(OwnershipInterest.nominee_arrangement chain).",
          "type": "string"
        }
      ]
    },
    "UboRegime": {
      "description": "Per-regime applicability of a beneficial-owner disclosure. One record\ncan cover multiple regimes simultaneously.",
      "oneOf": [
        {
          "const": "de_transparenzregister",
          "description": "DE Transparenzregister per GwG §§19-24.",
          "type": "string"
        },
        {
          "const": "eu5amld",
          "description": "EU 5AMLD (Directive 2018/843) generic / national-supplement\nregisters.",
          "type": "string"
        },
        {
          "const": "uk_psc",
          "description": "UK Persons with Significant Control register (Companies Act 2006\nPart 21A).",
          "type": "string"
        },
        {
          "const": "us_cta",
          "description": "US Corporate Transparency Act / FinCEN Beneficial Ownership\nInformation Rule (31 CFR 1010.380).",
          "type": "string"
        },
        {
          "const": "fr_brbe",
          "description": "France Registre des bénéficiaires effectifs.",
          "type": "string"
        },
        {
          "const": "lu_rbe",
          "description": "Luxembourg Registre des bénéficiaires effectifs.",
          "type": "string"
        },
        {
          "const": "nl_ubo",
          "description": "Netherlands UBO-register.",
          "type": "string"
        },
        {
          "const": "es_rmbe",
          "description": "Spain Registro de Titulares Reales.",
          "type": "string"
        },
        {
          "const": "at_wireg",
          "description": "Austria Wirtschaftliche Eigentümer Registergesetz.",
          "type": "string"
        }
      ]
    },
    "UboStatus": {
      "description": "Lifecycle status of a BeneficialOwner record.",
      "oneOf": [
        {
          "enum": [
            "draft",
            "active",
            "superseded"
          ],
          "type": "string"
        },
        {
          "const": "no_longer_applicable",
          "description": "The underlying ownership chain no longer crosses the threshold;\nrecord retained for audit but no longer driving registry filings.",
          "type": "string"
        }
      ]
    }
  },
  "$id": "https://corpospec.com/schemas/v0.16.0/ubo.schema.json",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "additionalProperties": false,
  "description": "Beneficial-owner record per BDR 0064 §2.\n\nDistinct from `Stakeholder` (the cap-table economic position) and from\n`Person` (the natural-person record). One `BeneficialOwner` record\nper `(entity, person)` pair can cover multiple regimes.",
  "properties": {
    "chain": {
      "default": [],
      "description": "Ordered list of intermediate `OwnershipInterest` edges from `person`\nto `entity`. Empty when direct.",
      "items": {
        "$ref": "#/$defs/PathRef"
      },
      "type": "array"
    },
    "confidentiality": {
      "$ref": "#/$defs/Confidentiality",
      "description": "Confidentiality rendering rule."
    },
    "disclosed_to": {
      "description": "Counterparties to whom the UBO disclosure has been provided under\ntheir KYC/MLD obligations.",
      "items": {
        "$ref": "#/$defs/DisclosureRecipient"
      },
      "type": "array"
    },
    "effective_percentage": {
      "description": "Aggregated percentage that triggered disclosure. Multiply along the\nchain for indirect ownership (Maik 100% of Beevelop UG × Beevelop UG\n100% of Unstarter GmbH = 100% effective).",
      "format": "double",
      "maximum": 100.0,
      "minimum": 0.0,
      "type": "number"
    },
    "entity": {
      "$ref": "#/$defs/PathRef",
      "description": "The entity being disclosed (the \"subject company\")."
    },
    "id": {
      "$ref": "#/$defs/PathRef",
      "description": "PathRef identifier, conventionally\n`entity/ubo/<entity-slug>-<person-slug>`."
    },
    "legal_review_date": {
      "anyOf": [
        {
          "$ref": "#/$defs/IsoDate"
        },
        {
          "type": "null"
        }
      ],
      "description": "Date of last GwG §10/§11 KYC review."
    },
    "note": {
      "description": "Free-form context.",
      "type": [
        "string",
        "null"
      ]
    },
    "pep_status": {
      "description": "Politically Exposed Person flag per FATF Recommendations 12 / 22.",
      "type": [
        "boolean",
        "null"
      ]
    },
    "person": {
      "$ref": "#/$defs/PathRef",
      "description": "The natural-person beneficial owner. PathRef into `people/**`.\nThe fiktiver wirtschaftlich Berechtigter (Geschäftsführer fallback\nwhen the chain breaks) is also a Person PathRef."
    },
    "pii_class": {
      "$ref": "#/$defs/PiiClass",
      "description": "Sensitivity classification of this record. UBO records are\nspecial-category by default; carries personal data with regulatory\nretention."
    },
    "regime": {
      "description": "Disclosure regimes this record satisfies. A single record can\ncover multiple regimes if the underlying facts apply.",
      "items": {
        "$ref": "#/$defs/UboRegime"
      },
      "type": "array"
    },
    "registry_filings": {
      "description": "Per-regime filing receipts.",
      "items": {
        "$ref": "#/$defs/RegistryFiling"
      },
      "type": "array"
    },
    "retention_until": {
      "$ref": "#/$defs/IsoDate",
      "description": "Default retention is 5 years post-relationship-end per GwG §10."
    },
    "source_of_funds": {
      "description": "High-risk jurisdictions may demand source-of-funds for AML.",
      "type": [
        "string",
        "null"
      ]
    },
    "status": {
      "$ref": "#/$defs/UboStatus",
      "description": "Status of this disclosure."
    },
    "threshold_basis": {
      "$ref": "#/$defs/UboBasis",
      "description": "Why this person crossed the threshold."
    },
    "trust_role": {
      "anyOf": [
        {
          "$ref": "#/$defs/TrustRole"
        },
        {
          "type": "null"
        }
      ],
      "description": "Trust sub-role when the subject entity is a trust."
    }
  },
  "required": [
    "id",
    "entity",
    "person",
    "threshold_basis",
    "effective_percentage",
    "regime",
    "pii_class",
    "confidentiality",
    "retention_until",
    "status"
  ],
  "title": "BeneficialOwner",
  "type": "object",
  "x-corpospec-pillar": "entity"
}