Skip to content

Best Kafka management tools for banks

Comparisons
Chad Harris·September 29, 2026·20 min read·Updated

The best Kafka management tool for a bank is the one that lets hundreds of engineers see and fix their own Kafka resources while production stays locked down: time-boxed access to production data granted on request, a second person approving changes, an audit trail that names the person, and sign-in through the bank’s directory, across on-prem and cloud clusters, from a tool that runs inside the bank’s own environment and stays out of the data path. Kpow, Kafbat UI, Klaw, AKHQ, Lenses, Confluent Control Center and Conduktor each cover part of that. Scored on the six weighted criteria explained below the rankings, Kpow ranks first with 89 out of 100, ahead of Kafbat UI at 66 and Klaw at 60.

Tools compared

Kafka management tools for banks scored against this page’s rubric (read 29 September 2026). Total is the weighted score out of 100, with the criteria in order of weight; the weights are explained under how these tools were scored. Conduktor is listed last whatever its total; on its total of 59 it would place fourth.
Rank Tool Total (out of 100) Out of the data path Production access on request Audit trail per person Directory and Kafka sign-in Many teams, shared clusters On-prem and cloud together Cost a year (modelled)
1 Kpow 89 One container, state in your Kafka, not a proxy Time-boxed temporary policies via API, staged approvals, masking per resource Every action with the IdP user, data queries included SAML, OIDC, LDAP; Kerberos, SCRAM or mTLS to brokers Tenants and per-action RBAC Any distribution, 12 clusters per instance $20,880
2 Kafbat UI 66 One stateless container Per-resource RBAC, no approvals, masking for all viewers Optional, reads at level ALL, no view OAuth2, OIDC, LDAP; no SAML Per-resource roles per cluster Confluent Cloud broke in v1.4.x and v1.5.0 $11,520
3 Klaw 60 Self-hosted with its own database Approval on every request, no data access Requester and approver, no reads Active Directory, OAuth2 SSO Teams, tenants, 35+ permissions Any distribution, writes Kafka ACLs $8,640
4 AKHQ 59 One stateless container Regex groups, UI-only if JWT secret unset Opt-in, no reads, no view LDAP, OIDC; no SAML Groups by resource and cluster pattern Named connections $16,320
5 Lenses 54 HQ on PostgreSQL, agent and database per cluster Strict global masking, no approvals In-product audit log from Team tier SSO incl. Entra ID and Okta Roles on groups only Any Kafka API, agent per cluster $2,880 plus quoted licence
6 Confluent Control Center 35 Dedicated host, broker reporter JAR Confluent RBAC, no DENY, no approvals Broker principal, not always the person OIDC on self-managed Admin access only, per TD Confluent Platform only $2,880 plus quoted subscription
7 Conduktor 59 Console on PostgreSQL; Gateway proxy in the data path Per-viewer masking, cross-team access requests 70+ event types with user, in the UI LDAP, OIDC Per user or group, most permissive grant wins Confluent Cloud, Aiven, MSK, Cloudera $122,880; $212,880 with Gateway Core and Protect

No tool meets every column, and banks commonly pair a management tool for people with broker ACLs or an authorizer for services.

The tools, ranked for banks

Rank 1

89 out of 100 Total

Try Kpow in the live demo No signup needed.

Cost a year
$18,000 licence for 4 clusters plus $2,880 operator time, so $20,880 (modelled)
Sign-in
SAML, OIDC, LDAP; Kerberos, SCRAM or mTLS to brokers
Deployment
One container or JAR, no external database
Out of the data path ×3 weight, this criterion counts 3 times toward the total
9 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
9 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
9 out of 10
Directory and Kafka sign-in
9 out of 10
Many teams, shared clusters
9 out of 10
On-prem and cloud together
8 out of 10
Why these scores for Kpow
Out of the data path 9 out of 10
It is one container or JAR whose state lives in Kafka topics on your own cluster, and it connects as an ordinary Kafka client, so nothing sits between your applications and the brokers.
Production access on request 9 out of 10
Temporary policies grant time-boxed access that an admin or a change system calling the Kpow API can create, staged mutations hold any action for approval, and data policies mask fields in inspection, though masking is per resource rather than per viewer.
Audit trail per person 9 out of 10
Every action is recorded with the user from the identity provider and the policy that allowed it, including data inspect queries, with a seven-day view in the product, the record written to an audit topic on your own cluster, and webhooks that send it to a SIEM for long-term retention.
Directory and Kafka sign-in 9 out of 10
People sign in with SAML, OpenID or LDAP through Jetty JAAS, and Kpow connects to brokers with any SASL mechanism, GSSAPI by default, or SSL.
Many teams, shared clusters 9 out of 10
Tenants scope each team to its own resources on a shared cluster, which is how TD sets up every onboarded team, and RBAC adds Allow, Deny or Stage per action.
On-prem and cloud together 8 out of 10
One deployment manages self-managed Apache Kafka, Confluent Platform, Confluent Cloud and MSK together, capped at 12 clusters per instance before you run another.

For a bank. Kpow runs inside the bank’s own environment and gives every team a governed way into Kafka. Temporary policies grant a role extra actions on a named resource for a fixed time, capped at seven days by default and never above the granting admin’s own permissions, and the Kpow API lets a change system such as ServiceNow create them. Staged mutations hold a production change until a second admin approves it. Tenants give each team its own view of a shared cluster, and the audit log records each action with the person who took it.

