Skip to content

Best Kafka governance tools for financial services

Comparisons
Chad Harris·September 22, 2026·13 min read·Updated

The best Kafka governance tools for financial services are the ones that produce evidence for what regulators actually ask: access limited to approved functions, strong authentication, controlled and recorded change, an audit trail that reconstructs events, and masked sensitive data. Self-hosted management tools such as Kpow and Klaw, authorizers such as Apache Ranger, GitOps through Strimzi or Terraform, and commercial platforms from Confluent and Conduktor each cover part of that list.

The governance problem this page compares tools on is showing an auditor who could touch Kafka, who did, and what they saw. The broader definition of stream governance covers schemas, lineage and catalogs too, and those appear below where they bear on regulation.

At a glance

Eight options are scored here on this page's six weighted criteria, 100 points in all. The rubric is weighted: Access limited counts three times, Audit trail counts three times, and Strong authentication, Controlled change, Masking and Stays in your perimeter count once. The five listed first, of eight, each out of 100: Kpow 79, which takes its best score on Access limited (8 out of 10) and its lowest on Masking (7 out of 10); Apache Ranger 63; Klaw 60; Strimzi and GitOps 56; Confluent 51.

What financial services teams need from Kafka governance

Three sets of requirements drive the search: compliance evidence for regulators and auditors, stream quality so a bad record cannot break a ledger or a risk engine, and safe self-service so the platform team stops being a ticket queue without losing control. The sections below follow that order.

One requirement cuts across all three, and it is where the deployment model matters. When Chad Harris was working through product telemetry with Factor House’s engineers, he wrote that “it’s safe to assume that just about every single deployment of kpow backend, will be denied egress to the internet”. That is the normal state of a bank’s Kafka topology, and any governance tool that needs to call home, or to route payload data through a vendor’s cloud, starts the security review behind. Factor House’s sales team’s report from Flink Forward in 2025 recorded the same thing from the other side: what resonated about Kpow with security-minded teams, “especially financial services”, was being self-hosted, with no agents, and straightforward RBAC and audit.

  1. Financial compliance and regulatory auditing

Compliance evidence comes from three controls working together: an audit trail tied to real identities, masking of sensitive fields during inspection, and encryption of payloads before they reach storage.

The audit trail is where most Kafka setups fall short, because the broker’s own authorization log records the connection’s principal, and when people work through a tool that principal is the tool’s service account. Only a tool-level audit log records the person, which Kafka audit logging tools covers layer by layer. Sandy Yang, a staff engineer on TD’s Event Streaming Platform, described in her talk with Factor House how TD grants inspect access through a ServiceNow form, scoped for an hour or two, and said “This gives TD an audit trail.” The same talk describes TD encrypting everything at the message level with its own library, and using a custom SerDes in Kpow so their clients can see that encrypted data in an unencrypted format, which is masking and encryption working at different layers of one platform. For the encryption layer itself, see what is envelope encryption?.

  1. Stream quality and data contracts

In payments and risk systems a malformed record is an incident, not a warning. The controls here are schema compatibility rules in a schema registry, validation that stops bad records being produced, and lineage that shows which downstream systems a topic feeds.

Tools make a difference even at the point people produce test data by hand. NORD/LB’s central Kafka team told Factor House in their case study that their earlier tooling was not fetching the schema when producing test messages, so bad data reached topics, and that “With Kpow, you aren’t able to produce bad data because Kpow always fetches the schema and serializes it with the actual schema”. On lineage, OpenLineage is the open standard for describing datasets, jobs and runs, and Apache Atlas is an Apache metadata and governance framework with a Kafka bridge among its add-ons. Why BCBS 239 and DORA push banks towards lineage is covered in data lineage support in Factor Platform.

  1. Safe self-service with platform guardrails

Self-service in a regulated environment needs three things: requests defined as code or through a governed portal, RBAC that isolates teams, and a four-eyes step on production changes. The failure mode on one side is a platform team buried in tickets. On the other side it is every engineer holding admin credentials.

