What This Proof Actually Attests
ART-348 runs a fixed, int8-quantized credit-scoring model as a pure integer kernel and wraps its execution in a groth16 proof. This guide explains exactly what that proof covers, what it deliberately leaves out, and how to check both for yourself.
Two different claims, easy to conflate
A zero-knowledge proof over an inference kernel is a statement about execution, not about the model behind it. ART-348 keeps those two claims visibly separate rather than letting the proof badge imply more than it covers.
- This exact quantized model, with these exact int8 weights and fixed-point bias, produced this exact score from these exact inputs.
- The computation was pure integer arithmetic end to end — no floating-point step, no rounding-mode ambiguity, byte-identical across compute surfaces.
- The execution_hash anchors the policy_parameters and output_payload pair; any change to either invalidates it.
- Fairness of the underlying model across any protected class or population.
- Accuracy or quality of the model as a predictor of real credit risk.
- Fitness for an actual regulatory credit decision. The model is a synthetic, offline demand-test artifact.
Where the float-to-integer gap is disclosed
Turning a floating-point model into an integer kernel introduces small scoring differences at the margin. ART-348 discloses that gap directly on the artifact instead of hiding it: the quantization_parity block below is additive to the receipt and records the measured agreement between the original float model and the quantized integer kernel over a held-out test set.
{
"quant_method": "static-linear",
"bits": 8,
"granularity": "per-tensor",
"n_vectors": 1000,
"agreement": { "metric": "top1-match", "value": 0.998 }
}0.998 top1-match over 1,000 held-out vectors means the quantized kernel reached the same decision as the float reference model on 998 of them. That gap is the cost of moving to pure integer math; the field exists so it never has to be taken on faith.