Your AI vendors
can’t verify
their own work.
Refinery is the independent check that sits between AI optimisation and production deployment. Built for the audit trails, compliance mandates, and operational risk controls that regulated financial institutions require.
Book the PoC conversation →01 · Chief Risk Officer
The compliance layer your board needs
SR 11-7, SS1/23, DORA Art. 28: three jurisdictions, one control
SR 11-7 (US Federal Reserve) requires independent model validation evidence. SS1/23 (Bank of England) requires proportionate model risk management. DORA Article 28 (EU, enforceable January 2025) requires independent verification of material ICT changes. If the same vendor that modifies your COBOL also verifies it, regulators will reject it. Refinery is structurally independent, not owned by IBM, not by any AI vendor in your stack.
An unalterable record your auditors can take to the board
Every Refinery audit produces a structured Change Contract PDF with a SHA-256 hash computed over the binary output. The hash is written to the database record alongside the PDF path. The document cannot be altered without invalidating the hash.
// Change Contract PDF structure Cover: Verdict badge · program · ref · date Section 1: Executive summary · 10-check methodology Section 2: Bob's AI risk narrative · remediation Section 3: CPU evidence · AST features · blast radius Section 4: Divergence log · sign-off block · SHA-256
A signature that cannot be overwritten
When a CRO signs off on a change in the Refinery portal, the sign-off endpoint returns HTTP 409 Conflict on any subsequent write attempt. The record locks permanently. CRO name, timestamp, and stated approval reason are stored immutably.
Benchmark results on the synthetic corpus
Refinery ships a runnable precision/recall benchmark (scripts/benchmark.py). On the current corpus: 100% recall, every semantic divergence was caught. 0% false alarm rate, no safe optimisation was incorrectly blocked.
$ python scripts/benchmark.py True Positives (TP) : 3 (divergences caught) False Positives (FP) : 0 (safe changes blocked) True Negatives (TN) : 4 (safe changes passed) False Negatives (FN) : 0 (divergences missed) Recall : 100.0% False Alarm Rate : 0.0%
02 · Head of Core Banking
The operational risk check your team has been missing
The crash your compiler won't warn you about
COBOL changes frequently introduce 0C7 abend risk by converting WORKING-STORAGE fields to COMP-3 (packed decimal) without checking whether downstream programs expect display format. A compiler won't catch this. The crash happens at midnight, inside a batch run.
HIGH DATA_TYPE WS-BALANCE-AMT original: PIC S9(11)V99 modified: PIC S9(11)V99 COMP-3 note: 0C7 abend risk, downstream expects display
Every audit report shows the MIPS saving automatically
IBM Z software licensing is billed per MIPS. Every Refinery audit report automatically computes the estimated saving per 100 MIPS/month from the CPU delta. COMP-3 conversions are credited at 6% CPU reduction per field.
03 · CISO
No core data leaves your perimeter
Pure on-premise. No mandatory cloud dependency.
Refinery's core audit engine is Python + SQLite + Docker. There is no mandatory connection to any external service. COBOL source files are read from local disk, analysed in-process, and the result is written to a local SQLite database.
$ docker compose up refinery-api Refinery API listening on 0.0.0.0:8080 Database: sqlite:///portal.db (local) External calls: none in audit mode
Bob's AI narrative runs locally via Ollama
Bob's risk narrative layer supports four LLM providers. For air-gapped environments, the Ollama local provider routes all inference to a locally-running LLM, with no API call, no data egress, no external dependency.
BOB_PROVIDER=local # Ollama, no egress BOB_PROVIDER=ibm_bob # watsonx, requires API key BOB_PROVIDER=demo # no LLM at all
Your COBOL never leaves your network
In full air-gapped mode, Refinery makes zero outbound network calls. COBOL source is read from local disk. The semantic engine runs in-process. PDFs are written to local storage. Core financial data, business logic, and production database definitions stay inside your secure network.
How a Tier-1 bank
buys Refinery
We don’t expect a purchase order from first contact. A top-tier bank will run a Paid Proof of Concept against a real, non-clearing application. Here’s exactly what that looks like.
You give us the code
A snapshot of one isolated COBOL application: HR payroll, internal reporting, a non-clearing batch pipeline. No production systems, no clearing logic required. We sign the NDA before you send a single file.
We run the full stack
We deploy Refinery inside your environment, index the estate, run the dual-layer audit engine against your code, and produce a full set of Change Contract PDFs with real blast radius scores.
You see what was missed
We present the findings: real FLAGGED verdicts on AI-modified versions of your code, with the specific semantic divergences identified by layer. If Refinery catches nothing real, we say so.