Skip to content

feat: Selective forgetting (GDPR-compliant data deletion) #269

@informatJonas

Description

@informatJonas

Summary

Add the ability to selectively delete observations, sessions, and prompts by topic, date range, project, or custom criteria.

Problem

Users may need to delete specific data for various reasons:

  • GDPR/Privacy: Remove data about a specific client or project
  • Cleanup: Delete outdated or irrelevant observations
  • Mistakes: Remove accidentally captured sensitive information
  • Storage: Reduce database size by removing old data

Currently, there's no granular deletion capability.

Proposed Solution

1. CLI Commands

# Delete by topic (semantic search + confirmation)
claude-mem forget --topic "client-xyz authentication"

# Delete by date range
claude-mem forget --before "2024-01-01"
claude-mem forget --between "2024-06-01" "2024-06-30"

# Delete by project
claude-mem forget --project "old-project-name"

# Delete by type
claude-mem forget --type "bugfix" --before "2024-01-01"

# Dry run (show what would be deleted)
claude-mem forget --topic "passwords" --dry-run

2. Web Viewer UI

Add "Manage Data" section in settings:

  • Search and select observations to delete
  • Bulk delete by filters
  • Export before delete option
  • Confirmation dialog with item count

3. MCP Tool

{
  "tool": "forget",
  "params": {
    "query": "client credentials",
    "project": "client-xyz",
    "date_before": "2024-06-01",
    "dry_run": true
  }
}

4. Deletion Workflow

  1. Search: Find matching items
  2. Preview: Show what will be deleted (count, sample items)
  3. Confirm: Require explicit confirmation
  4. Delete: Remove from SQLite + Chroma vector store
  5. Log: Record deletion event (without content) for audit

5. Cascade Handling

When deleting observations:

  • Remove from FTS5 index
  • Remove from Chroma embeddings
  • Update session summaries if they reference deleted items
  • Handle orphaned sessions

Privacy Features

  • Secure Delete: Option to overwrite before delete (for sensitive data)
  • Export First: Always offer export before bulk delete
  • Audit Log: Track what was deleted (metadata only, not content)
  • No Undo: Clear communication that deletion is permanent

Use Cases

  1. Client Offboarding: Remove all data about a specific client project
  2. Cleanup Old Work: Delete observations older than X months
  3. Mistake Correction: Remove accidentally logged credentials
  4. Storage Management: Reduce database size

🤖 Generated with Claude Code

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestfeature-requestFeature request to be converted to discussion

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions