You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@kafka.apache.org by "Matthias J. Sax (Jira)" <ji...@apache.org> on 2026/09/07 23:10:00 UTC
[jira] [Updated] (KAFKA-21008) Consider allowing record headers to be filtered or masked before persistence in Kafka Streams state stores
[ https://issues.apache.org/jira/browse/KAFKA-21008?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matthias J. Sax updated KAFKA-21008:
------------------------------------
Component/s: streams
> Consider allowing record headers to be filtered or masked before persistence in Kafka Streams state stores
> ----------------------------------------------------------------------------------------------------------
>
> Key: KAFKA-21008
> URL: https://issues.apache.org/jira/browse/KAFKA-21008
> Project: Kafka
> Issue Type: Improvement
> Components: streams
> Reporter: sanghyeok An
> Assignee: sanghyeok An
> Priority: Minor
> Labels: needs-kip, streams
>
> Kafka Streams header-aware state stores introduced by KIP-1271 can persist record headers together with state values and propagate them through state store changelogs.
>
> Record headers may contain application-level sensitive information, such as credentials, tokens, personally identifiable information, or request metadata that should not be retained at rest.
>
> Currently, Kafka Streams does not provide a built-in mechanism to filter, remove, or mask selected headers before they are written to a header-aware state store. Applications must sanitize headers manually before every stateful operator, which is error-prone and may also modify the headers observed by downstream processors.
>
> Kafka Streams should provide an opt-in mechanism to filter or transform the copy of the headers that is persisted by header-aware state stores.
>
> The mechanism should:
> * Allow selected headers to be removed or their values to be masked.
> * Apply consistently to both local state and state-store changelog records.
> * Avoid mutating the headers of the in-flight input record.
> * Preserve the current behavior when no filtering or masking policy is configured.
> * Ensure that restored state contains the same sanitized headers that were written to the local store.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)