[Privacy] Provide governed Calendar DSAR coverage #24

Closed
opened 2026-08-20 23:18:23 +02:00 by zemion · 1 comment
Owner

Parent: GovOPlaN/govoplan#47.

Objective

Adopt the Core data-subject request provider contract for Calendar collections, events, attendees, preferences, sync evidence, and invitation state without exposing calendar payloads, connector secrets, or remote locators.

Acceptance criteria

  • Search is bounded and tenant-scoped and supports membership, normalized attendee/organizer email, and namespaced Calendar references.
  • Export isolates matching attendee/organizer data and excludes raw ICS, complete iCalendar payloads, sync URLs/tokens, credentials, worker leases, idempotency material, remote locators, and unrelated attendees.
  • Local, synchronized, invitation, outbox, and migration records receive explicit retention or manual-review classifications.
  • Personal view-preference deletion is tenant-bound, revalidated, and idempotent; event and sync evidence is not silently rewritten.
  • Provider discovery, disabled-module behavior, stale/retry handling, documentation, and focused checks pass.
Parent: GovOPlaN/govoplan#47. ## Objective Adopt the Core data-subject request provider contract for Calendar collections, events, attendees, preferences, sync evidence, and invitation state without exposing calendar payloads, connector secrets, or remote locators. ## Acceptance criteria - [ ] Search is bounded and tenant-scoped and supports membership, normalized attendee/organizer email, and namespaced Calendar references. - [ ] Export isolates matching attendee/organizer data and excludes raw ICS, complete iCalendar payloads, sync URLs/tokens, credentials, worker leases, idempotency material, remote locators, and unrelated attendees. - [ ] Local, synchronized, invitation, outbox, and migration records receive explicit retention or manual-review classifications. - [ ] Personal view-preference deletion is tenant-bound, revalidated, and idempotent; event and sync evidence is not silently rewritten. - [ ] Provider discovery, disabled-module behavior, stale/retry handling, documentation, and focused checks pass.
Author
Owner

Implemented and pushed as a2a9e8e feat: add governed Calendar DSAR coverage.

Evidence:

  • tenant-scoped, bounded matching by normalized organizer/attendee email, membership, and namespaced Calendar references
  • matching-party isolation with raw ICS, connector locators, credentials/tokens, worker/idempotency state, provider errors, opaque metadata, unrelated events, and unrelated tenants excluded
  • retained synchronization/outbox/migration evidence; coordinated manual review for shared content; tenant/owner-revalidated idempotent deletion only for personal view preferences
  • static administrator documentation, capability documentation, and Core workflow coverage including disabled-module behavior
  • 7 passed in tests/test_dsar_provider.py
  • full Calendar suite: 151 passed, 5 subtests passed
Implemented and pushed as `a2a9e8e feat: add governed Calendar DSAR coverage`. Evidence: - tenant-scoped, bounded matching by normalized organizer/attendee email, membership, and namespaced Calendar references - matching-party isolation with raw ICS, connector locators, credentials/tokens, worker/idempotency state, provider errors, opaque metadata, unrelated events, and unrelated tenants excluded - retained synchronization/outbox/migration evidence; coordinated manual review for shared content; tenant/owner-revalidated idempotent deletion only for personal view preferences - static administrator documentation, capability documentation, and Core workflow coverage including disabled-module behavior - `7 passed` in `tests/test_dsar_provider.py` - full Calendar suite: `151 passed, 5 subtests passed`
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-calendar#24