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