Discussion about this post

User's avatar
The Coding Gopher's avatar

One tension with "nobody ever edits it": a log full of user messages and tool payloads will eventually get a GDPR erasure request, and a delete-policy topic can't remove one session's records. Encrypting each session's events with its own key and deleting that key on request (crypto-shredding) keeps the log immutable and still erasable.

Abhishek Pan's avatar

Watch the cleanup policy on that session topic. Someone flips it to compact to save storage, and since every event is keyed by session ID, Kafka keeps only the latest record per key, so a session's whole history shrinks to its last event. Pin cleanup.policy=delete with a long retention.ms on memory topics and alert if either changes.

Ready for more?