Legal pillar · v0.16.0

whistleblower-report WhistleblowerReport

Whistleblower report record.

$id · https://corpospec.com/schemas/v0.16.0/whistleblower-report.schema.json

Fields

Field Type Required Description
ack_deadline IsoDate yes Statutory acknowledgement deadline (received_at + 7d).
channel ReportChannel yes Receipt channel.
entity PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
id PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
investigation_owner PathRef yes Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
leadership_involved boolean yes Whether the report involved senior leadership (escalates reporting line per HinSchG §15 — keeps reporter outside the org chart of the alleged perpetrator).
pii_class PiiClass yes Personal-data classification on every record carrying personal data, per BDR 0070 / BDR 0069 / BDR 0078. Used by `corpospec-report` to gate rendering and by the privacy pillar's RoPA records to determine safeguards.
received_at IsoDate yes ISO 8601 date (YYYY-MM-DD).
reporter_anonymous boolean yes Whether the reporter chose to remain anonymous.
response_deadline IsoDate yes Statutory response deadline (received_at + 3m / extendable to 6m).
response_extended_to_6m boolean yes Whether the 3-month deadline was extended to 6 months.
retaliation_checks RetaliationCheck[] yes Retaliation checks (multiple over time per Art. 19).
retention_until IsoDate yes Retention 3 years after closure (Art. 18 EU 2019/1937 — record only as long as needed).
status WhistleblowerStatus yes Report lifecycle.
subject ReportSubject yes Subject-matter area.
summary_redacted string yes Free-form summary (redacted of identifying details).
acknowledged_on IsoDate?
disposition_narrative string?
evidence_refs PathRef[] PathRefs to evidence collected.
final_disposition FinalDisposition? Disposition + supporting narrative.
follow_up_refs PathRef[] PathRefs to follow-up corrective measures / policies updated.
reporter_pseudonym string? Pseudonymised reporter handle (when anonymous, a stable token the reporter receives for follow-up).
responded_on IsoDate?

Definitions

Shared types referenced within this schema.

FinalDisposition
Final disposition.
IsoDate
ISO 8601 date (YYYY-MM-DD).
type: string
PathRef
Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$`
pattern: ^[a-z0-9_-]+(/[a-z0-9_.-]+)+$
PiiClass
Personal-data classification on every record carrying personal data, per BDR 0070 / BDR 0069 / BDR 0078. Used by `corpospec-report` to gate rendering and by the privacy pillar's RoPA records to determine safeguards.
ReportChannel
Receipt channel.
ReportSubject
Subject-matter area.
RetaliationCheck
Retaliation check (Art. 19 EU 2019/1937 prohibits).
type: object
WhistleblowerStatus
Report lifecycle.

Reference in your YAML

# yaml-language-server: $schema=https://corpospec.com/schemas/v0.16.0/whistleblower-report.schema.json