Skip to content

Level 5 · In depth — Option B, Aitor, and Article 10

§4 — Option B: a defect you fix, a limit you declare

Section titled “§4 — Option B: a defect you fix, a limit you declare”

This is the heart of Level 5: three controls measure the same thing — one treatment, one set of tags — but only one of them can become a blocking verdict honestly. The governance decision (the course calls it Option B) is to tell apart the certifiable defect from the structurally non-certifiable limit, rather than either blocking on a threshold the sample cannot sustain, or manufacturing a green where there is none.

Recall the three controls in the signed manifest:

  • risk.feature-leakage — impact {individual HIGH, organization HIGH}, likelihood LIKELY; treatment = REDUCE (remove the leaked salary feature), residual_likelihood: UNLIKELY → residual MEDIUM (within appetite); control model-feature-leakage, enforcement: gate (the program’s ONLY blocking control). A safety defect (Art.15) that a code change fixes and a technical control confirms — fully resolvable, and in fact resolved at V2.
  • risk.inadequate-data — impact {individual HIGH, society HIGH}, likelihood LIKELY → inherent HIGH; treatment = REDUCE, but the real action is “acquire ≥500 representative records” (Art.10(3), a future line) — a DATA gap, not a code change; no residual_likelihood declared (you cannot estimate a residual over a sample that does not let you measure it); control data-sample-adequacy, enforcement: audit — measured, non-blocking.
  • risk.selection-fairness — impact {individual HIGH, society HIGH}, likelihood LIKELY; treatment = REDUCE with residual_likelihood: UNLIKELY → residual MEDIUM (within appetite, as a target); measured non-discrimination control selection-rate-disparity-gender, enforcement: audit (selection-rate parity by sex, citing Ley 15/2022 Art. 23). Genuinely measured, but at n=215 it is underpowered — the declared residual_likelihood: UNLIKELY was the treatment’s target; the honest runtime reading is that the sample cannot certify it, so the control stays advisory instead of gate.
  • Appetite: {individual: MEDIUM, society: MEDIUM, organization: HIGH}. overall_residual: level HIGH, criterion HIGH, evaluation = “within” — the aggregate residual does not exceed the global criterion, and no risk is above_appetite_untreated (all three carry a declared treat: block).

The decisive fact is that only model-feature-leakage is enforcement: gate. The other two are measured, not declarative controls (they are not “manual audit findings” — the engine measures them with real data; demographic_parity_diff and sample_adequacy_ratio are computed numbers, not checkboxes) but their enforcement is audit: they get computed, signed, and reported — and they do not enter the blocks_gate() computation. That is the precise technical difference between “we did not measure this” (which would be a real gap) and “we measured it, and measuring it honestly means not manufacturing a blocking threshold the sample cannot sustain.”

§5 — Aitor verifies (and does not certify)

Section titled “§5 — Aitor verifies (and does not certify)”

This level introduces a new person: Aitor, an external auditor / buyer. While Nerea (product), James (Quality) and Martha (engineer) work inside Example Talent Corp, Aitor is outside — a counterparty who needs to know whether a supplier’s signed evidence is authentic and what state it is in.

Aitor runs one command:

Aitor's terminal — public key only, no data leaves the supplier
# Aitor holds ONLY the supplier's public key — no private key, no source data, no model.
froga verify --pubkey <supplier-public-key>
# → confirms: the signature is AUTHENTIC (the bundle is what the signer claims it is)
# → and reads the honest state: gate GREEN, cycle APPROVED, with the data/fairness advisory residual on record

Two things happen, and both matter. First, the signature verifies: with only the public key — no private key, no data leaving the supplier — Aitor confirms the bundle is authentic, exactly what the signer claimed (Martha the evidence, James the approval). Second, Aitor reads the full honest state: he can see the gate is GREEN, the cycle is approved, and that James’s approval act carries the anchored motive for consciously accepting the advisory residual (data adequacy + selection fairness, both at n=215). The engine does not hide the residual from an external verifier behind a clean “GREEN”: the evidence tells the whole truth to anyone holding the public key — including the part that was not certified.

§6 — Article 10 in depth, and Articles 9 / 13 / 14 revisited

Section titled “§6 — Article 10 in depth, and Articles 9 / 13 / 14 revisited”

Every level goes deep on one article of the Articles 9–15 spine. Level 4’s was Art. 12 (record-keeping). Level 5’s deep-dive article is Art. 10 (data and data governance) — because it is exactly where the certifiable/declarable distinction lives.

Art. 10 (data governance) — the deep-dive article. The data/fairness limit sits at the junction of two clauses:

  • Art. 10(3) requires training/validation/testing datasets that are relevant, sufficiently representative and, to the best extent possible, free of errors and complete in view of the intended purpose. A sample of n=215 for a selection-fairness claim is exactly what Art. 10(3) is about: not sufficiently representative or complete to certify that the selection is fair. data-sample-adequacy (sample_adequacy_ratio 0.43) is the engine’s measured expression of an Art. 10(3) shortfall — and precisely because of that, the control is audit, not gate: certifying against a threshold the sample cannot sustain would be the opposite error.
  • Art. 10(5) allows processing special-category data strictly for bias detection and correction in high-risk systems. The catch: you cannot do Art. 10(5)‘s bias detection without an adequate sample under Art. 10(3). With too few records, even the special-category processing Art. 10(5) permits cannot produce a fairness measurement defensible enough for a blocking gate. So the two clauses are linked: the Art. 10(3) gap limits Art. 10(5) certification — which is precisely why selection-rate-disparity-gender gets measured, documented, and consciously accepted, rather than blocking or being certified.

The remaining spine articles get a brief pass, all declared / audit-only here (tracked, not runtime-gated):

  • Art. 9 (risk management). The same risk program drives the system: appetite {individual MEDIUM, society MEDIUM, organization HIGH}, the 5×5 matrix, the global residual criterion (HIGH, evaluation within), and the three controls (one blocker + two advisory). Note the honesty: overall_residual.evaluation is “within” and no risk is above_appetite_untreated (all three carry a declared treat:) — the engine does not need to force the aggregate residual to reflect that the system goes to market with a consciously accepted limit, not a hidden non-compliance.
  • Art. 13 (transparency to the candidate). Declared (audit-only): the candidate must be informed a screening system is in play, tied to RGPD transparency duties. Not a measured gate.
  • Art. 14 (human oversight / HITL). Declared (audit-only), anchored to RGPD Art. 22’s right to human intervention in a significant automated decision. The human in the loop is named and tracked, but — honestly — it is a declared commitment, not a measured control, and RGPD Art. 22 is declared, not litigated (no clause-by-clause DPIA; SCC/DPA pending).