Public Reporting
The Public Reporting domain models the content, structure and approval of formal public reports, and the specific disclosures a requirement calls for. It gives a traceable record of what was disclosed, when, and under whose authority.
- Public report: a report the organization makes public, such as an annual report, a valuation, a privacy policy or a market announcement.
- Mandatory disclosure: a specific piece of information that an obligation or compliance requirement calls for the organization to publish, such as the kinds of decisions it makes by automated means.
Schemas: public-report.schema.json, mandatory-disclosure.schema.json
Specification: JSON Schema Draft-07
Each disclosure must name at least one obligation or compliance requirement behind it, so a disclosure is never orphaned from its source. AI disclosures can also name the standardised use cases whose operation they describe.
Public Report
| Attribute | Type | Description | Required |
|---|---|---|---|
publicReportID | String | Unique identifier for the report, e.g. PR-VAL-001 | ✓ |
title | String | Short, descriptive name of the report | ✓ |
description | String | What the report covers | |
reportType | Enum | Formal type of the report: financial, technical, valuation, compliance, sustainability, governance, privacyPolicy, marketAnnouncement, productDisclosure, aiDisclosure, other | ✓ |
reportStatus | Enum | Lifecycle status of the report: draft, approved, published, cancelled, withdrawn | ✓ |
version | String | Version of the report, e.g. 1.0 | ✓ |
issuingStakeholderTitle | String | Person or team responsible for issuing the report | |
issuingStakeholderID | String | Stakeholder record for the issuer | |
orgUnitID | String | Organization unit that owns the report | |
reportingPeriod | Object | Period the report covers | |
reportingPeriod.startDate | Date | Start date (required) | |
reportingPeriod.endDate | Date | End date (required) | |
publishedDate | Date | Date the report was made public | |
linkToDocument | String | Link to the published document | |
lodgedWithExternalOrgID | String | Regulator, exchange or registry the report was lodged with, if any | |
mandatoryDisclosureIDs | Array[String] | Mandatory disclosures the report contains | |
statementOfComplianceIDs | Array[String] | Statements of compliance published in the report |
Report Type (reportType)
| Value | Description |
|---|---|
financial | Primarily financial data, e.g. profit and loss, balance sheet |
technical | Technical assessments, e.g. geological or engineering |
valuation | Valuation of an asset or company |
compliance | A direct statement of compliance |
sustainability | Sustainability or climate reporting |
governance | Corporate governance statement |
privacyPolicy | Privacy policy, including any automated decision disclosures |
marketAnnouncement | Announcement to a securities exchange |
productDisclosure | Product disclosure document |
aiDisclosure | A report or section whose purpose is to disclose the use of AI or automated decision-making |
other | Another kind of report |
Report Status (reportStatus)
| Value | Description |
|---|---|
draft | In preparation; not approved |
approved | Formally approved internally |
published | Made public |
cancelled | Publication formally stopped |
withdrawn | Removed after publication |
{
"publicReportID": "PR-VAL-001",
"title": "Technical Assessment & Valuation Report",
"description": "A valuation of the company's mineral assets as of Q3 2025.",
"reportType": "valuation",
"reportStatus": "published",
"version": "1.0",
"issuingStakeholderTitle": "Anna L.",
"issuingStakeholderID": "STK-ANNA-L",
"linkToDocument": "https://cdn.example.com/reports/PR-VAL-001.pdf",
"mandatoryDisclosureIDs": [
"DISC-001",
"DISC-002"
]
}
Mandatory Disclosure
| Attribute | Type | Description | Required |
|---|---|---|---|
mandatoryDisclosureID | String | Unique identifier for the disclosure, e.g. DISC-001 | ✓ |
title | String | Short name of the disclosure | ✓ |
description | String | What must be disclosed, in source-describing language | |
disclosureChannel | Enum | Where the disclosure is made: annualReport, privacyPolicy, website, marketAnnouncement, regulatorLodgement, productDisclosure, pointOfInteraction, other | |
obligationIDs | Array[String] | Obligations (semantic library) that call for the disclosure | |
complianceRequirementIDs | Array[String] | Compliance requirements that call for the disclosure | |
sourceData | Array[Object] | Records the disclosed information is drawn from | |
sourceData[].domainType | Enum | Domain of the referenced entity, from the shared domain list (domainType in common.schema.json) (required) | |
sourceData[].entityID | String | Unique identifier of a record within its domain, for example "CAP-001" or "MKT-ENTSW-001" (required) | |
sourceData[].title | String | Name of the referenced entity, for readability | |
useCaseIDs | Array[String] | Standardised AI use cases whose operation the disclosure describes, for AI disclosures | |
stakeholderTitle | String | Person or role accountable for the disclosure | |
stakeholderID | String | Stakeholder record for that person or role | |
publicReportIDs | Array[String] | Public reports that contain the disclosure | |
frequency | Enum | How often the disclosure is made or refreshed: continuous, realTime, hourly, daily, weekly, monthly, quarterly, semiAnnually, annually, eventDriven, onDemand, adHoc |
Disclosure Channel (disclosureChannel)
| Value | Description |
|---|---|
annualReport | Annual or periodic report |
privacyPolicy | Privacy policy |
website | Website page |
marketAnnouncement | Exchange announcement |
regulatorLodgement | Lodged with a regulator |
productDisclosure | Product disclosure document |
pointOfInteraction | At the point a person interacts with the system, e.g. an AI notice in a chat |
other | Another channel |
{
"mandatoryDisclosureID": "DISC-001",
"title": "Competent Person statement",
"sourceData": [
{
"domainType": "information",
"entityID": "INFO-RESOURCE-MODEL"
}
],
"complianceRequirementIDs": [
"CREQ-VALMIN-3.1"
],
"stakeholderID": "STK-ANNA-L",
"disclosureChannel": "marketAnnouncement"
}