Skip to content

security: plaintext PII/secrets risk in compression_failure_pairs table #1801

@bug-ops

Description

@bug-ops

Summary

compressed_context in the compression_failure_pairs SQLite table stores compaction summaries verbatim. If a conversation contained vault secrets, API keys, or PII that survived summarization, they would be stored in plaintext SQLite without applying the redact module or ContentSanitizer.

Mitigating Factors

  • Data is summarized (not raw conversation)
  • Feature is off by default (enabled = false)
  • Cleanup bounds storage at 100 rows
  • Database is local-only

Recommended Fix

Apply ContentSanitizer or the existing redact module to compressed_context before storing it in log_compression_failure().

File: crates/zeph-memory/src/sqlite/compression_guidelines.rs:84-103

Identified by code reviewer (REVIEW-6) during ACON compression guidelines PR (#1647) review.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestsecuritySecurity-related issue

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions