Skip to content

Best Kafka management tools for payments companies

Comparisons
Chad Harris·October 1, 2026·19 min read·Updated

The best Kafka management tool for a payments company is the one that lets engineers find out why a payment failed without exposing card numbers or slowing the payments themselves: card fields masked for everyone who inspects a topic, production access granted for one task and expiring on its own, an audit trail that names the person, sign-in through the company’s directory and a scoped view for every team, from a tool that runs inside the company’s own network and stays out of the data path. Kpow, Kafbat UI, AKHQ, Lenses, Confluent Control Center, Kafdrop and Conduktor each cover part of that. Scored on the six weighted criteria explained below the rankings, Kpow ranks first with 87 out of 100, ahead of Kafbat UI at 64 and AKHQ at 56.

Tools compared

Kafka management tools for payments companies scored against this page’s rubric (read 1 October 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 58 it would place third.
Rank Tool Total (out of 100) Out of the data path Production access on request Audit trail per person Who can see unmasked data Directory and Kafka sign-in Many teams, shared clusters Cost a year (modelled)
1 Kpow 87 One container, state in your Kafka, not a proxy Time-boxed temporary policies via API, staged approvals Every action with the IdP user, data queries included Server-side, show last four, no per-role exemption SAML, OIDC, LDAP; Kerberos, SCRAM or mTLS to brokers Tenants and per-action RBAC $20,880
2 Kafbat UI 64 One stateless container Per-resource RBAC, no approvals Optional, reads at level ALL, no view Server-side, the same for every viewer OAuth2, OIDC, LDAP; no SAML Per-resource roles per cluster $11,520
3 AKHQ 56 One stateless container Regex groups, UI-only if JWT secret unset Opt-in, no reads, no view Global filters, the same for every viewer LDAP, OIDC; no SAML Groups by resource and cluster pattern $16,320
4 Lenses 53 HQ on PostgreSQL, agent and database per cluster Strict global masking, no approvals In-product audit log from Team tier Strictest, no exemption even for admins SSO incl. Entra ID and Okta Roles on groups only $2,880 plus quoted licence
5 Confluent Control Center 35 Dedicated host, broker reporter JAR Confluent RBAC, no DENY, no approvals Broker principal, not always the person No masking described OIDC on self-managed Admin access only, per TD $2,880 plus quoted subscription
6 Kafdrop 29 One stateless process None, anyone who can reach it None No masking None built in; proxy in front One cluster, no roles $11,520
7 Conduktor 58 Console on PostgreSQL; Gateway proxy in the data path Cross-team access requests, no expiring grant 70+ event types with user, in the UI Console exemptions per user or group LDAP, OIDC Per user or group, most permissive grant wins $122,880; $212,880 with Gateway Core and Protect

No tool meets every column, and payments companies commonly pair a management tool for people with broker ACLs for services and with encryption or tokenisation of card numbers before they reach Kafka at all.

The tools, ranked for payments companies

Rank 1

87 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)
Masking
Server-side data policies, including show last four
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
Who can see unmasked data
6 out of 10
Directory and Kafka sign-in
9 out of 10
Many teams, shared clusters
9 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.
Who can see unmasked data 6 out of 10
Data policies redact card fields on the server and String SerDes are removed from Data Inspect while policies apply, so a raw deserializer cannot bypass them, but a policy is set per cluster and topic, not per role, so no owning team can be exempted the way Conduktor Console allows.
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.

For a payments company. Kpow runs inside the company’s own network, next to the brokers, and gives every team a governed way into Kafka without adding a component to the path a payment takes. Data policies redact card numbers, expiry dates and cardholder details in Data Inspect and ksqlDB results before they reach the browser, with a ShowLast4 function that keeps only the last four digits of a card number. Temporary policies grant a role read access to a production topic for a fixed time, capped at seven days by default, and the Kpow API lets a change system create them. Tenants give acquiring, issuing and fraud teams their own view of a shared cluster, and the audit log records each action and query with the person who ran 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 hides card data from people inspecting topics and does not change what is stored on the brokers, and it is set per topic, not per viewer. 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 payments company 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 company buy it through an existing AWS agreement.

Rank 2

64 out of 100 Total

Cost a year
$0 licence, about $11,520 in operator time (modelled)
Masking
Server-side, the same for every viewer
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
Who can see unmasked data
4 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
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.
Who can see unmasked data 4 out of 10
Masking runs on the server and every viewer sees the same result, with no per-role override yet, so the team that owns a card topic cannot be shown the real value while others see it masked.
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.

For a payments company. 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, and like Kpow it sits beside the brokers, not in front of them.

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. Reading the audit trail means building a consumer for it first. 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 company 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

AKHQ

akhq.io

56 out of 100 Total

Cost a year
$0 licence, about $16,320 in operator time and review (modelled)
Masking
Global filters, the same for every viewer
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
Who can see unmasked data
4 out of 10
Directory and Kafka sign-in
6 out of 10
Many teams, shared clusters
5 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.
Who can see unmasked data 4 out of 10
Its masking policies are global, so every viewer sees the same thing, and no guard against reading a topic around them is documented.
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.

For a payments company. AKHQ is free under Apache 2.0, configured in YAML that fits a GitOps review, with roles that combine resource types and cluster patterns and global masking filters for card fields. 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, so it cannot show an assessor who looked at a card topic, 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 company 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 4

Lenses

lenses.io

53 out of 100 Total

Cost a year
$2,880 operator time, plus a licence quoted above 15 users (modelled)
Masking
Global by field name, no exemption even for admins
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
Who can see unmasked data
6 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
6 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.
Who can see unmasked data 6 out of 10
Its masking is the strictest of the consoles here, with no escape even for admins, but there is no per-group exemption, so it sits below Conduktor Console.
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.

For a payments company. 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, so a card number field is masked wherever Lenses shows it.

Where it falls short. Every cluster adds an agent and a database to deploy, patch and bring into the assessment, 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 5

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)
Masking
None described
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
Who can see unmasked data
2 out of 10
Directory and Kafka sign-in
5 out of 10
Many teams, shared clusters
4 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.
Who can see unmasked data 2 out of 10
No masking of message fields is described, so anyone allowed to read a topic in Control Center sees the full value.
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.

For a payments company. 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.

Where it falls short. It does not reach clusters outside Confluent Platform, it offers no approval step or expiring grant, no masking of card fields is described, 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 6

29 out of 100 Total

Cost a year
$0 licence, about $11,520 in operator time (modelled)
Masking
None
Sign-in
None built in; a proxy goes in front
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
0 out of 10
Audit trail per person ×2 weight, this criterion counts 2 times toward the total
0 out of 10
Who can see unmasked data
0 out of 10
Directory and Kafka sign-in
2 out of 10
Many teams, shared clusters
0 out of 10
Why these scores for Kafdrop
Out of the data path 9 out of 10
It is one stateless Java process with no database and no proxy in the data path.
Production access on request 0 out of 10
It has no built-in authentication or role-based access, so anyone who can reach it can read every topic it can, with no approval step, time-boxed grant or masking.
Audit trail per person 0 out of 10
It keeps no audit trail of who viewed or changed what.
Who can see unmasked data 0 out of 10
It has no masking and no sign-in of its own, so anyone who can reach it sees every card field in full.
Directory and Kafka sign-in 2 out of 10
Built-in authentication was closed as not planned, so people are signed in, if at all, by a proxy in front, while the brokers are reached through ordinary Kafka client properties.
Many teams, shared clusters 0 out of 10
One deployment reaches one cluster and has no roles or tenants, so every user sees everything it can reach.

For a payments company. Kafdrop is the free open-source viewer under the Apache 2.0 licence. It runs as one container and shows topics, messages and consumer groups with little setup. Its latest release, 4.3.0, shipped in August 2026.

Where it falls short. The Kafdrop review records that built-in authentication was closed as not planned and that the documented answer is an NGINX proxy in front. There are no roles, no masking and no audit trail, so on topics that carry card numbers the proxy is the only control on who reads what, and anyone who reaches Kafdrop reads the full number.

Cost a year. $11,520 on this page’s model, with no licence fee: 8 engineer-hours a month at $120 an hour to run it, secure it behind a proxy and keep it current, the figure Factor House uses on every page for a tool with no access control of its own.

Rank 7

Conduktor

conduktor.io

58 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)
Masking
Console masking can exempt users or groups
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
Who can see unmasked data
7 out of 10
Directory and Kafka sign-in
7 out of 10
Many teams, shared clusters
7 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.
Who can see unmasked data 7 out of 10
Console masking policies can exempt users or groups, so an owning team sees the real value while everyone else sees it masked, the best score here, though Flink SQL results bypass masking; Gateway’s masking of the data itself is a separate control that sits in the data path.
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.

For a payments company. 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, with exemptions per user or group. The full picture is in the Conduktor review.

Where it falls short. Console connects to clusters directly and needs its own PostgreSQL. Conduktor’s data-level controls, such as encryption, masking of the data itself and Virtual Clusters for multi-tenancy, run in Gateway, a Kafka proxy that client applications connect through, which makes Gateway a component that transmits the card data of every service that uses those controls, and so part of the cardholder data environment and the PCI DSS assessment. 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 a payments company would use on card fields 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 payments companies need from a Kafka management tool

This page is about payments companies specifically: card networks, acquirers and processors, and payment terminal and gateway providers, whose Kafka topics carry card and transaction data. 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. For a bank’s platform team serving hundreds of projects on shared clusters, see best Kafka management tools for banks.

Payments companies run some of the largest Kafka fleets described in public. PayPal, which is not named here as a Kpow user, described its fleet in 2023 as more than 85 clusters and over 1,500 brokers hosting over 20,000 topics, with traffic peaking at about 1.3 trillion messages a day on Retail Friday 2022. Its clusters are deployed across security zones according to data classification, and access is only through the SASL port, with each application declaring whether it produces or consumes. How PayPal uses Apache Kafka in production covers the rest of that architecture.

Payments differ from other Kafka users because of the card number. PCI DSS, the standard published by the PCI Security Standards Council, applies to the cardholder data environment, which the Council’s glossary defines as the system components, people and processes that store, process or transmit cardholder data, together with components that have unrestricted connectivity to them. The same glossary defines masking as concealing a segment of the card number when it is displayed, for use when there is no business need to see all of it. A Kafka tool that shows authorization or dispute topics to engineers is displaying card data, so it has to mask it for the people who do not need the full number and has to record who looked.

The Council’s guidance on scoping (December 2016, written against PCI DSS 3.2) also brings into scope every system that can connect to the cardholder data environment, so any management tool that reads card topics is assessed with it. Where the tool sits changes how much is assessed. A proxy that producers and consumers connect through transmits every card message that passes it, so it is part of the cardholder data environment, and where authorization or settlement messages travel over Kafka, its latency, availability and configuration also become part of how payments are processed. A tool that connects beside the brokers as an ordinary Kafka client is assessed as one more client, and an outage in it stops people from looking at Kafka without stopping payments.

Around that sit the constraints most payments companies share. Engineers debug a failed payment by reading the messages for one transaction across several topics. People are managed in a central identity provider, several product teams share clusters, and a company that has grown by acquisition can end up running more than one Kafka distribution.

Each of the six criteria this page scores comes from those needs, and for each one PCI DSS or a public engineering source says something specific that general lists of Kafka tools leave out. The numbered PCI DSS requirements below are cited from Microsoft’s published guidance on the standard, which restates each requirement in full, because the standard itself sits behind the Council’s document library licence.

Out of the data path. A proxy has to be sized for the traffic it carries, because every request from every client routed through it passes it, while a tool that connects as a Kafka client reads metadata and touches records only when a person asks for them. Kai Waehner’s review of Kafka proxies says a proxy has to be deployed in a highly available and horizontally scalable way, and payments traffic makes that sizing harder than an average suggests, because PayPal’s figure of about 1.3 trillion messages a day was a Retail Friday peak, and a component on the payment path has to be built for that day. Conduktor accepts that cost for what it buys, since its encryption, masking of the data itself, policy enforcement on client traffic and Virtual Clusters run through Conduktor Gateway, a proxy that can encrypt or mask card fields for applications as well as people, while Conduktor Console connects to clusters directly, masks in its own UI and needs a PostgreSQL database. Kpow gives people RBAC, masking in inspection, temporary access, tenants and an audit log without putting anything in front of the brokers, and it does not attempt to protect data for applications, so the trade runs in both directions. Staying out of the data path is also not unique to Kpow, since Kafbat UI, AKHQ and Kafdrop score the same 9 on this criterion, and what separates those tools is what each can do from that position. In PCI DSS terms neither design takes the tool out of the assessment, because the scoping guidance brings in every system that connects to the cardholder data environment, and what differs is whether the component can slow or stop a payment.

Production access on request. PCI DSS is specific about how people may read stored card data. Requirement 7.2.6, as Microsoft’s guidance on PCI DSS Requirement 7 restates it, restricts user access to query repositories of stored cardholder data to applications or other programmatic methods, with access and allowed actions based on user roles and least privilege, and lets only the responsible administrators query those repositories directly. A topic that retains card numbers holds them for the whole of its retention period, so on a plain reading the usual production path of VPN, jump box and a console consumer typed by hand is direct query access by people who are not its administrators, with the further problems that the jump box typically holds full cluster access and nothing records which commands were run. A management tool with roles is the application route the requirement describes. Requirement 7.2.4 on the same page asks for all user accounts and access privileges to be reviewed at least once every six months, and that is where the length of a grant matters, because a grant that names one topic and expires when the incident ends leaves no standing privilege for the half-yearly review to find. Kafka itself cannot express such a grant, because a Kafka ACL allows or denies an operation for a principal on a resource and carries no end time, so on Kafka an expiring grant has to come from the management tool.

Audit trail per person. When engineers work through a shared tool, the broker sees the tool’s service account, and PCI DSS treats that arrangement as something to be controlled. Requirement 8.2.2 allows shared or generic accounts only on an exception basis, and Requirement 8.6.1 says that where an account used by a system or application can be used interactively, every action taken has to be attributable to an individual user; Microsoft’s guidance on PCI DSS Requirement 8 restates both. A Kafka tool through which people read topics under its own principal is interactive use of an application account, so the tool’s own log is the only place that attribution can come from. Requirement 10 then says what the log has to hold: audit logs capture all individual user access to cardholder data (10.2.1.1), which through a Kafka tool is mostly the data queries people run, each entry records the user, the type of event, the date and time, whether it succeeded, where it originated and the data or resource affected (10.2.2), and the history is retained for at least 12 months with the most recent three months immediately available for analysis (10.5.1), all as restated in Microsoft’s guidance on PCI DSS Requirement 10. The retention period is far longer than a Kafka topic’s default, so where a tool keeps its trail on a topic, as Kpow does, the company has to raise that topic’s retention or send the records to its SIEM.

Who can see unmasked data. The glossary’s definition of masking covers what a screen shows, and the Council’s note on 8-digit BINs and PCI DSS adds how much: masking and truncation formats should display or retain only the minimum number of digits needed for the specific business need, and its example is a customer service agent who needs only the last four digits to verify a card. An engineer finding out why a payment failed needs no more than that, which is what a last-four policy leaves visible. Without masking in the tool, the only safe policy for a card topic is to deny inspection, and engineers then wait on a ticket while someone on the platform team extracts and cleans the records by hand, a slow process that can itself expose data. The harder design question is the exception, because the glossary ties masking to there being no business need to view the whole number, and some teams, such as fraud or chargeback operations, may have that need. A tool whose masking is the same for every viewer forces a choice between masking the topic for those teams too and leaving it clear for everyone, which is why Conduktor Console’s exemptions per user or group earn the highest score on this criterion and Kpow’s per-topic policies earn 6. Masking is a display control in every one of these tools, and the same glossary entry points to truncation for a number that is stored, processed or transmitted, so no masked view changes what a topic holds.

Directory and Kafka sign-in. Requirement 8.4.2, restated in Microsoft’s guidance on PCI DSS Requirement 8, asks for multi-factor authentication on all access into the cardholder data environment, and opening a card topic in a Kafka tool is access of that kind. A Kafka tool normally gets its second factor from the identity provider it hands sign-in to, so SAML or OpenID Connect sign-in is the route by which the tool meets the requirement, and a tool with no sign-in of its own, such as Kafdrop, relies entirely on the proxy placed in front of it. The same guidance restates Requirement 8.2.5, that access for terminated users is revoked immediately, and Requirement 8.2.6, that inactive accounts are removed or disabled within 90 days. Both are met in the directory when a tool reads roles from directory groups, and both have to be repeated by hand in a tool that keeps local accounts. The broker side matters as well, because the tool’s configuration holds a credential for every cluster it manages. On Amazon MSK that credential can be an AWS identity, since IAM access control for Amazon MSK authenticates clients with IAM, and Kpow’s Amazon MSK configuration connects with AWS credentials without a separate username and password pair or certificate for the brokers.

Many teams, shared clusters. Whether card data gets clusters of its own is the company’s decision, because the Council’s scoping guidance says network segmentation of the cardholder data environment is not a PCI DSS requirement and recommends it as a way to reduce the scope and cost of an assessment. A talk on cluster consolidation describes the same reasoning from the operator’s side, which is that regulated companies move sensitive workloads to their own clusters because segregation is much easier to prove to an auditor that way, not because a regulation requires it. The talk also names the cost of sharing in the other direction, where analytical workloads placed on a low-latency cluster pay low-latency prices for capacity they do not need. However the clusters are divided, several teams end up on each one, and Apache Kafka’s multi-tenancy documentation covers how they are kept apart with topic naming, authentication, ACLs and quotas, the last of which lets a platform team cap a reporting client so that it cannot take broker capacity from the authorization path. The management tool is best scoped along the same boundaries, because an instance that reaches card clusters is in scope under the scoping guidance, with its sign-in and all of its users, so a company that has segmented its card clusters can run a separate instance inside that zone and keep engineers who only work on other clusters out of it, and within each instance a tenant per team limits what acquiring, issuing and fraud each see.

What payments companies use Kpow for