Where it falls short. Kpow governs people working through Kpow. Applications still authenticate to the brokers with their own principals, so broker ACLs or an authorizer remain the control for services. Its masking is set per resource, not per viewer, so an owning team cannot be exempted from a policy the way Conduktor allows. The in-app audit view covers seven days. RBAC, masking, tenants and the audit log are Enterprise features; Community Edition is free for 3 clusters and 10 users.

Cost a year. $20,880 on this page’s model of a bank running 4 clusters (development, test, pre-production and production) for 100 engineers. Kpow Enterprise is published at $4,500 per cluster per year with 100 users included, so the licence is $18,000, and the model adds 2 engineer-hours a month at $120 an hour, $2,880, to run one container and keep it current. Adding the 101st engineer does not change the bill. Kpow is also sold on AWS Marketplace as Kpow for Apache Kafka (Annual), which lets a bank buy it through an existing AWS agreement.

Rank 2

66 out of 100 Total

Cost a year
$0 licence, about $11,520 in operator time (modelled)
Sign-in
OAuth2, OIDC, LDAP or Active Directory; no SAML
Deployment
One stateless container
Out of the data path ×3 weight, this criterion counts 3 times toward the total
9 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
4 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
6 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
6 out of 10
On-prem and cloud together
6 out of 10
Why these scores for Kafbat UI
Out of the data path 9 out of 10
It is one stateless container with no database and no proxy, the same pass as Kpow.
Production access on request 4 out of 10
RBAC grants actions per resource and a cluster can be set read-only, but there is no approval step, no time-boxed grant, and its masking applies the same way to every viewer.
Audit trail per person 6 out of 10
Its audit log names the logged-in user and records reads when the level is set to ALL, but it writes to a topic or the console with no view in the product, so reading the trail is something you build.
Directory and Kafka sign-in 7 out of 10
It supports OAuth2 and OIDC, including Microsoft Entra ID, and LDAP or Active Directory, and its documentation does not list SAML.
Many teams, shared clusters 6 out of 10
Roles scope permissions per resource and list the clusters they apply to, with no tenant view of a team’s own resources.
On-prem and cloud together 6 out of 10
It covers self-managed Kafka, MSK and other managed services, but Confluent Cloud connectivity broke in v1.4.x and v1.5.0.

For a bank. Kafbat UI is the maintained open-source fork of the original kafka-ui, Apache 2.0, with free RBAC, server-side remove, replace and mask policies, and an optional audit log. For a small team on one set of clusters it covers day-to-day inspection and topic work at no licence cost.

Where it falls short. There is no way to grant production access for an hour and have it expire, no approval before a change runs, and masking cannot exempt the team that owns the data. Its last release, v1.5.0, shipped in April 2026, and there is no vendor under contract to ship the next fix.

Cost a year. $11,520 on this page’s estimate, with no licence fee. Running, securing and upgrading it is 6 engineer-hours a month at $120 an hour, $8,640, and a bank that signs people in with SAML also runs a proxy such as oauth2-proxy in front of it, 2 hours a month, $2,880.

Rank 3

60 out of 100 Total

Cost a year
$0 licence, about $8,640 in operator time (modelled)
Type
Self-service request and approval portal
Sign-in
Active Directory, OAuth2 SSO, database
Out of the data path ×3 weight, this criterion counts 3 times toward the total
6 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
5 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
5 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
8 out of 10
On-prem and cloud together
7 out of 10
Why these scores for Klaw
Out of the data path 6 out of 10
It is self-hosted and not a proxy, but its trail and state live in Klaw’s own database, which is one more component to run and protect.
Production access on request 5 out of 10
Every topic, ACL, schema and connector change goes through a request and an approval, but Klaw is not a data inspection tool, so it has no way to grant or limit who reads production messages.
Audit trail per person 5 out of 10
It records who requested each change and who approved it, two named people, but not direct changes made outside Klaw or any data read.
Directory and Kafka sign-in 7 out of 10
People sign in through Active Directory or OAuth2 SSO, with roles that can come from Active Directory, and it writes ordinary Kafka ACLs rather than connecting people to brokers.
Many teams, shared clusters 8 out of 10
Teams, tenants and more than 35 permissions per team and environment make it the strongest open-source answer to many teams on shared clusters.
On-prem and cloud together 7 out of 10
It writes ordinary Kafka ACLs through the Admin client, so it is not tied to one vendor’s brokers.

For a bank. Klaw fixes the process side of shared Kafka: a team asks for a topic or an ACL, the owning team approves it, and the request and approval are kept. Environments enforce naming prefixes and suffixes, and it reconciles the cluster against its own records. It is Apache 2.0 under Aiven, with a published security policy and fixes shipped within a day of each of its three CVEs.

Where it falls short. It is a portal, not an operations console, so a bank still needs a tool for inspecting messages, resetting offsets and triaging connectors, and any production read happens somewhere Klaw cannot see.

Cost a year. $8,640 on this page’s estimate, with no licence fee: 6 engineer-hours a month at $120 an hour to run Klaw and its database, secure it and keep it current. A second tool for inspection and operations is not included in that figure.

Rank 4

AKHQ

akhq.io

59 out of 100 Total

Cost a year
$0 licence, about $16,320 in operator time and review (modelled)
Sign-in
LDAP, OIDC, header auth; no SAML
Deployment
One stateless container
Out of the data path ×3 weight, this criterion counts 3 times toward the total
9 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
3 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
4 out of 10
Directory and Kafka sign-in
6 out of 10
Many teams, shared clusters
5 out of 10
On-prem and cloud together
7 out of 10
Why these scores for AKHQ
Out of the data path 9 out of 10
It is one stateless container with no database and no proxy, the same pass as Kpow.
Production access on request 3 out of 10
Groups bind actions to resources by regex, but there is no approval step or time-boxed grant, masking is global, and without the JWT signing secret the restriction is in the UI only.
Audit trail per person 4 out of 10
Audit events are opt-in to a Kafka topic, reads are not recorded, and there is no view for the trail.
Directory and Kafka sign-in 6 out of 10
It supports LDAP, OIDC and header authentication from a proxy, does not list SAML, and ships with security disabled until you enable it.
Many teams, shared clusters 5 out of 10
Groups combine resource types with regex patterns on names and clusters, which limits what a role can reach, but there is no tenant view of a team’s own resources.
On-prem and cloud together 7 out of 10
Each cluster is a named connection, with Confluent Cloud and MSK IAM examples in its documentation.

For a bank. AKHQ is free under Apache 2.0, configured in YAML that fits a GitOps review, with roles that combine resource types and cluster patterns. Its latest release, 0.28.0, shipped in August 2026.

Where it falls short. Its documentation warns that if the JWT signing secret is not set, the API will not enforce the group role, so a misconfiguration turns access control into a UI restriction. Audit is opt-in, reads are not in it, and there is no approval step or expiring grant.

Cost a year. $16,320 on this page’s estimate, with no licence fee. Running, securing and upgrading it is 6 engineer-hours a month at $120 an hour, $8,640; a SAML bank runs oauth2-proxy in front of it, 2 hours a month, $2,880; and the model adds one access review a year, 40 hours or $4,800, because of the JWT secret behaviour above.

Rank 5

Lenses

lenses.io

54 out of 100 Total

Cost a year
$2,880 operator time, plus a licence quoted above 15 users (modelled)
Sign-in
SSO with Okta, Keycloak, OneLogin, Google, Entra ID
Deployment
HQ on PostgreSQL, an agent and database per cluster
Out of the data path ×3 weight, this criterion counts 3 times toward the total
4 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
4 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
7 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
6 out of 10
On-prem and cloud together
7 out of 10
Why these scores for Lenses
Out of the data path 4 out of 10
It runs a central HQ on PostgreSQL plus an agent and an agent database beside every cluster, and HQ has no high-availability option.
Production access on request 4 out of 10
Its masking is the strictest view-time model, global with no escape even for admins, but no approval step or time-boxed grant is described.
Audit trail per person 7 out of 10
Audit logs can be read in the product, with no need to build a consumer first.
Directory and Kafka sign-in 7 out of 10
SSO spans Okta, Keycloak, OneLogin, Google and Entra ID, with basic authentication only on Community.
Many teams, shared clusters 6 out of 10
Roles attach to groups only, never to individuals, and no scoped view per team is described.
On-prem and cloud together 7 out of 10
It connects to any provider exposing a Kafka-compatible API, one agent per cluster.

For a bank. Lenses brings vendor-backed RBAC, SSO, in-product audit logs and SQL Studio for querying topics, which is the reason to choose it if analysts need SQL over Kafka. Its data policies redact by field name across Kafka topics, Postgres tables and Elasticsearch indices.

Where it falls short. Every cluster adds an agent and a database to deploy, patch and clear through a segmented network, and HQ is a single node that every cluster depends on. Its policies apply to Lenses interfaces only.

Cost a year. $2,880 of operator time on this page’s estimate, 2 hours a month at $120 an hour, plus a licence that is not published. The published Team Edition is $4,000 a year for up to 15 users on one cluster, so 100 engineers across 4 clusters is Multi-Kafka Enterprise at a custom quote.

Rank 6

Confluent Control Center

confluent.io

35 out of 100 Total

Cost a year
$2,880 operator time, plus a Confluent Platform subscription that is quoted (modelled)
Sign-in
OIDC on self-managed; no SAML
Scope
Confluent Platform clusters only
Out of the data path ×3 weight, this criterion counts 3 times toward the total
4 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
2 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
4 out of 10
Directory and Kafka sign-in
5 out of 10
Many teams, shared clusters
4 out of 10
On-prem and cloud together
2 out of 10
Why these scores for Confluent Control Center
Out of the data path 4 out of 10
It is not a proxy, but it needs a dedicated host of 4 cores, 8 GB and 200 GB and the Confluent Metrics Reporter on each broker.
Production access on request 2 out of 10
Access runs through Confluent RBAC role bindings, which have no DENY rules, and no approval step, time-boxed grant or masking is described.
Audit trail per person 4 out of 10
Confluent Server’s audit logs record authorization decisions for the connection’s principal, which is not always the person behind a tool.
Directory and Kafka sign-in 5 out of 10
OIDC is the only single sign-on protocol on self-managed deployments, with users and groups from LDAP or OIDC through Confluent RBAC.
Many teams, shared clusters 4 out of 10
TD’s platform team said in its talk that Control Center could only accept admin access and was not scalable for their clients, which is why those clients moved to Kpow.
On-prem and cloud together 2 out of 10
It documents Confluent Platform clusters only, and cannot monitor MSK, Redpanda or Aiven.

