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 leakedsalaryfeature),residual_likelihood: UNLIKELY→ residual MEDIUM (within appetite); controlmodel-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; noresidual_likelihooddeclared (you cannot estimate a residual over a sample that does not let you measure it); controldata-sample-adequacy,enforcement: audit— measured, non-blocking.risk.selection-fairness— impact{individual HIGH, society HIGH}, likelihood LIKELY; treatment = REDUCE withresidual_likelihood: UNLIKELY→ residual MEDIUM (within appetite, as a target); measured non-discrimination controlselection-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 declaredresidual_likelihood: UNLIKELYwas 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 isabove_appetite_untreated(all three carry a declaredtreat: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 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 recordTwo 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_ratio0.43) is the engine’s measured expression of an Art. 10(3) shortfall — and precisely because of that, the control isaudit, notgate: 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-gendergets 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
riskprogram 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.evaluationis “within” and no risk isabove_appetite_untreated(all three carry a declaredtreat:) — 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).