Add governed DSAR coverage for recorded and confidential ballots #7

Closed
opened 2026-08-21 11:55:22 +02:00 by zemion · 1 comment
Owner

Goal

Cover identified ballot participation and Voting actor attribution through the Core data-subject request workflow tracked by GovOPlaN/govoplan#47 without weakening ballot secrecy or integrity.

Scope

  • provide and document privacy.dsar.voting
  • correlate exact tenant/elector selectors with optional ballot narrowing
  • export the subject own selections only for explicitly recorded/reconstructable ballots
  • export confidential participation and receipt metadata without ciphertext, choices, envelopes, or electorate payloads
  • export minimized ballot/lifecycle actor attribution
  • retain all ballot evidence and exclude replay/idempotency material
  • add focused provider and Core workflow coverage

Acceptance criteria

  • another elector ballot is never disclosed
  • confidential selections and ciphertext are never returned
  • ballot identifiers alone do not disclose personal participation
  • erasure cannot rewrite or invalidate ballot evidence
  • focused tests, Ruff, and manifest checks pass
## Goal Cover identified ballot participation and Voting actor attribution through the Core data-subject request workflow tracked by GovOPlaN/govoplan#47 without weakening ballot secrecy or integrity. ## Scope - provide and document `privacy.dsar.voting` - correlate exact tenant/elector selectors with optional ballot narrowing - export the subject own selections only for explicitly recorded/reconstructable ballots - export confidential participation and receipt metadata without ciphertext, choices, envelopes, or electorate payloads - export minimized ballot/lifecycle actor attribution - retain all ballot evidence and exclude replay/idempotency material - add focused provider and Core workflow coverage ## Acceptance criteria - another elector ballot is never disclosed - confidential selections and ciphertext are never returned - ballot identifiers alone do not disclose personal participation - erasure cannot rewrite or invalidate ballot evidence - focused tests, Ruff, and manifest checks pass
Author
Owner

Implemented and pushed in 7e03fe6.

  • Added privacy.dsar.voting with distinct recorded/confidential-ballot disclosure rules, own-selection and receipt handling, proxy minimization, tests, and user/admin documentation.
  • Verified with the module test and lint suite.
  • Verified across the workspace with tools/checks/check-focused.sh: manifest and boundary checks, backend suites, 59 WebUI module permutations, seven Playwright conformance tests, and module-specific frontend checks all passed.
Implemented and pushed in `7e03fe6`. - Added privacy.dsar.voting with distinct recorded/confidential-ballot disclosure rules, own-selection and receipt handling, proxy minimization, tests, and user/admin documentation. - Verified with the module test and lint suite. - Verified across the workspace with `tools/checks/check-focused.sh`: manifest and boundary checks, backend suites, 59 WebUI module permutations, seven Playwright conformance tests, and module-specific frontend checks all passed.
Sign in to join this conversation.
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-voting#7