For a bank. Control Center is the natural console on a topology that is Confluent Platform and nothing else, with Confluent RBAC extending the same bindings to Connect, ksqlDB and Schema Registry. Both TD and NORD/LB started on it, and TD still uses it for admin testing.

Where it falls short. It does not reach clusters outside Confluent Platform, it offers no approval step or expiring grant, and its role bindings cannot carve a delete out of a broader role because they have no DENY rules.

Cost a year. $2,880 of engineering time on this page’s estimate, 2 hours a month at $120 an hour, on top of a Confluent Platform subscription that Confluent quotes rather than publishes, so the total cannot be compared with the others here.

Rank 7

Conduktor

conduktor.io

59 out of 100 Total

Cost a year
100 seats at $1,200 plus $2,880 operator time, so $122,880; Gateway Core adds $60,000 and Gateway Protect, which carries encryption and masking, a further $30,000 (modelled)
Sign-in
LDAP, OIDC; no SAML described
Deployment
Console on PostgreSQL 13+; data-level controls through Gateway, a proxy
Out of the data path ×3 weight, this criterion counts 3 times toward the total
3 out of 10
Production access on request ×2 weight, this criterion counts 2 times toward the total
6 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
8 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
7 out of 10
On-prem and cloud together
8 out of 10
Why these scores for Conduktor
Out of the data path 3 out of 10
Console needs PostgreSQL 13 or later, and its encryption, data-level masking and Virtual Clusters only work when client traffic goes through Gateway, a proxy in the data path.
Production access on request 6 out of 10
Masking can exempt users or groups, which beats every other tool here on who sees unmasked data, and cross-team access requests are approved by the owning team, but no expiring grant is described and topic creation that passes policy is a direct API call.
Audit trail per person 8 out of 10
Console logs produce, consume and admin requests across more than 70 event types with user, IP and timestamp, browsable in the UI and exported as CloudEvents.
Directory and Kafka sign-in 7 out of 10
Its SSO configuration covers LDAP and OIDC, with guides for Okta, Entra ID and Keycloak, and does not describe SAML.
Many teams, shared clusters 7 out of 10
Permissions are set per user or group across clusters, but a user in several groups inherits the most permissive grant, and Virtual Clusters for multi-tenancy need Gateway.
On-prem and cloud together 8 out of 10
Its cluster configuration covers Confluent Cloud, Aiven, Amazon MSK and Cloudera, and Console works across clusters.

For a bank. Conduktor pairs Console, a web UI, with Gateway, a Kafka protocol proxy. Conduktor’s Gateway documentation describes it as “a Kafka-compliant middle layer between clients and Kafka clusters” and says it can “mask sensitive data at the proxy layer”, and that is where field encryption, masking of the data itself, policy enforcement on client traffic and Virtual Clusters are applied. Console alone connects to clusters directly and masks in its UI. The full picture is in the Conduktor review.

Where it falls short. The controls a bank usually buys Conduktor for need every producer and consumer to connect through Gateway, which puts a vendor’s proxy on the payment path and into the third-party review. Console also needs its own PostgreSQL. Per-seat pricing grows with every engineer who needs access.

Cost a year. $122,880 on this page’s model of 100 engineers. Conduktor’s published Team Edition price is $1,200 a seat a year, $120,000, and the model adds 2 engineer-hours a month at $120 an hour, $2,880. On AWS Marketplace, Conduktor Enterprise lists Gateway Core, which carries Virtual Clusters and policy enforcement, at $60,000 a year and Gateway Protect, the add-on for encryption and masking, at a further $30,000, so the data-level controls take the total to $212,880. Conduktor prices Gateway per cluster with a 3-cluster minimum, and the listing does not say how many clusters that figure covers.

What banks need from a Kafka management tool

This page is about banks specifically: retail and commercial banks that run Kafka as shared infrastructure for payments, fraud and business banking teams. For the regulation-by-regulation view across banks, payments and insurance, with DORA, PCI DSS, GDPR and SOX mapped to Kafka controls, see best Kafka governance tools for financial services.

A bank’s Kafka platform team is usually small and its client base is not. TD’s Event Streaming Platform, described by its staff engineer Sandy Yang in a talk hosted by Factor House, runs more than 20 clusters in four forms (on-prem virtual machines, on-prem physical servers for very low-latency workloads, and two kinds of Confluent Cloud cluster) and has onboarded more than 300 projects. The platform team hand-held its early clients through Control Center and the command line until it could not keep up, and the job of a management tool at that point is to let every line of business serve itself without anyone holding admin rights. The same talk says the team burned out creating every client’s artefacts by hand before self-service existed, and still judges one enterprise platform the right call, because the alternative was many small clusters that nobody could maintain after two or three years.

Regulated firms sometimes put a sensitive workload on a physically separate cluster, and the reason is usually that segregation is easier to prove to an auditor that way, not that a regulation asks for a separate cluster, as the webinar Reduce Kafka spend and operational risk sets out. What the bank has to show is the segregation between teams on a shared cluster, and the Apache Kafka multi-tenancy guide documents how one cluster provides it, with a topic namespace per tenant, authentication and authorization, and quotas. A management tool on a shared cluster has to carry the same boundaries through to what each person can see and do.