Four payments companies that run Kpow are named here: a card network, an acquirer, a terminal maker and a payments processor. How each one uses it is described only where it has been stated in public; for the others, the card carries public information about the company itself. None of them is quoted on its Kafka architecture. The rubric below the rankings is built from what PCI DSS asks of any tool that can display card data, and each card is tagged with the rubric criteria its evidence speaks to.

Which customer shows which criterion

Production access on request
Worldpay
Audit trail per person
Worldpay
  • Worldpay

    Merchant acquiring and payment processing

    • Production access on request
    • Audit trail per person
    • Message inspection
    • Confluent, MSK and self-hosted

    Factor House’s financial services page names Worldpay, with TD Bank and NORD/LB, among the companies whose data engineers use Kpow to inspect messages, enforce access controls and keep an audit trail across Confluent, MSK and self-hosted clusters. That statement is Factor House’s own; Worldpay has not published how it runs Kafka.

    Source: Factor House, Kafka for financial services

  • Visa

    Card network, United States

    • Card network
    • 200+ countries and territories

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

    Visa describes itself as a world leader in payments and technology, with over 259 billion payments transactions a year flowing between consumers, merchants, financial institutions and government entities in more than 200 countries and territories. Its own advertisement for a middleware engineer on Kafka asks for an understanding of Kerberos and SSL-based security. Visa is a Kpow customer. It has not published what it uses Kpow for.

    Source: Visa, Sr Middleware Engineer (Python, Kafka, Hazelcast)

  • Verifone

    Payment terminals and acceptance, United States

    • Point of sale
    • 165+ countries

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

    Verifone makes payment terminals and the software and services around them. Its own site says Verifone solutions are used in more than 165 countries and that more than $8 trillion in payment transactions are processed each year. Verifone is a Kpow customer.

    Source: Verifone, About us

  • SIBS

    Payment processor and services provider, Portugal

    • Payments infrastructure
    • 30+ countries

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

    SIBS describes itself as a partner in payments, offering value-added payment services in more than 30 countries and serving more than 150 million people on four continents. SIBS is a Kpow customer.

    Source: SIBS

How a payments company runs its Kafka with Kpow

The workflows below are how a payments company’s platform team puts Kpow to work on clusters that carry card data. Each one is built from documented Kpow features.

Install it beside the clusters. Kpow runs as one Docker container or Java JAR, or on Kubernetes with the Helm charts, inside the company’s own network. It needs no external database, because snapshots, metrics and the audit log are held in topics on the company’s own clusters, and it connects to brokers with the same cluster security settings as any other client. Producers and consumers on the payment path keep connecting to the brokers directly. One instance manages up to 12 clusters across self-managed Apache Kafka, Confluent Platform, Confluent Cloud and Amazon MSK. Where the software runs also decides who else joins the assessment. The PCI SSC glossary defines a service provider as a business directly involved in processing, storing or transmitting cardholder data on another entity’s behalf, or one that provides services that control or could impact the security of that data, so a console hosted by its vendor that reads card topics makes the vendor a party the company has to manage as one, while software the company runs itself is one more component in its own assessment. Kafka data stays in the company’s environment unless the company connects one of Kpow’s optional AI model integrations to a hosted model provider. Patching belongs to the same picture, because Requirement 6.3.3, restated in Microsoft’s guidance on PCI DSS Requirement 6, asks for critical and high security patches to be installed within one month of release on every system component, and a tool that is one container with no database is patched by replacing the image.

Mask card numbers to the last four digits. Data policies redact fields in Data Inspect and ksqlDB results on the server, in keys, values and headers, including fields nested inside Avro, Protobuf and JSON records. The ShowLast4 function, used in the documentation’s own credit card example, shows a card number as its last four digits, and where a function cannot apply to a field, Kpow falls back to full redaction rather than showing the value. While policies are active, String SerDes are removed from Data Inspect so nobody can read a card topic around them.

Trace one transaction across topics. When an authorization fails, an engineer opens Data Inspect and filters the authorization, settlement and dispute topics for one transaction ID with a kJQ filter, with card fields still masked. The query itself is recorded in the audit log. Inspection is also how a platform team checks what producers are writing into card topics. The PCI SSC glossary describes sensitive authentication data, which includes card verification codes, full track data and PINs, as data that might be transmitted or processed as part of a payment transaction but not stored, and Apache Kafka keeps every record for the whole of a topic’s retention period whether or not it has been consumed. A verification code that one producer includes in an authorization event is therefore held on the brokers long after the authorization has completed, whatever a tool masks on screen, and searching the authorization topics for those fields is how the team finds that producer.

Grant production access for one incident. An engineer who needs to read a production topic raises a request in the company’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 a fixed time. Temporary policies joined the admin API endpoints in release 94.1, and self-service Kafka governance with Kpow and ServiceNow walks through the pattern. The policy expires on its own, is capped at seven days by default, and is recorded in the audit log. TD Bank’s platform team describes this pattern in its talk on running Kafka at bank scale: an engineer fills in a ServiceNow form, the form calls the Kpow API, and access arrives within a minute and lasts an hour or two, which gives the bank an audit trail of every grant. The same mechanism covers emergencies, where the break-glass account is usually a shared one. Requirement 8.2.2 permits a shared account only for an exceptional circumstance, with use limited to the time needed, a documented business justification and management approval. AWS’s guidance on temporary elevated access treats break-glass access in a time-critical emergency as one more case for a time-bound grant, and a temporary policy created from an incident ticket for a named engineer meets the same need without a shared account at all.

Give each team its own view. The platform team adds a tenant for each team, so acquiring, issuing and fraud each see their own topics and consumer groups on a shared cluster, and only the Connect clusters and schema registries the tenant includes, and maps the team’s directory group to a role through SAML, OpenID Connect or LDAP. RBAC sets Allow, Deny or Stage per action and resource, with Deny winning where policies overlap.

Hold risky changes for a second person. With staged mutations, a role can be set to Stage on actions such as resetting a settlement consumer group’s offsets 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 staged request expires after 15 minutes by default, a window the company can lengthen with the scheduler setting if approvals go through a change board. For a payments company the reason to hold these actions is that an offset reset or a message produced by hand can move money a second time. An offset reset on a settlement or payout consumer group makes the group read the same records again, and Apache Kafka guarantees at-least-once delivery by default, so a replay is safe only where the consumer is idempotent. Stripe’s engineering post on idempotency describes the usual defence, an idempotency key that lets a charge be retried without the customer being charged twice, and the guide to dead letter queues in Kafka makes the same point about replay, that a record whose processing starts a payment starts it again unless the consumer checks for it. A reset does not have to be deliberate either, because a consumer group that is renamed has no committed offsets, and with auto.offset.reset set to earliest it reads the topic from the beginning. Producing by hand is the other case, since a message typed into a payment topic is an instruction that no upstream system created. TD Bank’s platform team says in its talk that nobody should publish to a production topic, and that anyone who has to must ask for permission and an exception and explain why and when that will change. In Kpow the equivalent is to leave produce on production payment topics out of every standing role, so that it is denied by default, and to grant it through a temporary policy when an exception is approved. Failed payment messages usually go through retry topics before a dead letter topic, the design Uber’s engineering team describes with a payment as its example, and clone to topic lets RBAC restrict both ends of a replay, so that only records from a consumer’s own dead letter topic can be copied, and only into that consumer’s retry topic.

Show the assessor who did what. The audit log records each action, data inspect queries included, with the user from the company’s directory and the policy that allowed it. Kpow shows the last seven days in the product and writes every record to the __oprtr_audit_log topic on the company’s own cluster, where Kpow’s topics default to one week of retention, which the company can raise to cover its assessment period, and webhooks send mutations, data inspect queries or both to Slack, Microsoft Teams or the company’s SIEM for long-term retention. Because the record is a Kafka topic, the ACLs on that topic decide who could alter it, and a tenant that excludes Kpow’s internal topics, as the documented Kpow Hidden tenant does, keeps the audit topic out of an engineer’s view altogether. Requirement 10.3.3 asks for audit logs to be backed up promptly to a central log server or other media that is difficult to modify, which is the job the webhook to the SIEM does, and the 12 months of history that Requirement 10.5.1 asks for is the figure to set the topic’s retention or the SIEM’s retention against.

Read encrypted payloads. A company that encrypts card data inside its messages can load its own custom SerDes into Kpow, so authorised users read the decrypted record in Data Inspect while the bytes on the brokers stay encrypted; where the custom SerDes returns JSON, data policies still mask card fields in the decrypted record. TD Bank’s platform team, which began as a payment modernisation project inside the bank’s payments group, describes this arrangement in the same talk. The bank’s network could not connect directly to a Kafka service on the internet and expose its credit card data, so it encrypts every message at message level with a library built for all of its teams, and it loads its own JAR into Kpow so that the people allowed to inspect a topic see the decrypted record.

Watch consumer lag on the payment path. Kpow publishes consumer group offsets and lag, with broker, topic and connector metrics, on Prometheus endpoints for Grafana, AlertManager or the company’s own monitoring, so a team sees an authorization or settlement consumer falling behind before merchants do. On a fraud topic consumer lag is a measure of exposure, which the guide to Kafka monitoring puts as five minutes of lag on a transactions topic meaning five more minutes of unchecked transactions. A bare offset count can mislead, as SoftwareMill’s analysis of lag monitoring sets out, because the same number of messages can be one second or one day of delay, and it recommends watching lag per partition for debugging. Where records are keyed by merchant or card, one partition can fall far behind the rest because it carries one large merchant, so lag is best read per partition as well as per group. Collecting it by hand does not keep up at that level of detail. TD Bank’s platform team says in its talk that gathering consumer lag with command-line tools took 20 minutes or more per cluster and that the same job through the Kpow API runs within two minutes, so the bank collects lag every five minutes and its client teams raise their own tickets from it.

Keep broker ACLs for services. Kpow governs people working through Kpow, not services connecting to brokers, so broker ACLs or an authorizer remain the control for payment applications. The three layers do different jobs: ACLs decide what a client principal can do at the broker, RBAC in the tool decides what a person can do through it, and tenants decide what that person sees. Kpow’s masking hides card data from people and does not change what is stored, so card numbers that should never reach Kafka in the clear still need encryption or tokenisation before they are produced, and its masking is set per topic and not per viewer.

To see these screens before installing anything, the live Kpow demo needs no signup and shows data inspect, consumer groups, topic management and the audit log topic on two MSK clusters. A reader can check the rubric against the product there by working through what a payments engineer does during an incident, searching topic data and checking consumer groups and lag, and then opening the __oprtr_audit_log topic on MSK Secondary to see what the audit trail records. The demo has no SSO and no data policies configured, so sign-in and masking are the two things to test in the company’s own environment. To run the workflows against the company’s own clusters, install Kpow from its container image or JAR; tenants, RBAC, temporary policies, staged mutations, data policies 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 payments team would

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

For platform teams running Kafka for card, acquiring and fraud teams.

Try the Kpow demo

FAQ

What is the best Kafka UI for a payments company?

On this page’s rubric, Kpow: it masks card fields on the server, grants time-boxed production access through its API, records every action and query with the person from the company’s directory, scopes teams with tenants, and runs as one container with no external database and nothing in the data path. Conduktor Console offers more flexible per-viewer masking, but its data-level controls need Gateway, a proxy in front of the brokers.

Does a Kafka management tool fall under PCI DSS?

If it can read topics that carry cardholder data, yes. The PCI SSC’s scoping guidance brings into scope every system that can connect to the cardholder data environment, so the tool, its sign-in and its logs are assessed with it. What differs between tools is how much they add: a self-hosted Kafka client adds one component, while a proxy that producers and consumers connect through also transmits every card message that passes it.

How should engineers debug payment topics without seeing card numbers?

Mask the card fields in every tool engineers use to inspect payment topics, keeping at most the last four digits, and grant production read access per incident rather than permanently. In Kpow that is a data policy using ShowLast4 and a temporary policy, and both the grant and each query appear in the audit log.

How long does Kpow keep its audit log?

Kpow shows the last seven days of the audit log in the product and writes every record to the __oprtr_audit_log topic, whose default retention is one week. Both defaults are shorter than PCI DSS asks for: Requirement 10.5.1, as Microsoft’s guidance on PCI DSS Requirement 10 restates it, is to retain audit log history for at least 12 months with the most recent three months immediately available for analysis. A payments company therefore raises the retention on that topic or sends mutations and data inspect queries to its SIEM through webhooks, which carry the user, the roles and the cluster for each event.

Does masking in a Kafka UI protect the data on the brokers?

No. View-time masking hides values from people inspecting topics through that tool and leaves the stored records and what consumers read unchanged. Card numbers that should never sit in Kafka in the clear need encryption or tokenisation before they are produced; the options are compared in Kafka data masking tools.

Should card numbers be tokenized before they reach Kafka?

Where no consumer needs the full card number, yes: a token or an encrypted field keeps the number out of every topic, every consumer and every tool that reads them, which view-time masking in a UI cannot do. The Council’s tokenization guidelines say that tokenization does not remove the need to maintain and validate PCI DSS compliance but may simplify validation by reducing the number of system components the requirements apply to. Masking in a tool such as Kpow then covers the fields that remain sensitive, such as the last four digits, cardholder names and expiry dates, for the people who inspect topics. The encryption, tokenisation and proxy options are compared in Kafka data masking tools.

Does PCI DSS require a separate Kafka cluster for card data?

No. The PCI SSC’s scoping guidance says network segmentation of the cardholder data environment is not a PCI DSS requirement, and recommends it because it can reduce the scope and cost of the assessment and the difficulty of maintaining the controls. Without adequate segmentation the whole network is in scope. A payments company that keeps card topics on their own clusters in their own network zone therefore does it to shrink the assessment, and a management tool that reaches those clusters is in scope with them, so the instance that manages card clusters is best kept inside the same zone.

Does a Kafka UI need multi-factor authentication under PCI DSS?

If it can show topics that carry cardholder data, yes. Requirement 8.4.2, as Microsoft’s guidance on PCI DSS Requirement 8 restates it, is that multi-factor authentication is implemented for all access into the cardholder data environment. A Kafka tool usually meets it by handing sign-in to the company’s identity provider through SAML or OpenID Connect, where the second factor is enforced, so a tool with no sign-in of its own depends on the proxy in front of it for both factors.

Does Kpow add latency to payment processing?

Not to the payment requests themselves. Kpow connects to the brokers as an ordinary Kafka client beside the payment flow, so producers and consumers never pass through it. It still reads from the brokers like any consumer, and it snapshots each cluster every minute and keeps its own topics on the company’s cluster, which is why its Data Inspect searches stop at a result limit or a scan limit. A tool whose controls work through a proxy is different: every producer and consumer routed through it takes an extra network hop.

How these tools were scored

Six criteria, each taken from a situation payments platform teams meet when card data flows through Kafka, 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 company’s own environment, connects as an ordinary Kafka client and keeps no data outside the company’s clusters gives the shortest answer when an assessor asks which components handle card 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 one incident, approved and time-boxed, without a standing grant? Can production writes be held for a second person’s approval? PCI DSS Requirement 7 restricts access to cardholder data by business need to know, and a grant that expires on its own is the most direct way to show that need lasted as long as the incident. 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. PCI DSS Requirement 10 asks for access to cardholder data to be logged and monitored, and the PCI SSC glossary describes an audit log as a trail sufficient to reconstruct the events around an operation, so the log has to include data reads as well as changes and be readable without building a consumer first. Kafka audit logging tools compares the layers in detail.

4. Who can see unmasked data. Production access asks whether someone can get into a topic and for how long; this criterion asks what they see once they are in. It scores who can see the real card number through the tool, whether masking can be bypassed, and whether the team that owns the data can be exempted while everyone else sees it masked. The scores are the same as on Kafka data masking tools, which compares masking in more depth, and Control Center, which that page does not score, gets 2 because no masking is described for it. Kafdrop, which that page does not score either, gets 0 because it has neither masking nor sign-in of its own.

5. Directory and Kafka sign-in. PCI DSS Requirement 8 asks for every user to be identified and authenticated, so people should sign in through the company’s identity provider, whether that is SAML, OIDC or LDAP, with directory groups mapped to roles rather than shared logins. On the cluster side the tool has to connect the way the company’s clusters already authenticate clients. Kafka SSO tools covers the protocol detail.

6. Many teams, shared clusters. Acquiring, issuing, fraud and settlement teams 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, and nobody sees another team’s card topics by default.

The cost figures model a payments company 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 payments weighting, is in best Kafka management tools.

F1 What a payments company runs into, and what the Kafka tool has to do about it
What happens at a payments company What the Kafka tool has to do
Card data in topics Authorization, settlement and dispute topics carry card numbers and cardholder details Mask card fields on the server for everyone who inspects those topics, down to the last four digits
Debugging a failed payment An engineer needs to read one transaction's messages in production to find out why it failed Grant read access on request, time-boxed, through an API a change system can call, and record the grant
Assessment evidence The assessor asks who accessed cardholder data, and when Log every action and data query with the person from the directory, not a shared service account
Directory sign-in People and groups live in the company's identity provider, behind SAML, OIDC or LDAP Sign people in through that directory and map its groups to roles
Many teams Acquiring, issuing, fraud and settlement teams share a small number of clusters Scope each team to its own topics, consumer groups and connectors
The authorization path Where authorization messages travel over Kafka, every extra component between a terminal and an approval adds latency and a point of failure Run beside the brokers as a Kafka client, not in front of them as a proxy that every payment passes through
Each row is a situation a payments platform team meets when card data flows through Kafka, 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, Who can see unmasked data counts once, Directory and Kafka sign-in counts once and Many teams, shared clusters counts once, for a total out of 100. Out of the data path counts three times because PCI DSS applies to every component that stores, processes or transmits cardholder data, and a proxy that producers and consumers connect through transmits every card message that passes it, which puts it inside the cardholder data environment and, where authorization messages travel over Kafka, on the authorization path; a tool that needs a database of its own is one more component to bring into the assessment. Production access and the per-person audit trail count twice, because restricting access to cardholder data by business need to know, and logging every access to it, are PCI DSS Requirements 7 and 10. Who can see unmasked data, directory sign-in and shared clusters 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 87 out of 100. The other options follow by total. Conduktor is listed last whatever its total; on its total of 58 it would place third.

Related reading