Stream deletion and archival support #71

Closed
opened 2026-02-22 13:38:53 +00:00 by ash · 0 comments
Owner

Problem

Can append and load but never clean up. Long-running systems need stream archival, tombstoning, or deletion for GDPR compliance. The gdpr/ package uses crypto but doesnt support actual deletion.

Fix

  • Add Delete(ctx, streamID) to EventStore interface (or as separate interface)
  • Archive: move old events to cold storage
  • Tombstone: mark stream as deleted, reject future appends
  • GDPR: hard delete with audit trail

Acceptance

  • Delete method on stores
  • Tombstone support
  • All store implementations
  • Tests for delete + tombstone + re-creation guard
## Problem Can append and load but never clean up. Long-running systems need stream archival, tombstoning, or deletion for GDPR compliance. The gdpr/ package uses crypto but doesnt support actual deletion. ## Fix - Add Delete(ctx, streamID) to EventStore interface (or as separate interface) - Archive: move old events to cold storage - Tombstone: mark stream as deleted, reject future appends - GDPR: hard delete with audit trail ## Acceptance - [ ] Delete method on stores - [ ] Tombstone support - [ ] All store implementations - [ ] Tests for delete + tombstone + re-creation guard
ash closed this issue 2026-02-22 14:31:45 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ash/eskit#71
No description provided.