Banks differ most from other Kafka users in production. Engineers need to look at production data when something breaks, but standing read access to payment and customer topics is exactly what a bank’s controls exist to prevent. Writes are stricter again, and at TD anyone who wants to publish to a production topic has to ask for an exception and justify it. So the tool has to support access that is granted for a task, expires on its own, and leaves a record. The usual workaround is a VPN, a jump box and Kafka’s command-line tools, which hands the engineer everything the jump box’s credentials allow and keeps no record of the commands that were run. The AWS Security Blog’s guide to temporary elevated access names the two models, persistent access that can be invoked at any time and time-bound access granted for a stated business reason, and describes the second as the supplement for higher-risk human access. For banks in the EU the regulation says the same thing: DORA Article 9 requires policies that limit access to information and ICT assets to what is required for legitimate and approved functions and activities only.

Naming the person who did something is harder in Kafka than in most systems. A Kafka ACL is written against a principal, and that principal is usually a service identity, so engineers who share a technical user look identical to the broker. NORD/LB’s case study describes this as the bank’s compliance problem: it had no separation between natural and technical users until people signed in to a tool as themselves and the tool acted through technical users with scoped permissions. Only the tool people sign in to can attribute an action to a person, which is why the audit trail on this page is scored per person.

Around that sit the constraints every bank shares. People are managed in Active Directory or LDAP, clusters are often secured with Kerberos or mutual TLS, on-prem clusters run beside a managed cloud service, and every component that can see customer data goes through a third-party risk review. Two of those are separate sign-in layers that tool evaluations often merge. Kerberos, SCRAM and mutual TLS are how a client authenticates to the brokers, and the Apache Kafka security overview lists them as Kafka’s own SASL and SSL mechanisms. SAML, OpenID Connect and LDAP are how a person signs in to the tool. A tool can pass one check and fail the other, so a bank tests both.

The rules behind a bank’s third-party risk review, DORA Article 28 in the EU, OSFI Guideline B-10 in Canada and the interagency guidance in OCC Bulletin 2023-17 in the United States, are about providers that run services or hold data for the bank. Software that runs inside the bank’s own network, connects as an ordinary Kafka client and keeps its state on the bank’s clusters leaves that review less to cover than a hosted service, a tool with a database of its own, or a component that application traffic passes through.

The component that application traffic passes through is a Kafka proxy, and it brings benefits as well as costs. Kai Waehner’s Kafka Proxy Demystified lists what a proxy buys, encryption, tenant isolation, audit logging and routing applied without changing applications, and what it costs: an extra network hop, a component that has to be highly available or it becomes a single point of failure, and more code in the critical path. Conduktor Console connects to clusters directly and masks data in its own UI, but it needs an external PostgreSQL database, and Conduktor’s field encryption, masking of the data itself, policy enforcement on client traffic and Virtual Cluster multi-tenancy all run through Conduktor Gateway, which Conduktor’s own documentation describes as a Kafka proxy between client applications and brokers. Gateway can enforce policy on applications, which Kpow does not attempt. Kpow gives people RBAC, masking in inspection, temporary access, tenants and an audit log without putting anything in front of the brokers, and a bank keeps broker ACLs or an authorizer as the control for its services.

Banks also change Kafka distributions and vendors over time. TD runs on-prem clusters beside Confluent Cloud, and NORD/LB kept Confluent as its Kafka platform and added Kpow beside it, which treats the distribution and the management tool as separate decisions. IBM completed its acquisition of Confluent on 17 March 2026, so a bank whose console comes from its Kafka vendor now has one supplier behind both. DORA Article 29 asks financial entities to consider whether a provider is easily substitutable and whether several arrangements sit with the same provider, and a management tool that works the same on every distribution keeps the two decisions apart.

What banks use Kpow for

Five banks that run Kpow are named here. How each one uses it is described only where the bank has said so in public; for the others, the card carries public information about the bank itself. What these banks have in common is a platform team serving many teams on shared clusters, under a regulator, with a security function that has to approve every tool that touches customer data, and the rubric below the rankings is built from that. Each card is tagged with the rubric criteria its evidence speaks to.

Which customer shows which criterion

