Privacy pillar · v0.16.0
consent-record StandaloneConsentRecord
Standalone consent record.
$id · https://corpospec.com/schemas/v0.16.0/consent-record.schema.json
Fields
| Field | Type | Required | Description |
|---|---|---|---|
| bundled_with_contract | boolean | yes | Whether consent was bundled with a non-consent purpose (Art. 7(4) flag — informational, not necessarily blocking). |
| channel | ConsentChannel | yes | Channel of capture. |
| controller | PathRef | yes | PathRef to the controller entity. |
| evidence_ref | PathRef | yes | PathRef to consent evidence artefact (signed PDF, JSON of banner click, recording). |
| id | PathRef | yes | Path-based cross-reference relative to .corpospec/ root. Pattern: `^[a-z0-9_-]+(/[a-z0-9_.-]+)+$` |
| 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. |
| privacy_notice_version | string | yes | Version of the privacy notice presented to the subject. |
| purpose | ConsentPurpose | yes | Consent purpose (one record per (subject, purpose)). |
| purpose_text | string | yes | Free-form purpose narrative shown to the subject. |
| retention_until | IsoDate | yes | Retention until 3 years after withdrawal (BGB §195 generic claims window). |
| silent_or_pre_ticked | boolean | yes | Whether consent was pre-ticked / silent (Recital 32 — invalid). |
| state | ConsentState | yes | Consent state. |
| subject_pseudonym | string | yes | Pseudonymised subject identifier (hash of email / user-id). |
| expires_at | IsoDate? | — | When consent expires automatically (typical cookie 13 months). |
| granted_at | IsoDate? | — | When consent was given (None for never-granted). |
| subject_ref | PathRef? | — | Optional PathRef into the subject (if internal). Omitted for anonymous web visitors. |
| withdrawn_at | IsoDate? | — | When consent was withdrawn (None if still in force / expired). |
Definitions
Shared types referenced within this schema.
ConsentChannel
Channel of capture.
ConsentPurpose
Consent purpose (one record per (subject, purpose)).
ConsentState
Consent state.
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.
Reference in your YAML
# yaml-language-server: $schema=https://corpospec.com/schemas/v0.16.0/consent-record.schema.json