NORD/LB’s case study describes where they started: “We really had no separation between natural and technical users.” Their fix was Kpow’s two-step authorization, users authenticating to Kpow and then acting through technical users with scoped permissions, and in their words, “In production, we really want to narrow what people can see, and with Kpow’s two-step authorization, we could finally enforce that.” The Flink Forward report lists the same request from other teams: RBAC by environment, with producing allowed in dev and restricted in prod.

The tools, by archetype

Rank 1

79 out of 100 Total

Try Kpow in the live demo No signup needed.

Sign-in
SAML, OIDC, LDAP
Deployment
Self-hosted, audit on your own Kafka
Access limited ×3 weight, this criterion counts 3 times toward the total
8 out of 10
Strong authentication
8 out of 10
Controlled change
8 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
8 out of 10
Masking
7 out of 10
Stays in your perimeter
8 out of 10
Why these scores for Kpow
Access limited 8 out of 10
Scored “Strong. Per-action RBAC and tenants” in the comparison table on this page, it governs people working through Kpow, not services connecting to brokers, the same grade the table gives Ranger.
Strong authentication 8 out of 10
It signs people in with SAML, OIDC and LDAP, and SSO through the corporate identity provider is the page’s reading of criterion 2.
Controlled change 8 out of 10
Staged approvals sit on any action, and approvals and break-glass temporary policies are recorded in the audit log.
Audit trail 8 out of 10
Every action is logged with user and RBAC decision, and data queries go via webhook, though this covers people through Kpow only and the in-app view is seven days.
Masking 7 out of 10
Masking is server-side in inspection and per resource, which the page’s own prose calls “per resource rather than per viewer”, so Conduktor’s per-group exclusions score higher.
Stays in your perimeter 8 out of 10
It is self-hosted with the audit on your own Kafka, so neither the audit trail nor the payloads leave your network, the same pass as the other self-hosted tools.

Kafka-native governance and management tools. Self-hosted Kafka management with SAML, OIDC and LDAP login, RBAC with allow, deny and stage effects per action and resource, multi-tenancy, server-side data masking in data inspect, and an audit log on an internal Kafka topic with webhook delivery. Detail in the Factor House section. Source: Kpow RBAC docs.

Staying patched. Kpow’s release notes name the CVEs each release remediates, and the 96.4 image built on 5 August 2026 bundles 311 dependencies of which one carries a high or critical advisory, none of them published before that release. That is not a claim to patch faster than a community project: Kpow’s own dependency remediation has run from 14 to 128 days, and the current image still ships CVE-2026-75595 in netty, a 9.1 critical public since 19 August 2026, unpatched. What a licence buys here is not a different deployment model, because Kpow is self-hosted too. It is a company contracted to ship the fix. Every dependency figure on this page was read on 24 September 2026 from the published artefacts and from nvd.nist.gov.

Rank 2

Apache Ranger

ranger.apache.org

63 out of 100 Total

Layer
Kafka authorizer
Deployment
Self-hosted, open source
Access limited ×3 weight, this criterion counts 3 times toward the total
8 out of 10
Strong authentication
3 out of 10
Controlled change
4 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
8 out of 10
Masking
0 out of 10
Stays in your perimeter
8 out of 10
Why these scores for Apache Ranger
Access limited 8 out of 10
Ranger is “Strong at the broker”, and the page’s own prose has it “Strong on criteria 1 and 4 at the broker layer”.
Strong authentication 3 out of 10
It relies on Kafka authentication, so it adds no strong authentication of its own.
Controlled change 4 out of 10
Policy changes happen in Ranger admin, and the page names no review or approval step.
Audit trail 8 out of 10
A central audit of access decisions makes it strong on criterion 4 at the broker, where the principal is the connection’s, not always the person.
Masking 0 out of 10
It has no masking.
Stays in your perimeter 8 out of 10
Deployment is self-hosted and open source.

Authorization and change control layers. Replaces Kafka’s authorizer with centrally managed policies and central audit across the data platform. Strong on criteria 1 and 4 at the broker layer. Sources: Apache Ranger, plugin source.

Staying patched. Apache Ranger is Apache-2.0 and actively developed, with a published security policy, and it carries the exposure of a large, long-lived project: an NVD keyword search returns 36 CVEs across its history. It publishes tags rather than GitHub releases, so the build you run is one you cut and patch yourself.

Rank 3

60 out of 100 Total

Sign-in
Active Directory, OAuth2 SSO, database
Deployment
Self-hosted, open source
Access limited ×3 weight, this criterion counts 3 times toward the total
7 out of 10
Strong authentication
8 out of 10
Controlled change
8 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
5 out of 10
Masking
0 out of 10
Stays in your perimeter
8 out of 10
Why these scores for Klaw
Access limited 7 out of 10
It is “Good. Teams, tenants, 35+ permissions”, one grade below the rows the table calls Strong.
Strong authentication 8 out of 10
Sign-in is through Active Directory and OAuth2 SSO, and roles can come from Active Directory.
Controlled change 8 out of 10
It is “Strong. Approval on every request”, and the page’s own prose calls it “Strong on criterion 3”.
Audit trail 5 out of 10
Only requests and approvals are recorded, with no record of data reads, which criterion 4 puts in scope.
Masking 0 out of 10
There is none, because it is “not a data inspection or masking tool”.
Stays in your perimeter 8 out of 10
Klaw is self-hosted and open source.

Kafka-native governance and management tools. Open-source, Apache 2.0 self-service portal. Topic, ACL, schema and connector requests go through approval, roles can come from Active Directory, tenants are isolated, and every request is audited. Strong on criterion 3, not a data inspection or masking tool. Source: Klaw.

Staying patched. Klaw is Apache-2.0 under Aiven, with a published security policy and the patch record to match it. Three CVEs, and the fix shipped the same day for CVE-2026-25999 in February 2026 and the next day for the two published in May 2026. Seven releases in two years, most recently v2.10.6 in September 2026. Community-maintained is not the same as unmaintained, and this is the end of that range where it shows.

Rank 4

Strimzi and GitOps

strimzi.io

56 out of 100 Total

Sign-in
Relies on Kafka authentication, OAuth option
Deployment
Self-hosted, open source
Access limited ×3 weight, this criterion counts 3 times toward the total
7 out of 10
Strong authentication
4 out of 10
Controlled change
8 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
5 out of 10
Masking
0 out of 10
Stays in your perimeter
8 out of 10
Why these scores for Strimzi and GitOps
Access limited 7 out of 10
It is “Good. ACLs per user resource”.
Strong authentication 4 out of 10
It relies on Kafka authentication, with an OAuth option, an indirect form of criterion 2.
Controlled change 8 out of 10
It is “Strong. Pull requests”, and the page’s own prose has it “Strong on criterion 3 for everything that goes through the repository”.
Audit trail 5 out of 10
The Git history records changes, not reads.
Masking 0 out of 10
There is no masking.
Stays in your perimeter 8 out of 10
Strimzi is self-hosted and open source.

Authorization and change control layers. Topics and users with their ACLs as Kubernetes resources, changed by reviewed pull request. Strong on criterion 3 for everything that goes through the repository. Source: Strimzi deploying guide.

Staying patched. Strimzi is community-maintained under the CNCF and it answers the patching question better than most vendors do. Thirty-eight releases in two years, six published CVEs, each with a coordinated-disclosure advisory, and on the last three batches the fixed release shipped the same day the advisory was published: 0.49.1 in December 2025, 0.50.1 in February 2026 and 1.0.1 in June 2026. Open source is not the risk here. The absence of a contract is, and Strimzi shows how little that has cost so far.

Rank 5

Confluent

confluent.io

51 out of 100 Total

Covers
Stream Governance and RBAC
Deployment
Confluent Platform self-managed, or Confluent Cloud
Access limited ×3 weight, this criterion counts 3 times toward the total
6 out of 10
Strong authentication
7 out of 10
Controlled change
0 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
7 out of 10
Masking
0 out of 10
Stays in your perimeter
5 out of 10
Why these scores for Confluent
Access limited 6 out of 10
RBAC comes through the Metadata Service, “with no DENY rules per its docs”, and applies to Confluent’s own distributions.
Strong authentication 7 out of 10
OIDC SSO covers Control Center, one protocol named, for one tool.
Controlled change 0 out of 10
It is “Not scored here”, and the page gives no evidence on change control, so no credit.
Audit trail 7 out of 10
Authorization audit logs go to Kafka topics, and the page does not say they record the person behind a tool.
Masking 0 out of 10
Masking is “Not scored here”, and the page gives no evidence on masking, so no credit.
Stays in your perimeter 5 out of 10
This is self-managed Confluent Platform, or Confluent Cloud, so it depends on which one you run.

Managed stream ecosystem suites. Confluent’s documentation, Stream Governance overview page, lists Stream Lineage, Stream Catalog and a Data Portal for Confluent Cloud, and its Confluent Platform documentation describes RBAC through the Metadata Service and audit logs of authorization decisions. These apply to Confluent’s own distributions. Source: Confluent’s documentation.

Rank 6

Terraform with the Kafka provider

github.com/Mongey

49 out of 100 Total

Manages
Topics and ACLs
Deployment
Runs in your pipeline
Access limited ×3 weight, this criterion counts 3 times toward the total
6 out of 10
Strong authentication
0 out of 10
Controlled change
8 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
5 out of 10
Masking
0 out of 10
Stays in your perimeter
8 out of 10
Why these scores for Terraform with the Kafka provider
Access limited 6 out of 10
It manages ACLs per resource, with no grade and no RBAC or tenants named, below the rows marked Good.
Strong authentication 0 out of 10
Not applicable here, as the page names no authentication it provides.
Controlled change 8 out of 10
It is “Strong. Plan review”, using the same plan and review flow as the rest of your infrastructure.
Audit trail 5 out of 10
It leaves a Git history of changes, not reads.
Masking 0 out of 10
It does no masking.
Stays in your perimeter 8 out of 10
It runs in your pipeline, so nothing goes to a vendor.

Authorization and change control layers. Topics and ACLs in the same plan and review flow as the rest of your infrastructure. Source: terraform-provider-kafka.

Staying patched. The Mongey Terraform Kafka provider is MIT. The repository was last pushed in August 2026 but it has not cut a release in 367 days, since v0.13.1 in September 2025, so anything fixed on its main branch is not in the provider you download.

Rank 7

Apache Atlas and enterprise data catalogs

atlas.apache.org

16 out of 100 Total

Covers
Metadata, classification and lineage
Deployment
Depends
Access limited ×3 weight, this criterion counts 3 times toward the total
0 out of 10
Strong authentication
0 out of 10
Controlled change
0 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
3 out of 10
Masking
2 out of 10
Stays in your perimeter
5 out of 10
Why these scores for Apache Atlas and enterprise data catalogs
Access limited 0 out of 10
Access control is not applicable, because “they do not control access or change on the cluster”.
Strong authentication 0 out of 10
Authentication is not applicable.
Controlled change 0 out of 10
Change control is not applicable, because they do not control change on the cluster.
Audit trail 3 out of 10
They keep lineage and metadata history, an indirect record rather than an audit of who did what.
Masking 2 out of 10
They give “Classification, not masking”, and classification is the small part of criterion 5 that remains.
Stays in your perimeter 5 out of 10
Deployment “Depends”, since Atlas is self-hosted and the commercial catalogs vary.

Cross-platform data catalogs. Atlas, like the commercial enterprise catalogs, treats Kafka topics as one data asset among many for metadata, classification and lineage. They document and classify data, and they do not control access or change on the cluster. Source: Apache Atlas.

Staying patched. Apache Atlas is Apache-2.0 and actively developed, publishing tags rather than releases, with 14 CVEs across its history on an NVD keyword search. The build you run is one you cut, so the patch is one you cut too.

Rank 8

Conduktor

conduktor.io

69 out of 100 Total

Sign-in
LDAP, OIDC
Deployment
Depends on deployment
Access limited ×3 weight, this criterion counts 3 times toward the total
7 out of 10
Strong authentication
8 out of 10
Controlled change
6 out of 10
Audit trail ×3 weight, this criterion counts 3 times toward the total
7 out of 10
Masking
8 out of 10
Stays in your perimeter
5 out of 10
Why these scores for Conduktor
Access limited 7 out of 10
It is “Good. RBAC and ownership”, one grade below the rows the table calls Strong.
Strong authentication 8 out of 10
It offers LDAP and OIDC single sign-on.
Controlled change 6 out of 10
Access requests are governed, and the page names application ownership and access requests, not approval of every change.
Audit trail 7 out of 10
It has a Console audit log with CloudEvents export, and the page does not say it records data reads.
Masking 8 out of 10
Console masking takes user or group exclusions, which is per viewer, and the page says Kpow’s is per resource only, so this is the strongest masking row.
Stays in your perimeter 5 out of 10
It is a case of “Depends on deployment”, and the page does not say whether data stays inside.

Kafka-native governance and management tools. Commercial console and gateway. Conduktor’s documentation describes Console audit logs exportable in CloudEvents format, data masking policies that can exclude users or groups, LDAP and OIDC single sign-on, and application ownership with governed access requests. Source: Conduktor’s documentation.

Tools compared

Kafka governance tools for financial services scored against the regulation-derived rubric (read 22 September 2026)
Rank Tool Access limited (DORA 9(4)(c)) Strong authentication (DORA 9(4)(d)) Controlled change (DORA 9(4)(e)) Reconstructable audit (PCI glossary) Masking (PCI glossary, GDPR 32) Stays in your perimeter Source
1 Kpow Strong. Per-action RBAC and tenants SAML, OIDC, LDAP Staged approvals on any action Every action with user and RBAC decision, data queries via webhook Server-side masking in inspection, per resource Self-hosted, audit on your own Kafka Kpow docs
2 Klaw Good. Teams, tenants, 35+ permissions Active Directory, OAuth2 SSO, database Strong. Approval on every request Requests and approvals None Self-hosted, open source GitHub
3 Strimzi with GitOps Good. ACLs per user resource Relies on Kafka authentication, OAuth option Strong. Pull requests Git history of changes, not reads None Self-hosted, open source Strimzi docs
4 Apache Ranger Strong at the broker Relies on Kafka authentication Policy changes in Ranger admin Central audit of access decisions None Self-hosted, open source ranger.apache.org
5 Terraform Kafka provider ACLs per resource Not applicable Strong. Plan review Git history of changes, not reads None Runs in your pipeline GitHub
6 Confluent Stream Governance and RBAC RBAC through the Metadata Service, with no DENY rules per its docs OIDC SSO for Control Center Not scored here Authorization audit logs to Kafka topics Not scored here Confluent Platform self-managed, or Confluent Cloud Confluent's documentation
7 Apache Atlas and catalogs Not applicable Not applicable Not applicable Lineage and metadata history Classification, not masking Depends atlas.apache.org
8 Conduktor Good. RBAC and ownership LDAP, OIDC Governed access requests Console audit log, CloudEvents export Console masking with user or group exclusions Depends on deployment Conduktor's documentation

No row covers every column, which is why regulated platforms layer them. The combination that recurs in regulated deployments is broker ACLs managed as code for services, a self-hosted management tool with SSO, RBAC, masking and audit for people, and a catalog or lineage tool for the data governance office.

How Factor House approaches it

Kpow covers the people side of this problem, inside your own infrastructure. It runs as a container you deploy, connects to Kafka with credentials you control, and keeps its audit log on an internal topic, __oprtr_audit_log, on a cluster you already run, so neither the audit trail nor the payloads leave your network. The financial services page covers how banks and payment processors use it.

Mapped to the rubric: RBAC policies give each role Allow, Deny or Stage on specific actions and resources, with Deny winning where policies overlap and anything unmatched implicitly denied. Staged mutations hold a sensitive action until an admin who also holds that permission approves or denies it, and the decision is recorded in the audit log. Temporary policies are the break-glass path: time-boxed, capped at seven days by default, never above the granting admin’s own permissions, and audited. Data policies mask PAN and personal fields in data inspect results on the server, and the audit log records each action with the user from your IdP and the policies that authorized it, delivered by webhook to Slack, Teams or your SIEM. Multi-tenancy scopes each team to its own topics, groups and connectors on shared clusters.

Kpow does not win on every point. It governs people working through Kpow, not services connecting to brokers, so pair it with broker ACLs or Ranger. Its masking is per resource rather than per viewer, with RBAC deciding who may inspect a topic at all. It does not manage Confluent’s RBAC role bindings. The in-app audit view covers seven days, the audit topic defaults to one week of retention, and webhooks send the record to a SIEM for the long term.

To check the rubric against the real product, open the Kpow demo and work through the screens a bank’s engineers would use every day (data inspect, consumer groups and topic management across clusters), then map each rubric row to the RBAC, masking and audit settings your deployment would need.

For a regulation-by-regulation look at a newer EU requirement, see is your data stack ready for the EU Data Act?.

Kpow live demo

See Kafka governance built for audit

Explore Kpow in a live environment and test the workflows that role-based access, masking, approvals and the audit log sit on top of.

For platform and security teams who have to show who can do what.

Try the Kpow demo

FAQ

What does DORA require for Kafka access control?

DORA does not mention Kafka. Article 9(4)(c) requires logical access limited to what legitimate and approved functions need, 9(4)(d) requires strong authentication, and 9(4)(e) requires controlled, recorded and approved change. For Kafka that usually means RBAC per action and resource, SSO for tools, and reviewed changes with an audit trail.

How do I meet PCI DSS masking requirements when engineers debug Kafka topics?

PCI SSC defines masking as concealing a segment of the PAN when displayed, used when there is no business need to see all of it. Mask card fields in every tool engineers use to inspect payment topics, and restrict direct topic reads to the services that need the full value.

Should a bank use a SaaS or self-hosted Kafka governance tool?

Either can be assessed, but a self-hosted tool keeps payloads and audit data inside your perimeter, which narrows the third-party risk review DORA Chapter V requires for ICT providers. Most bank Kafka topologies also deny outbound internet access, which rules out tools that must call a vendor’s cloud.

Is schema enforcement part of Kafka governance for financial services?

Yes. Compatibility rules in a schema registry and producers that always serialize against the registered schema stop malformed records reaching ledgers and risk engines. Lineage then shows which downstream systems a bad record would have reached.

How these tools were scored

Every criterion below starts from the regulation’s own text. Each requirement is quoted from the text, and where the step from the text to a Kafka control is this page’s reading rather than the regulation’s words, it is marked as such. None of this is legal advice.

1. Access limited to approved functions. DORA, Regulation (EU) 2022/2554, Article 9(4)(c), requires financial entities to “implement policies that limit the physical or logical access to information assets and ICT assets to what is required for legitimate and approved functions and activities only”. PCI SSC’s glossary defines least privileges as “the minimum level of privileges necessary to perform the roles and responsibilities of the job function”. For Kafka, this page’s reading is that this needs permissions per action and per resource, and isolation between teams on shared clusters. In a recent talk Q&A Chad Harris argued against the common alternative of giving each governance domain its own cluster, because governance domains change all the time and you end up with a cluster per domain, plus new ones when domains merge, and that better governance and audit controls, with RBAC and multi-tenancy, are the better answer.

2. Strong authentication. DORA Article 9(4)(d) requires “policies and protocols for strong authentication mechanisms”. For tools people use, this page’s reading is SSO through the corporate identity provider, so leavers lose Kafka access when HR closes their account. Kafka SSO tools compares the options for both people and services.

3. Controlled change. DORA Article 9(4)(e) requires ICT change management that ensures “all changes to ICT systems are recorded, tested, assessed, approved, implemented and verified in a controlled manner”. For Kafka this means a second person approving production changes, through a pull request or an approval step in a tool, and a record of what actually ran. In the Kafka operational issues talk he pointed out that teams with CI and GitOps still keep a break-glass path for emergencies, and changes through it do not always make it back into GitOps. A governance setup has to record those too.

4. A reconstructable audit trail. PCI SSC’s glossary defines an audit log as a “chronological record of system activities” that “provides an independently verifiable trail sufficient to permit reconstruction, review, and examination” of the events around an operation. Discussing retry topics with Factor House’s team, he pointed out that on a SOC 2 audit, auditors “will want to ensure for example, that the data on the topic is exactly how the producing service intended it to be (i.e. no other person/process was able to put malicious data that could be used to hide financial crime etc)”. That puts people’s produce actions and data reads in scope, not only admin changes.

5. Masked and pseudonymised data. PCI SSC defines masking as a “method of concealing a segment of PAN when displayed or printed”, used “when there is no business need to view the entire PAN”. GDPR, Regulation (EU) 2016/679, Article 32(1)(a), lists “the pseudonymisation and encryption of personal data” among measures appropriate to the risk, and Article 25(1) names pseudonymisation as a data protection by design measure. For Kafka, this page’s reading is masking wherever people inspect payment and customer topics, and encryption where the bytes themselves need protecting. The masking options are compared in Kafka data masking tools.

6. Evidence of internal control. The Sarbanes-Oxley Act, section 404(a), requires an annual internal control report that states “the responsibility of management for establishing and maintaining an adequate internal control structure and procedures for financial reporting” and assesses its effectiveness. The Act does not mention logging or Kafka. This page’s reading is that where Kafka carries data that feeds financial reporting, the access, change and audit records in criteria 1 to 4 are what a platform team hands over when that assessment reaches their systems.

7. Data stays inside your perimeter. DORA Chapter V (Articles 28 to 44) governs how financial entities manage ICT third-party risk. This page’s reading, not the text’s: a governance tool that runs in your own infrastructure and never sends payload data to a vendor narrows what that third-party assessment has to cover. Toby Roger, on Factor House’s team, makes the related point that independent tooling keeps the governance layer yours rather than the vendor’s.

The sources for this rubric are the regulation texts on EUR-Lex (DORA, GDPR), the PCI SSC glossary, and Public Law 107-204 on govinfo.gov for SOX.

F1 From regulation text to Kafka control
What the text asks for Kafka control that evidences it
DORA Article 9(4)(c) Logical access limited to what is required for legitimate and approved functions Fine-grained RBAC per action and resource, and tenant isolation on shared clusters
DORA Article 9(4)(d) Strong authentication mechanisms SSO through the corporate identity provider for every tool that touches Kafka
DORA Article 9(4)(e) Changes recorded, tested, assessed, approved, implemented and verified in a controlled manner Reviewed changes (pull requests or staged approvals) plus an audit log of what ran
PCI SSC glossary, masking Concealing a segment of the PAN when displayed, when there is no business need to see all of it Field masking wherever engineers inspect payment topics
GDPR Article 32(1)(a) Pseudonymisation and encryption of personal data, as appropriate to the risk Masking for people, encryption for bytes at rest and in transit
Each row quotes or paraphrases the regulation itself, then names the Kafka control that produces the evidence.

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: Access limited counts three times, Strong authentication counts once, Controlled change counts once, Audit trail counts three times, Masking counts once and Stays in your perimeter counts once, for a total out of 100. Access limited and Audit trail count three times here, because they are the two controls a DORA or PCI assessment asks you to evidence first, and because every other control on this page is only as good as the record that somebody applied it. Strong authentication, controlled change, masking and staying in your perimeter 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 79 out of 100. The other options follow by total. Conduktor is listed last whatever its total; on its total of 69 it would place second.

Related reading