Production access on request
TD Bank
Audit trail per person
TD Bank
Directory and Kafka sign-in
TD Bank
Many teams, shared clusters
TD Bank
On-prem and cloud together
NORD/LB
  • TD Bank

    Retail and commercial bank, Canada

    • Production access on request
    • Audit trail per person
    • Directory and Kafka sign-in
    • Many teams, shared clusters
    • Encryption and SerDes
    • Lag monitoring

    TD’s clients moved onto Kpow because, in Sandy Yang’s words, Control Center “could only accept admin access and wasn’t scalable”. Access is by Active Directory group, with different rules for development, staging and production. Each onboarded team gets its own Kpow tenant and access policy. Production inspect access is granted through the Kpow API from a ServiceNow form, for an hour or two, and in Sandy Yang’s words, “This gives TD an audit trail.” TD encrypts its data with its own encryption library and loads its own SerDes JAR into Kpow so clients can read that data unencrypted, and it replaced command-line lag collection that took 20 minutes or more per cluster with a Kpow job that runs within two minutes, every five minutes, feeding both self-service lag alerts and executive scorecards.

    Source: TD talk, Running Kafka at bank scale

  • NORD/LB

    Regional bank (Landesbank), Germany

    • On-prem and cloud together
    • Two-step authorization
    • Debugging time
    • Lineage and regulators

    The German regional bank runs Kafka on Confluent’s Kubernetes operator, with more than 200 topics across on-prem and cloud environments, and uses Kpow beside it. Its case study describes two-step authorization, where users authenticate to Kpow and then act through technical users with scoped permissions, which let the team narrow what people can see in production. Erik Schumann of the central Kafka team: “Thanks to Kpow, we halved the time needed for debugging.” As an institution subject to BCBS 239 and DORA, NORD/LB has to show data lineage across its environment, which is why it is the example in data lineage support in Factor Platform.

    Source: NORD/LB case study

  • OTP Bank

    Commercial bank, Hungary

    • DORA scope
    • Systemically important

    Public context about the company. How it uses the product has not been published.

    OTP is the largest commercial bank of Hungary, with subsidiaries in ten further countries, and the Magyar Nemzeti Bank lists it as an other systemically important institution. As an EU credit institution it is in scope of DORA, Regulation (EU) 2022/2554. OTP Bank is a Kpow customer.

    Source: Wikipedia, OTP Bank

  • Kaspi Bank

    Bank inside the Kaspi.kz super app, Kazakhstan

    • PCI DSS and SWIFT CSP

    Public context about the company. How it uses the product has not been published.

    Kaspi Bank is the bank inside Kaspi.kz, whose Super App had about 15.7 million average monthly active users in Kazakhstan at the end of 2025. Its 2025 annual report on Form 20-F says the bank is regulated by the Agency for Regulation and Development of the Financial Market and the National Bank of Kazakhstan, and that its information security programme is guided by PCI DSS and SWIFT CSP. Kaspi Bank is a Kpow customer.

    Source: Kaspi.kz annual report on Form 20-F, 2025

  • CIB Egypt

    Private-sector bank, Egypt

    • Large private-sector bank

    Public context about the company. How it uses the product has not been published.

    Commercial International Bank is one of the largest banks in the Egyptian private sector. CIB is a Kpow customer.

    Source: Wikipedia, Commercial International Bank

How a bank runs its Kafka with Kpow

The workflows below are how a bank’s platform team puts Kpow to work across shared Kafka clusters. Each one is built from documented Kpow features, and TD’s talk describes several of them running in production.

Install it beside the clusters. Kpow runs as one Docker container or Java JAR, or on Kubernetes with the Helm charts, inside the bank’s own network. It needs no external database: its system requirements state that snapshots, metrics and the audit log are held in topics on the bank’s own cluster and that Kpow has no dependencies beyond Kafka. The mechanism is Kafka’s own, since Kafka Streams keeps application state in internal topics on the cluster, so there is no second store of topic metadata or audit records to secure and back up. Kpow connects to brokers as an ordinary Kafka client, with the same cluster security settings as any other client, including SASL GSSAPI for Kerberos, so applications keep talking to the brokers directly. Because it is a client, the brokers authorize it like one: Kpow’s documented minimum ACL permissions let the security team grant its principal least privilege, and the broker stays the final authority on every action. One instance connects to self-managed Apache Kafka, Confluent Platform, Confluent Cloud and Amazon MSK together, up to 12 clusters, so on-prem and cloud clusters sit in the same view.

Review where it sits. A Kafka UI server holds broker credentials, so it goes on an internal network behind the bank’s sign-in and never on the public internet; GitHub Security Lab’s write-up of three remote code execution flaws in an open-source Kafka UI found many instances deployed with no authentication, some of them exposed to the internet. Kpow’s state lives in Kafka, so Kpow is available only while that cluster is, and its system requirements add that it has to run close to the clusters it manages because network latency affects what it can observe. The UI also sends product analytics unless ALLOW_UI_ANALYTICS is set to false, an option the data collection page limits to paid licences.

Onboard a team with its own tenant. When a new team is approved, the platform team adds a tenant scoped to that team’s topics, consumer groups and connectors, and maps the team’s Active Directory group to a role through LDAP or SAML with Microsoft Entra ID. With LDAP the roles are read from directory groups by Jetty’s JAAS LDAP login module, so group membership in the directory drives access and Kpow keeps no user store of its own. RBAC then sets Allow, Deny or Stage per action and resource, with Deny winning where policies overlap, so production can stay read-only for everyone outside the operations team. That is the evaluation order bank security teams already know from AWS IAM, where an explicit deny overrides any allow. Inside a tenant, the multi-tenancy documentation describes a consistent synthetic view of the cluster, so the totals a team sees are computed over its own resources, a user can only create resources that are valid inside the tenant, and the documented default “Kpow Hidden” tenant excludes Kpow’s internal topics, whose names begin with oprtr or __oprtr, the audit topic among them. At TD the whole sequence is a change inside the bank: the client opens the firewall, creates an Active Directory group and raises a ServiceNow change order, and the platform team sets up the tenant and access policy.

Grant production access for one task. An engineer who needs to inspect a production topic raises a request in the bank’s change system. Once it is approved, that system calls the Kpow API to create a temporary policy that grants inspect access on the named topic for an hour or two. The policy expires on its own, is capped at seven days by default, and is recorded in the audit log. TD runs this pattern from a ServiceNow form, and the grant arrives within a minute. Because Kpow is self-hosted, a cloud ITSM reaches its API through a ServiceNow MID Server or a reverse proxy, as the Kpow and ServiceNow guide shows, and Kafka itself is never exposed. The pattern is the one identity platforms use for privileged roles: Microsoft Entra Privileged Identity Management offers time-bound access with start and end dates and approval before a role is activated, and a temporary policy applies it to one action on one Kafka resource.

Hold risky changes for a second person. With staged mutations, a role can be set to Stage on actions such as creating or deleting a topic, so the request waits in Kpow until an administrator approves or denies it, and the full history lands in the audit log. A webhook can tell the approvers that a request is waiting. The Apache Kafka operations guide says to make sure the consumer instances are inactive before resetting a group’s offsets, which on the command line leaves the engineer to confirm that for themselves. In Kpow an offset change is also a mutation, scheduled and applied when the group is empty, and it shows as a pending mutation until then.

Show an examiner who did what. The audit log records each action, data inspect queries included, with the user from the bank’s directory and the policy that allowed it. The question an examiner asks about customer data is who looked at it, and a log of changes alone cannot answer that. Kpow shows the last seven days in the product and writes the record to the __oprtr_audit_log topic on the bank’s own cluster, where Kpow’s topics default to one week of retention, so for a longer record webhooks send mutations, queries or both to Slack, Microsoft Teams or any endpoint the bank chooses, such as its SIEM. The record never leaves the bank’s environment unless the bank sends it somewhere.

Mask customer fields. Data policies redact card and customer fields in Data Inspect and ksqlDB results on the server, across the key, value and headers of a record, so an engineer with access to a payments topic sees the structure of each message without the sensitive values. Masking that ran in the browser would leave the clear value in the response for anyone who reads the traffic, which OWASP’s API security guidance lists as a top risk under relying on the client to filter sensitive data. Kpow also removes the plain String SerDes from Data Inspect when data policies are configured, since reading a structured message as raw text would skip the redaction, and when a schema changes so that a masked string becomes a nested object the policy falls back to full redaction, the behaviour OWASP calls failing securely. For card numbers, a policy that shows only the last four digits matches the PCI Security Standards Council’s guidance that masking should display only the digits the business need requires, with a customer service agent who needs the last four as its example.

Read encrypted payloads. A bank that encrypts messages at the payload level can load its own custom SerDes into Kpow, as TD does, so authorised users read the decrypted data in Data Inspect while it stays encrypted on the brokers. TD’s talk gives the reason banks end up here: its managed Kafka service was at the time reached over the internet, the bank’s network could not expose card data to it directly, and the answer was a shared library that encrypts every message before it leaves the application. Payload encryption makes the brokers blind to the data and every generic tool with them, so the test for a management tool is whether the bank’s own decryption code can run inside the bank’s own deployment of it.

Watch consumer lag and alert the owning team. Kpow publishes consumer group offsets and lag, with broker, topic and connector metrics, on Prometheus endpoints for Grafana, AlertManager or the bank’s own monitoring, and through the Kpow API. TD’s lag job on Kpow runs every five minutes and lets each team raise its own lag alerts.

Govern Flink and trace lineage. Banks that run Apache Flink beside Kafka can put the same directory sign-in and Allow, Deny or Stage policies over their Flink jobs with Flex, and Factor Platform adds data lineage across Kafka and Flink, the need NORD/LB describes under BCBS 239 and DORA. BCBS 239 is the Basel Committee’s principles for effective risk data aggregation and risk reporting, and for a bank built on events it comes down to three questions about every topic: where the data comes from, who owns it, and whether it contains regulated information.

To see these screens before installing anything, the live Kpow demo needs no signup and shows what a bank’s engineers do every day, data inspect, consumer groups and topic management, on two MSK clusters, with the audit trail in the __oprtr_audit_log topic on MSK Secondary. The demo has no SSO and no data policies configured, so sign-in and masking are the two things to test in the bank’s own environment. To run the workflows against the bank’s own clusters, install Kpow from its container image or JAR; tenants, RBAC, temporary policies, staged mutations, masking and the audit log are Kpow Enterprise features, and Community Edition is free for 3 clusters and 10 users.

Kpow live demo

Open Kpow the way a bank's engineers would

The live Kpow demo needs no signup. Browse clusters, consumer groups and topic data, then read the audit trail on the __oprtr_audit_log topic of the MSK Secondary cluster.

For platform teams running Kafka for many teams inside a bank.

Try the Kpow demo

FAQ

What is the best Kafka UI for a bank?

On this page’s rubric, Kpow: it grants time-boxed production access through its API, records every action with the person from the bank’s directory, scopes teams with tenants, manages on-prem and cloud clusters from one deployment, and runs as one container with no external database and nothing in the data path. Klaw is the strongest open-source option for request and approval workflows, but it does not inspect data.

How should a bank give engineers access to production Kafka data?

Grant it per task rather than permanently: a request, an approval, access to a named resource for an hour or two, and a record of the grant and of what was read. In Kpow that is a temporary policy, which a change system such as ServiceNow can create through the API, and which expires on its own.

Does a Kafka management tool need to be a proxy to govern access?

No. Governing what people can see and do in a tool, with RBAC, masking in inspection and an audit log, works from a tool that connects as an ordinary Kafka client. A proxy is only needed to enforce policy on application traffic, and it puts a component in front of every producer and consumer.

Can one Kafka tool manage on-prem and Confluent Cloud clusters?

