Most clinical AI equity audits look the same. A model is trained on whatever data is available. Performance is reported on aggregate. Then, very late in the process — often after press has gone out — someone runs stratified metrics and discovers that the model is twelve points worse on a subgroup. Nothing happens, because nothing can: the audit is downstream of the decision.
We treat that pattern as a bug. AURORA's equity audits run inside the training loop, not after it. We call this equity-as-loss.
The mechanics
For every released module, we define a set of stratifications that matter for the disease — typically ancestry, sex, age band, socioeconomic proxy, and access proxy. During training, the loss function carries a penalty for predictive disparity across those stratifications. If a model can only reach its top-line metric by performing badly on a subgroup, training does not converge.
If a model can only reach its top-line metric by performing badly on a subgroup, training does not converge.
Release gates
At release time, the gate is binary. If the stratified performance on any subgroup falls below the equity threshold defined in the module's RFC, the release is blocked. There is no exception path for marketing reasons. The threshold is part of the model card — visible, citable, and revisable by RFC.
What this does not solve
Equity-as-loss does not eliminate algorithmic harm. It moves the conversation about harm from after-the-fact to inside-the-loop, where it can do something. It also surfaces, by construction, the cases where data is genuinely insufficient for a subgroup — which is itself a research question, not a deployment one.