Validation sur données publiques

Une plateforme de gouvernance vous fait déclarer votre conformité. Nous, on mesure la donnée. Pour le prouver sans vous demander de nous croire, nous avons lancé le moteur sur quatre jeux de données publics et célèbres, aux biais documentés — et il les a retrouvés.

Ces quatre jeux couvrent, comme par hasard, quatre domaines à haut risque de l’Annexe III de l’AI Act.

Ce que le moteur mesure

Domaine (Annexe III)Jeu de donnéesBiais documentéCe que Conformlex mesure
Justice pénaleCOMPAS (ProPublica)le score de risque étiquette les Noirs « à haut risque » plus souventscore « High » : Afro-Américains 27,7 % vs Blancs 11,2 % (×2,5)
Emploi & revenuAdult / Census Income (UCI)biais de genre et d’origine sur le revenusex ×2,8 · race ×2,9
Crédit / financeGerman Credit — Statlog (UCI)historique de crédit, statut/sexecredit_history ×2,2 · personal_status_sex
SantéHeart Disease — Cleveland (UCI)écart selon le sexesex ×2,4

Ciblé sur le score de risque COMPAS, le moteur mesure — sans qu’on le lui indique — que les défendeurs afro-américains reçoivent un score « High » 2,5× plus souvent que les blancs (27,7 % contre 11,2 %). C’est la disparité de score qu’a exposée ProPublica.

Ce ne sont pas nos affirmations : ce sont des biais déjà documentés dans la littérature et les enquêtes publiques. Le moteur les mesure automatiquement, à partir des seules données — sans qu’on lui indique quel biais chercher. Notre ratio est brut (sans contrôle statistique) : il pointe la même disparité que ProPublica, sans prétendre reproduire leurs chiffres ajustés (modèle contrôlé, taux de faux positifs).

Pourquoi ça compte pour l’article 10

L’article 10 exige que vos données d’entraînement soient examinées pour les biais. Ces quatre domaines sont ceux que l’AI Act classe à haut risque. Si le moteur retrouve les biais connus de COMPAS ou d’Adult, il mesurera les vôtres — sur vos données, in-place (elles ne quittent pas votre périmètre).

Reproduisez-le vous-même

Fidèle à notre posture — vous gardez le contrôle, pas nous — chaque preuve est rejouable. Prenons COMPAS. Récupérez le CSV public (propublica/compas-analysis), puis deux fichiers lisibles décrivent toute l’analyse.

Le premier désigne la source :

# source.yaml
source: COMPAS (récidive)
inputs:
  - name: compas
    kind: file
    path: compas.csv

Le second est le dictionnaire de colonnes — quelle colonne est l’issue mesurée (ici le score de risque COMPAS, pas la récidive réelle), lesquelles sont des attributs protégés, lesquelles sont des données personnelles à ne jamais analyser :

# mapping.yaml
validated: true
target: score_text            # le score de risque COMPAS (Low/Medium/High) — l'objet du constat de ProPublica
sensitive:                    # attributs protégés → analysés pour le biais
  - race
  - sex
  - age_cat
pii:                          # données personnelles → jamais analysées
  - name
  - first
  - last
  - dob
ignore:
  - id
# (toute colonne non listée = "feature", exclue de l'analyse de biais)

Une commande, aucun accès réseau, et le moteur n’émet qu’un report.json d’agrégats — jamais une ligne brute :

./conformlex-engine --source source.yaml --mapping mapping.yaml --out ./out
# → ./out/report.json — taux de score « High » par groupe racial :
#     African-American 27,7 %   vs   Caucasian 11,2 %   ≈ ×2,5

Ce sont exactement les fichiers que vous éditeriez sur vos données — et ceux que nous livrons avec la suite de tests du moteur pour les quatre jeux ci-dessus. La méthode est agnostique du domaine et de la géographie : ces jeux sont des benchmarks internationaux, pas une limite.


Nous montrons des agrégats ; nous ne redistribuons pas les jeux (récupérez-les depuis leurs sources publiques). Conformlex détecte des biais documentés — ce n’est pas une certification réglementaire.

Les dossiers réels

Le document article 10 que le moteur produit pour chaque jeu — sur les données complètes, mapping validé. Aucun chiffre saisi à la main.

Justice pénale COMPAS (récidive) 7 214 lignes

Voir en HTML Télécharger le PDF

Dossier de conformité — données d'entraînement (AI Act, article 10)

Squelette généré automatiquement à partir de l'analyse du jeu de données. Les blocs « à compléter par l'expert » nécessitent une revue humaine (provenance, jugement de conformité, mesures d'atténuation).

1. Identité & finalité

  • Système / modèle : _____
  • Version du dossier : _____
  • Date : _____
  • Jeu de données : src
  • Finalité prévue : _____
_À compléter par l'expert — finalité prévue et ce que les données sont censées représenter_

2. Provenance & base légale

Origine de chaque source, licences/contrats, et — pour les données personnelles — finalité initiale et base légale RGPD.

⚠️ Données personnelles potentielles détectées : name, first, last, dob — une base légale RGPD est requise pour ces colonnes.

_À compléter par l'expert — provenance par source (flux séparé §16), licences, base légale RGPD_

3. Composition _(rempli automatiquement)_

  • Volume : 7214 lignes, 53 colonnes.
  • Variables :
ColonneType
idBIGINT
nameVARCHAR
firstVARCHAR
lastVARCHAR
compas_screening_dateDATE
sexVARCHAR
dobDATE
ageBIGINT
age_catVARCHAR
raceVARCHAR
juv_fel_countBIGINT
decile_scoreBIGINT
juv_misd_countBIGINT
juv_other_countBIGINT
priors_countBIGINT
days_b_screening_arrestBIGINT
c_jail_inTIMESTAMP
c_jail_outTIMESTAMP
c_case_numberVARCHAR
c_offense_dateDATE
c_arrest_dateDATE
c_days_from_compasBIGINT
c_charge_degreeVARCHAR
c_charge_descVARCHAR
is_recidBIGINT
r_case_numberVARCHAR
r_charge_degreeVARCHAR
r_days_from_arrestBIGINT
r_offense_dateDATE
r_charge_descVARCHAR
r_jail_inDATE
r_jail_outDATE
violent_recidVARCHAR
is_violent_recidBIGINT
vr_case_numberVARCHAR
vr_charge_degreeVARCHAR
vr_offense_dateDATE
vr_charge_descVARCHAR
type_of_assessmentVARCHAR
decile_score_1BIGINT
score_textVARCHAR
screening_dateDATE
v_type_of_assessmentVARCHAR
v_decile_scoreBIGINT
v_score_textVARCHAR
v_screening_dateDATE
in_custodyDATE
out_custodyDATE
priors_count_1BIGINT
startBIGINT
endBIGINT
eventBIGINT
two_year_recidBIGINT
  • Attributs sensibles déclarés : race, sex, age_cat.
  • Colonnes PII détectées : name, first, last, dob.
_À compléter par l'expert — périmètre géographique / contextuel / comportemental_

4. Préparation _(observations automatiques)_

  • Valeurs manquantes : days_b_screening_arrest (307) → stratégie de traitement à documenter.
_À compléter par l'expert — journal des transformations : collecte, nettoyage, étiquetage, enrichissement, agrégation_

5. Qualité _(rempli automatiquement)_

  • Complétude : 307 valeur(s) manquante(s) (days_b_screening_arrest).
  • Exactitude / aberrations : age (1).
_À compléter par l'expert — représentativité et pertinence vis-à-vis de la finalité_

6. Biais

Analyse automatique

race — disparité du taux de « score_text » : ratio 4.83 ⚠️

GroupeEffectifTaux de « score_text »
Native American1833.3 %
African-American369627.7 %
Caucasian245411.2 %
Hispanic63710.5 %
Asian329.4 %
Other3776.9 %

sex — disparité du taux de « score_text » : ratio 1.53 ⚠️

GroupeEffectifTaux de « score_text »
Male581920.8 %
Female139513.6 %

age_cat — disparité du taux de « score_text » : ratio 3.65 ⚠️

GroupeEffectifTaux de « score_text »
Less than 25152929.6 %
25 - 45410920.0 %
Greater than 4515768.1 %

Jugement & mesures

_À compléter par l'expert — impact sur santé/sécurité/droits fondamentaux et mesures de détection/prévention/atténuation_

7. Lacunes & limites

Points détectés à examiner comme lacunes potentielles :

  • [low] missing — days_b_screening_arrest
  • [low] missing — c_jail_in
  • [low] missing — c_jail_out
  • [low] missing — c_case_number
  • [low] missing — c_offense_date
  • [high] missing — c_arrest_date
  • [low] missing — c_days_from_compas
  • [low] missing — c_charge_desc
  • [high] missing — r_case_number
  • [high] missing — r_charge_degree
  • [high] missing — r_days_from_arrest
  • [high] missing — r_offense_date
  • [high] missing — r_charge_desc
  • [high] missing — r_jail_in
  • [high] missing — r_jail_out
  • [high] missing — violent_recid
  • [high] missing — vr_case_number
  • [high] missing — vr_charge_degree
  • [high] missing — vr_offense_date
  • [high] missing — vr_charge_desc
  • [low] missing — in_custody
  • [low] missing — out_custody
  • [low] outliers — age
  • [low] outliers — priors_count
  • [low] outliers — days_b_screening_arrest
  • [low] outliers — c_days_from_compas
  • [low] outliers — r_days_from_arrest
  • [low] outliers — priors_count_1
  • [low] outliers — start
  • [high] pii — name
  • [high] pii — first
  • [high] pii — last
  • [high] pii — dob
  • [high] bias — race
  • [medium] bias — sex
  • [high] bias — age_cat
_À compléter par l'expert — manques identifiés et traités ; usages hors périmètre_

8. Gouvernance & traçabilité

  • Version de l'outil d'analyse : 0.2.0
_À compléter par l'expert — responsabilités, journal d'audit, versioning, maintenance/mise à jour_
Emploi & revenu Adult / Census Income 32 561 lignes

Voir en HTML Télécharger le PDF

Dossier de conformité — données d'entraînement (AI Act, article 10)

Squelette généré automatiquement à partir de l'analyse du jeu de données. Les blocs « à compléter par l'expert » nécessitent une revue humaine (provenance, jugement de conformité, mesures d'atténuation).

1. Identité & finalité

  • Système / modèle : _____
  • Version du dossier : _____
  • Date : _____
  • Jeu de données : src
  • Finalité prévue : _____
_À compléter par l'expert — finalité prévue et ce que les données sont censées représenter_

2. Provenance & base légale

Origine de chaque source, licences/contrats, et — pour les données personnelles — finalité initiale et base légale RGPD.

_À compléter par l'expert — provenance par source (flux séparé §16), licences, base légale RGPD_

3. Composition _(rempli automatiquement)_

  • Volume : 32561 lignes, 15 colonnes.
  • Variables :
ColonneType
ageBIGINT
workclassVARCHAR
fnlwgtBIGINT
educationVARCHAR
education_numBIGINT
marital_statusVARCHAR
occupationVARCHAR
relationshipVARCHAR
raceVARCHAR
sexVARCHAR
capital_gainBIGINT
capital_lossBIGINT
hours_per_weekBIGINT
native_countryVARCHAR
incomeVARCHAR
  • Attributs sensibles déclarés : age, workclass, education, marital_status, occupation, relationship, race, sex.
_À compléter par l'expert — périmètre géographique / contextuel / comportemental_

4. Préparation _(observations automatiques)_

  • Doublons : 24 ligne(s) en double → étape de dédoublonnage à tracer.
_À compléter par l'expert — journal des transformations : collecte, nettoyage, étiquetage, enrichissement, agrégation_

5. Qualité _(rempli automatiquement)_

  • Exactitude / aberrations : fnlwgt (152).
  • Unicité : 24 doublon(s).
_À compléter par l'expert — représentativité et pertinence vis-à-vis de la finalité_

6. Biais

Analyse automatique

workclass — disparité du taux de « income » : ratio 5.36 ⚠️

GroupeEffectifTaux de « income »
Self-emp-inc111655.7 %
Federal-gov96038.6 %
Local-gov209329.5 %
Self-emp-not-inc254128.5 %
State-gov129827.2 %
Private2269621.9 %
?183610.4 %
Without-pay140.0 %
Never-worked70.0 %

education — disparité du taux de « income » : ratio 20.75 ⚠️

GroupeEffectifTaux de « income »
Doctorate41374.1 %
Prof-school57673.4 %
Masters172355.7 %
Bachelors535541.5 %
Assoc-voc138226.1 %
Assoc-acdm106724.8 %
Some-college729119.0 %
HS-grad1050116.0 %
12th4337.6 %
10th9336.6 %
7th-8th6466.2 %
9th5145.3 %
11th11755.1 %
5th-6th3334.8 %
1st-4th1683.6 %
Preschool510.0 %

marital_status — disparité du taux de « income » : ratio 9.72 ⚠️

GroupeEffectifTaux de « income »
Married-civ-spouse1497644.7 %
Married-AF-spouse2343.5 %
Divorced444310.4 %
Widowed9938.6 %
Married-spouse-absent4188.1 %
Separated10256.4 %
Never-married106834.6 %

occupation — disparité du taux de « income » : ratio 72.12 ⚠️

GroupeEffectifTaux de « income »
Exec-managerial406648.4 %
Prof-specialty414044.9 %
Protective-serv64932.5 %
Tech-support92830.5 %
Sales365026.9 %
Craft-repair409922.7 %
Transport-moving159720.0 %
Adm-clerical377013.4 %
Machine-op-inspct200212.5 %
Farming-fishing99411.6 %
Armed-Forces911.1 %
?184310.4 %
Handlers-cleaners13706.3 %
Other-service32954.2 %
Priv-house-serv1490.7 %

relationship — disparité du taux de « income » : ratio 35.94 ⚠️

GroupeEffectifTaux de « income »
Wife156847.5 %
Husband1319344.9 %
Not-in-family830510.3 %
Unmarried34466.3 %
Other-relative9813.8 %
Own-child50681.3 %

race — disparité du taux de « income » : ratio 2.88 ⚠️

GroupeEffectifTaux de « income »
Asian-Pac-Islander103926.6 %
White2781625.6 %
Black312412.4 %
Amer-Indian-Eskimo31111.6 %
Other2719.2 %

sex — disparité du taux de « income » : ratio 2.79 ⚠️

GroupeEffectifTaux de « income »
Male2179030.6 %
Female1077110.9 %

Jugement & mesures

_À compléter par l'expert — impact sur santé/sécurité/droits fondamentaux et mesures de détection/prévention/atténuation_

7. Lacunes & limites

Points détectés à examiner comme lacunes potentielles :

  • [medium] duplicates
  • [low] outliers — fnlwgt
  • [low] outliers — hours_per_week
  • [high] bias — workclass
  • [high] bias — education
  • [high] bias — marital_status
  • [high] bias — occupation
  • [high] bias — relationship
  • [high] bias — race
  • [high] bias — sex
_À compléter par l'expert — manques identifiés et traités ; usages hors périmètre_

8. Gouvernance & traçabilité

  • Version de l'outil d'analyse : 0.2.0
_À compléter par l'expert — responsabilités, journal d'audit, versioning, maintenance/mise à jour_
Crédit / finance German Credit (Statlog) 1 000 lignes

Voir en HTML Télécharger le PDF

Dossier de conformité — données d'entraînement (AI Act, article 10)

Squelette généré automatiquement à partir de l'analyse du jeu de données. Les blocs « à compléter par l'expert » nécessitent une revue humaine (provenance, jugement de conformité, mesures d'atténuation).

1. Identité & finalité

  • Système / modèle : _____
  • Version du dossier : _____
  • Date : _____
  • Jeu de données : src
  • Finalité prévue : _____
_À compléter par l'expert — finalité prévue et ce que les données sont censées représenter_

2. Provenance & base légale

Origine de chaque source, licences/contrats, et — pour les données personnelles — finalité initiale et base légale RGPD.

⚠️ Données personnelles potentielles détectées : telephone — une base légale RGPD est requise pour ces colonnes.

_À compléter par l'expert — provenance par source (flux séparé §16), licences, base légale RGPD_

3. Composition _(rempli automatiquement)_

  • Volume : 1000 lignes, 21 colonnes.
  • Variables :
ColonneType
statusVARCHAR
durationBIGINT
credit_historyVARCHAR
purposeVARCHAR
amountBIGINT
savingsVARCHAR
employment_durationVARCHAR
installment_rateBIGINT
personal_status_sexVARCHAR
other_debtorsVARCHAR
present_residenceBIGINT
propertyVARCHAR
ageBIGINT
other_installment_plansVARCHAR
housingVARCHAR
number_creditsBIGINT
jobVARCHAR
people_liableBIGINT
telephoneBOOLEAN
foreign_workerBOOLEAN
credit_riskBIGINT
  • Attributs sensibles déclarés : status, credit_history, purpose, savings, employment_duration, personal_status_sex, other_debtors, property, age, other_installment_plans, housing, job, foreign_worker.
  • Colonnes PII détectées : telephone.
_À compléter par l'expert — périmètre géographique / contextuel / comportemental_

4. Préparation _(observations automatiques)_

_À compléter par l'expert — journal des transformations : collecte, nettoyage, étiquetage, enrichissement, agrégation_

5. Qualité _(rempli automatiquement)_

  • Exactitude / aberrations : duration (1).
_À compléter par l'expert — représentativité et pertinence vis-à-vis de la finalité_

6. Biais

Analyse automatique

status — disparité du taux de « credit_risk » : ratio 1.74 ⚠️

GroupeEffectifTaux de « credit_risk »
no checking account39488.3 %
... >= 200 DM / salary for at least 1 year6377.8 %
0 <= ... < 200 DM26961.0 %
... < 100 DM27450.7 %

credit_history — disparité du taux de « credit_risk » : ratio 2.21 ⚠️

GroupeEffectifTaux de « credit_risk »
critical account/other credits existing29382.9 %
delay in paying off in the past8868.2 %
existing credits paid back duly till now53068.1 %
all credits at this bank paid back duly4942.9 %
no credits taken/all credits paid back duly4037.5 %

purpose — disparité du taux de « credit_risk » : ratio 1.59 ⚠️

GroupeEffectifTaux de « credit_risk »
business988.9 %
car (used)10383.5 %
domestic appliances28077.9 %
radio/television18168.0 %
repairs1266.7 %
others9764.9 %
education2263.6 %
car (new)23462.0 %
furniture/equipment1258.3 %
retraining5056.0 %

savings — disparité du taux de « credit_risk » : ratio 1.37 ⚠️

GroupeEffectifTaux de « credit_risk »
... >= 1000 DM4887.5 %
500 <= ... < 1000 DM6382.5 %
unknown/no savings account18382.5 %
100 <= ... < 500 DM10367.0 %
... < 100 DM60364.0 %

employment_duration — disparité du taux de « credit_risk » : ratio 1.31 ⚠️

GroupeEffectifTaux de « credit_risk »
4 <= ... < 7 years17477.6 %
... >= 7 years25374.7 %
1 <= ... < 4 years33969.3 %
unemployed6262.9 %
... < 1 year17259.3 %

personal_status_sex — disparité du taux de « credit_risk » : ratio 1.22 ⚠️

GroupeEffectifTaux de « credit_risk »
male : single54873.4 %
male : married/widowed9272.8 %
female : divorced/separated/married31064.8 %
male : divorced/separated5060.0 %

other_debtors — disparité du taux de « credit_risk » : ratio 1.44 ⚠️

GroupeEffectifTaux de « credit_risk »
guarantor5280.8 %
none90770.0 %
co-applicant4156.1 %

property — disparité du taux de « credit_risk » : ratio 1.39 ⚠️

GroupeEffectifTaux de « credit_risk »
real estate28278.7 %
building society savings agreement/life insurance23269.4 %
car or other33269.3 %
unknown/no property15456.5 %

other_installment_plans — disparité du taux de « credit_risk » : ratio 1.23 ⚠️

GroupeEffectifTaux de « credit_risk »
none81472.5 %
stores4759.6 %
bank13959.0 %

housing — disparité du taux de « credit_risk » : ratio 1.25 ⚠️

GroupeEffectifTaux de « credit_risk »
own71373.9 %
rent17960.9 %
for free10859.3 %

job — disparité du taux de « credit_risk » : ratio 1.10 ⚠️

GroupeEffectifTaux de « credit_risk »
unskilled - resident20072.0 %
skilled employee/official63070.5 %
unemployed/unskilled - non-resident2268.2 %
management/self-employed/highly qualified employee/officer14865.5 %

foreign_worker — disparité du taux de « credit_risk » : ratio 1.29 ⚠️

GroupeEffectifTaux de « credit_risk »
false3789.2 %
true96369.3 %

Jugement & mesures

_À compléter par l'expert — impact sur santé/sécurité/droits fondamentaux et mesures de détection/prévention/atténuation_

7. Lacunes & limites

Points détectés à examiner comme lacunes potentielles :

  • [low] outliers — duration
  • [low] outliers — amount
  • [high] pii — telephone
  • [medium] bias — status
  • [high] bias — credit_history
  • [medium] bias — purpose
_À compléter par l'expert — manques identifiés et traités ; usages hors périmètre_

8. Gouvernance & traçabilité

  • Version de l'outil d'analyse : 0.2.0
_À compléter par l'expert — responsabilités, journal d'audit, versioning, maintenance/mise à jour_
Santé Heart Disease (Cleveland) 303 lignes

Voir en HTML Télécharger le PDF

Dossier de conformité — données d'entraînement (AI Act, article 10)

Squelette généré automatiquement à partir de l'analyse du jeu de données. Les blocs « à compléter par l'expert » nécessitent une revue humaine (provenance, jugement de conformité, mesures d'atténuation).

1. Identité & finalité

  • Système / modèle : _____
  • Version du dossier : _____
  • Date : _____
  • Jeu de données : src
  • Finalité prévue : _____
_À compléter par l'expert — finalité prévue et ce que les données sont censées représenter_

2. Provenance & base légale

Origine de chaque source, licences/contrats, et — pour les données personnelles — finalité initiale et base légale RGPD.

_À compléter par l'expert — provenance par source (flux séparé §16), licences, base légale RGPD_

3. Composition _(rempli automatiquement)_

  • Volume : 303 lignes, 14 colonnes.
  • Variables :
ColonneType
ageDOUBLE
sexDOUBLE
cpDOUBLE
trestbpsDOUBLE
cholDOUBLE
fbsDOUBLE
restecgDOUBLE
thalachDOUBLE
exangDOUBLE
oldpeakDOUBLE
slopeDOUBLE
caDOUBLE
thalDOUBLE
targetBIGINT
  • Attributs sensibles déclarés : age, sex.
_À compléter par l'expert — périmètre géographique / contextuel / comportemental_

4. Préparation _(observations automatiques)_

  • Valeurs manquantes : ca (4) → stratégie de traitement à documenter.
_À compléter par l'expert — journal des transformations : collecte, nettoyage, étiquetage, enrichissement, agrégation_

5. Qualité _(rempli automatiquement)_

  • Complétude : 4 valeur(s) manquante(s) (ca).
  • Exactitude / aberrations : chol (1).
_À compléter par l'expert — représentativité et pertinence vis-à-vis de la finalité_

6. Biais

Analyse automatique

sex — disparité du taux de « target » : ratio 2.41 ⚠️

GroupeEffectifTaux de « target »
1.020622.3 %
0.0979.3 %

Jugement & mesures

_À compléter par l'expert — impact sur santé/sécurité/droits fondamentaux et mesures de détection/prévention/atténuation_

7. Lacunes & limites

Points détectés à examiner comme lacunes potentielles :

  • [low] missing — ca
  • [low] missing — thal
  • [low] outliers — chol
  • [high] bias — sex
_À compléter par l'expert — manques identifiés et traités ; usages hors périmètre_

8. Gouvernance & traçabilité

  • Version de l'outil d'analyse : 0.2.0
_À compléter par l'expert — responsabilités, journal d'audit, versioning, maintenance/mise à jour_