Yes, if the tool is vendor-agnostic. Kpow manages self-managed Apache Kafka, Confluent Platform, Confluent Cloud and Amazon MSK from one deployment, up to 12 clusters per instance. Confluent Control Center documents Confluent Platform clusters only.

Does Kpow work with Kerberos-secured Kafka clusters?

Yes. Kpow takes the standard Kafka client security settings, and its cluster configuration uses SASL with GSSAPI as the default mechanism, with the Kerberos service name and login settings available as environment variables.

How these tools were scored

Six criteria, each taken from a situation bank platform teams have described in public, score every option from 0 to 10. They are listed here in order of weight.

1. Out of the data path. A management tool that runs in the bank’s own environment, connects as an ordinary Kafka client and keeps no data outside the bank’s clusters gives the shortest answer when the bank asks which third parties can see its data. Scored lower: tools that need an external database, and tools whose controls work only when application traffic passes through a vendor’s proxy. A self-hosted container with no external database and no proxy scores 9, a tool with a database of its own 6, one with several databases or a component on the brokers 4, and one that needs both a database and a proxy for its controls 3; 10 is kept for an option with nothing to deploy at all. This criterion is scored the same way on every Factor House page that uses it, and only its weight changes with the reader.

2. Production access on request. Can an engineer be given read access to a production topic for a task, approved and time-boxed, without a standing grant? Can production writes be held for a second person’s approval? And is sensitive data masked for the people who do get in? TD’s answer is a ServiceNow form that calls the Kpow API and grants inspect access within a minute, scoped for an hour or two, and in Sandy Yang’s words, “This gives TD an audit trail.” The wider set of controls over deletes and offset resets is compared in Kafka destructive operations tools.

3. Audit trail per person. When people work through a shared tool, the broker only sees the tool’s service account, so only the tool’s own log can name the person. A bank needs that log to include data reads as well as changes, and to be readable without building a consumer first. Kafka audit logging tools compares the layers in detail.

4. Directory and Kafka sign-in. People should sign in through the bank’s directory, whether that is LDAP directly or SAML and OIDC in front of Active Directory, with directory groups mapped to roles. TD grants Kpow access by AD group, with production limited to the operations team. On the cluster side the tool has to connect the way the bank’s clusters already authenticate clients, which in many banks means SASL GSSAPI (Kerberos). Kafka SSO tools covers the protocol detail.

5. Many teams, shared clusters. Hundreds of projects on a handful of clusters need each team scoped to its own topics, consumer groups and connectors, so the platform team can onboard a team with a policy rather than a cluster. At TD, a ServiceNow change order ends with the platform team setting up a Kpow tenant and access policy for the requesting team.

6. On-prem and cloud together. Banks rarely run one distribution. TD runs on-prem clusters beside Confluent Cloud, and NORD/LB runs Confluent’s Kubernetes operator in its own environment. One deployment of the tool should reach all of them; the general comparison is best tools to manage multiple Kafka clusters from one place.

The cost figures model a bank running 4 clusters (development, test, pre-production and production) for 100 engineers at $120 an engineer-hour, and each card prints its own assumptions. The general listicle view, without the banking weighting, is in best Kafka management tools.

F1 What a bank runs into, and what the Kafka tool has to do about it
What happens at a bank What the Kafka tool has to do
Reading production data An engineer needs to see what is in a production topic for an hour to diagnose a problem Grant read access on request, time-boxed, through an API a change system can call, and record the grant
Writing to production Producing to a production topic needs a justified exception Deny produce in production by role, and hold any exception for a second person's approval
Directory sign-in People and groups live in Active Directory or LDAP, often behind SAML or OIDC Sign people in through that directory and map its groups to roles
Cluster security Clusters authenticate clients with Kerberos (SASL GSSAPI), SCRAM or mutual TLS Connect with the same client settings any Kafka client uses
Many teams Hundreds of projects share a small number of clusters Scope each team to its own topics, consumer groups and connectors
Mixed topology On-prem clusters run beside Confluent Cloud or another managed service Manage every cluster from one deployment, whatever the distribution
Third-party review Risk and procurement review every component that can see payment or customer data Run inside the bank's environment as a Kafka client, not in front of the brokers as a proxy
Each row is a situation bank platform teams describe in public, followed by the behaviour a management tool needs in order to handle it without a workaround.

Every option is scored from 0 to 10 on each criterion, from the evidence and sources this page cites, and the reason for each score is on its card. The criteria are weighted: Out of the data path counts three times, Production access on request counts twice, Audit trail per person counts twice, Directory and Kafka sign-in counts once, Many teams, shared clusters counts once and On-prem and cloud together counts once, for a total out of 100. Out of the data path counts three times because every component that can see payment or customer data goes through a bank's third-party risk review, and a tool that sits between applications and brokers, or keeps its state in a database of its own, is more to review and one more thing that can fail on the payment path. Production access and the per-person audit trail count twice, because they are the two controls a bank's change process and its examiners ask about first: who could read or change production, and who actually did. Directory sign-in, shared clusters and mixed topology count once. This page is published by Factor House, which makes Kpow. Every option is scored on the same rubric and the same sources: Kpow's per-criterion scores are set the same way as every other option's and are not adjusted, and the weights apply to every option alike. Kpow ranks first on its total of 89 out of 100. The other options follow by total. Conduktor is listed last whatever its total; on its total of 59 it would place fourth.

Related reading