We developed an auditable machine learning system designed to support compliance for a bank, with the aim of enabling data-driven operations and more accurate, faster business decisions.
Sector
Service & Technology
The Challenge
Our customer is a leading bank headquartered in Hungary, and they decided to build a machine learning system to support their credit rating decisions.
In the financial sector, compliance is key. However, ensuring that the system is auditable and therefore compliant is complex: In the case of a decision support system for a bank, it is not enough to know what result a model produced; one must also know what data, model version, parameterization, and runtime environment were used to arrive at that result.
An auditable ML system must therefore manage not only the code but the entire model lifecycle. The goal is to ensure that a previous decision can be reliably traced back later.
The Solution
In order to ensure traceability, we decided to build an MLOps architecture that incorporates access control, logging rules, deployment processes, error handling, and approval workflows.
We used MLFlow as the central component of the system. MLFlow is an MLOps platform capable of logging all runs in full:
- MLflow Tracking is used to log and visualize parameters, code versions, metrics, and output files/artifacts in machine learning processes
- Model Registry provides model lifecycle management, versioning, lineage, and controlled deployment workflows for this purpose.
Technology
MLFlow, Python
The Result
As a result, in this architecture, every model run can be tracked. You can see which settings it ran under, what metrics it produced, what artifacts it generated, and which model version is associated with it. This not only supports the work of developers, but also enhances auditability:
- the models are versioned,
- decisions are traceable,
- access is controlled.
Work continues on the system, with the plan to complement it with agentic AI: agent-based systems capable of monitoring processes, flagging anomalies, generating documentation, or even deriving specifications from legacy source code.


