Skip to content

Drafts: personal data in a draft is not found by a data-subject request, and a removed draft's audit values remain #4708

Open

Description

@rjzondervan

Left open as an author decision on the development → beta release #4580 (review thread #4580 (comment)), with a recommendation from #4669 ("partly legal"). Tracked here so it outlives the release PR.

The decision

Personal data in a draft cannot be found by a data-subject request. Drafts hold half-filled form input (names, addresses, BSNs); their create/update listeners are held until they leave draft (#4633), so they never reach the entity index DataSubjectRequestService::findSubjectObjects() reads, and a schema may keep drafts forever (draftLifetimeDays: false). Even when found, loadObject() reads with _rbac: true and the draft predicate hides the draft from everyone but its owner. Removing a draft keeps its earlier full create/update audit rows, while the draft spec promises "no tombstone of unsent input is kept". Anchor: lib/Service/Object/ObjectEventGate.php:86.

Suggested direction

A second, draft-aware discovery pass in DataSubjectRequestService (access and erasure), and a decision, with the privacy officer, on redacting a removed draft's audit values, written into the draft and GDPR specs.

Activity

  1. github-actions commented on Oct 20, 2026

    @github-actions
    Contributor

    Thank you for opening this issue! It has been assigned to @rubenvdlinde for review.

    What happens next:

    1. A maintainer will review this issue and determine the appropriate action
    2. If accepted, it may be converted into an OpenSpec change for structured development
    3. You will be notified of any status changes

    Triage labels:

    • triage:accept-feature — accepted as a new feature
    • triage:accept-bugfix — accepted as a bug fix
    • triage:needs-info — more information needed
    • triage:wontfix — will not be addressed
    • triage:duplicate — duplicate of another issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtriageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions