Interceptors are plugins that intercept and modify Kafka requests and responses in real time. They help enforce policies, protect data, and add functionality without changing your applications or Kafka configuration.Documentation Index
Fetch the complete documentation index at: https://docs.conduktor.io/llms.txt
Use this file to discover all available pages before exploring further.
What Interceptors do
Interceptors can:- Encrypt and decrypt message fields or entire payloads
- Block or skip records that don’t meet data quality rules
- Enforce producer settings like acks or compression
- Control topic creation parameters like replication factor or partition count
- Transform message content or headers
How they work
Each Interceptor has apriority field — a number where lowest runs first. The same numeric order applies on both produce and consume; ordering doesn’t reverse between directions. Priorities are typically spaced apart (for example, 100, 200, 300) so you can insert Interceptors between existing ones without renumbering.
Interceptors fire on different paths depending on what they do:
- Produce-only — for example,
EncryptPluginruns as records flow from client to broker. - Consume-only — for example,
DecryptPluginruns as records flow from broker to client. - Both paths — for example,
LargeMessageHandlingPluginruns as records flow from client to broker and broker to client.
EncryptPlugin, LargeMessageHandlingPlugin, and DecryptPlugin configured on the same topic share one priority order across both paths:
- Scoped — apply to specific , or
- Overridden — more specific scopes take precedence over broader ones