Chase UK chose Kyverno because it is Kubernetes-native (YAML and CRDs), has no Rego learning curve, and comes with built-in reporting, Enforce, Audit and Warn modes, and policy exceptions as first-class resources. In banking, “100% compliance” doesn’t mean every workload meets every policy. It means 100% of the risk is managed: the remaining 1% needs a documented, reviewable exception, not a back door.
The stack is deliberately simple:
| Layer | Tool | Role |
| Enforcement | Kyverno admission controller | Part of the base cluster definition, present in every cluster from the moment it is built |
| Results | Kyverno policy reports | Pass, fail and skip results per resource, policy and rule |
| Metrics | Prometheus, Thanos | Collect and aggregate results across clusters |
| Reporting | Grafana | One dashboard for every audience |
One Grafana dashboard, filtered per audience, serves everyone: security engineers filter by policy category, team leads by namespace, platform engineers by a single policy before rolling it out, and developers use a violations panel that lists the cluster, namespace, resource kind and name, policy, rule and category in one row.
The move started with an audit finding in 2023. Nischay took the problem from research to production in a month, which he stressed is fast for a bank. The team migrated the four existing policies and decommissioned OPA Gatekeeper the same year. Kyverno has now run in Chase UK’s clusters for almost three years, with average admission latency across the estate under 20 milliseconds.