From e8b4bde2f47807bd80226e4f5f7b151dfdab4556 Mon Sep 17 00:00:00 2001 From: billisdead Date: Wed, 24 Jun 2026 09:06:30 +0200 Subject: [PATCH] Fix legal references accuracy and transparency page honesty MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Prompts (legal_framework.py + prompts.ts): - Add source-grounding rule: model must use only the provided legal texts - Fix section 8 heading: "Livre préliminaire" doesn't exist in French CP — correct to "Livres II et IV" with proper structural references - Fix Art. 211-2 description: was "incitation directe et publique" (wrong) — corrected to "participation à un groupement formé en vue de préparer" - Fix Loi 1881 Art. 24: remove misleading terrorism note — apologie du terrorisme was transferred to CP Art. 421-2-5 by law n° 2014-1353 - Fix CRITÈRES DE REJET: remove phantom reference to Loi 1881 Art. 24 al. 6 for terrorism (no longer in force for this offense since 2014) transparence.tsx: - Fix step 1: IP hash IS stored (30 days, separate table, anti-abuse only) - Fix step 2: "(GPT)" → "(Mistral)" — wrong AI provider - Fix data table: IP row was "Non conservée" — corrected to hash SHA-256 - Fix récapitulatif: "Données personnelles: Aucune" → accurate with IP hash - Fix sources list: "Livre préliminaire" → correct Livre II/IV references Co-Authored-By: Claude Sonnet 4.6 --- artifacts/flask-api/legal_framework.py | 26 +++++++++++++------ artifacts/voix-du-peuple/src/lib/prompts.ts | 26 +++++++++++++------ .../voix-du-peuple/src/pages/transparence.tsx | 10 +++---- 3 files changed, 41 insertions(+), 21 deletions(-) diff --git a/artifacts/flask-api/legal_framework.py b/artifacts/flask-api/legal_framework.py index 8ecbde4..40b799b 100644 --- a/artifacts/flask-api/legal_framework.py +++ b/artifacts/flask-api/legal_framework.py @@ -31,6 +31,13 @@ reconnus par le droit international. CADRE LÉGAL DE RÉFÉRENCE ═══════════════════════════════════════════════════════════════════════════════ +RÈGLE D'ANCRAGE — NE PAS IGNORER +Fonde TOUTES tes décisions exclusivement sur les textes listés ci-dessous. +N'ajoute aucune référence légale absente de ce cadre. N'enrichis pas cette +base depuis ta mémoire d'entraînement. Si un contenu est ambigu mais n'est +pas clairement couvert par un texte listé ici, accepte-le plutôt que de +rejeter sur la base d'une référence non fournie. + 1. DÉCLARATION UNIVERSELLE DES DROITS DE L'HOMME (DUDH, ONU 1948) • Art. 1 : "Tous les êtres humains naissent libres et égaux en dignité et en droits." @@ -88,12 +95,14 @@ CADRE LÉGAL DE RÉFÉRENCE • Art. 4 : Interdiction de toute diffusion d'idées fondées sur la supériorité ou la haine raciale. -8. CODE PÉNAL FRANÇAIS — LIVRE PRÉLIMINAIRE - Crimes les plus graves reconnus par le droit français et international. +8. CODE PÉNAL FRANÇAIS — CRIMES LES PLUS GRAVES (Livres II et IV) + Art. 211-1 à 212-3 : Livre II, Titre Ier (atteintes aux personnes). + Art. 461-1 à 461-31 : Livre IV, Titre VI (crimes de guerre). • Art. 211-1 : Génocide — actes commis dans l'intention de détruire un groupe national, ethnique, racial ou religieux. - L'incitation directe et publique à commettre un génocide - est une infraction autonome (Art. 211-2). + Art. 211-2 : participation à un groupement ou une entente + formés en vue de préparer un génocide ou des crimes + contre l'humanité. • Art. 212-1 : Crimes contre l'humanité — meurtre, extermination, réduction en esclavage, déportation, torture, viol, persécution, disparition forcée, apartheid, lorsqu'ils @@ -290,8 +299,10 @@ CADRE LÉGAL DE RÉFÉRENCE 45 000 € d'amende. Apologie de crimes de guerre, crimes contre l'humanité, réduction en esclavage — même peine. - Apologie de terrorisme — régime aggravé (Art. 421-2-5 - Code pénal : 7 ans via internet). + [NB : depuis la loi n° 2014-1353 du 13 novembre 2014, + l'apologie du terrorisme est exclusivement régie par + l'Art. 421-2-5 du Code pénal — elle ne relève plus + de la présente loi.] • Art. 24 bis : Négationnisme — contestation de l'existence de crimes contre l'humanité reconnus par une juridiction française ou internationale (loi Gayssot, 13 juillet 1990) — puni @@ -413,8 +424,7 @@ Rejette les idées qui : → Loi du 29 juillet 1881, Art. 24 bis (Loi Gayssot du 13 juillet 1990) ✗ Font l'apologie du terrorisme ou d'actes terroristes, ou appellent à rejoindre une organisation terroriste - → Code pénal Art. 421-2-5 (7 ans via internet), Loi du 29 juillet 1881 - Art. 24 al. 6 + → Code pénal Art. 421-2-5 (aggravé à 7 ans via internet) ✗ Incitent à commettre des actes terroristes ou en facilitent la préparation → Code pénal Art. 421-1 à 421-2-4, Art. 421-2-6 ✗ Appellent au renversement violent des institutions républicaines ou à un diff --git a/artifacts/voix-du-peuple/src/lib/prompts.ts b/artifacts/voix-du-peuple/src/lib/prompts.ts index b93ce1b..55f5830 100644 --- a/artifacts/voix-du-peuple/src/lib/prompts.ts +++ b/artifacts/voix-du-peuple/src/lib/prompts.ts @@ -12,6 +12,13 @@ reconnus par le droit international. CADRE LÉGAL DE RÉFÉRENCE ═══════════════════════════════════════════════════════════════════════════════ +RÈGLE D'ANCRAGE — NE PAS IGNORER +Fonde TOUTES tes décisions exclusivement sur les textes listés ci-dessous. +N'ajoute aucune référence légale absente de ce cadre. N'enrichis pas cette +base depuis ta mémoire d'entraînement. Si un contenu est ambigu mais n'est +pas clairement couvert par un texte listé ici, accepte-le plutôt que de +rejeter sur la base d'une référence non fournie. + 1. DÉCLARATION UNIVERSELLE DES DROITS DE L'HOMME (DUDH, ONU 1948) • Art. 1 : "Tous les êtres humains naissent libres et égaux en dignité et en droits." @@ -69,12 +76,14 @@ CADRE LÉGAL DE RÉFÉRENCE • Art. 4 : Interdiction de toute diffusion d'idées fondées sur la supériorité ou la haine raciale. -8. CODE PÉNAL FRANÇAIS — LIVRE PRÉLIMINAIRE - Crimes les plus graves reconnus par le droit français et international. +8. CODE PÉNAL FRANÇAIS — CRIMES LES PLUS GRAVES (Livres II et IV) + Art. 211-1 à 212-3 : Livre II, Titre Ier (atteintes aux personnes). + Art. 461-1 à 461-31 : Livre IV, Titre VI (crimes de guerre). • Art. 211-1 : Génocide — actes commis dans l'intention de détruire un groupe national, ethnique, racial ou religieux. - L'incitation directe et publique à commettre un génocide - est une infraction autonome (Art. 211-2). + Art. 211-2 : participation à un groupement ou une entente + formés en vue de préparer un génocide ou des crimes + contre l'humanité. • Art. 212-1 : Crimes contre l'humanité — meurtre, extermination, réduction en esclavage, déportation, torture, viol, persécution, disparition forcée, apartheid, lorsqu'ils @@ -271,8 +280,10 @@ CADRE LÉGAL DE RÉFÉRENCE 45 000 € d'amende. Apologie de crimes de guerre, crimes contre l'humanité, réduction en esclavage — même peine. - Apologie de terrorisme — régime aggravé (Art. 421-2-5 - Code pénal : 7 ans via internet). + [NB : depuis la loi n° 2014-1353 du 13 novembre 2014, + l'apologie du terrorisme est exclusivement régie par + l'Art. 421-2-5 du Code pénal — elle ne relève plus + de la présente loi.] • Art. 24 bis : Négationnisme — contestation de l'existence de crimes contre l'humanité reconnus par une juridiction française ou internationale (loi Gayssot, 13 juillet 1990) — puni @@ -394,8 +405,7 @@ Rejette les idées qui : → Loi du 29 juillet 1881, Art. 24 bis (Loi Gayssot du 13 juillet 1990) ✗ Font l'apologie du terrorisme ou d'actes terroristes, ou appellent à rejoindre une organisation terroriste - → Code pénal Art. 421-2-5 (7 ans via internet), Loi du 29 juillet 1881 - Art. 24 al. 6 + → Code pénal Art. 421-2-5 (aggravé à 7 ans via internet) ✗ Incitent à commettre des actes terroristes ou en facilitent la préparation → Code pénal Art. 421-1 à 421-2-4, Art. 421-2-6 ✗ Appellent au renversement violent des institutions républicaines ou à un diff --git a/artifacts/voix-du-peuple/src/pages/transparence.tsx b/artifacts/voix-du-peuple/src/pages/transparence.tsx index f41c4c9..16536ff 100644 --- a/artifacts/voix-du-peuple/src/pages/transparence.tsx +++ b/artifacts/voix-du-peuple/src/pages/transparence.tsx @@ -40,12 +40,12 @@ export default function Transparence() { { num: "1", titre: "Réception", - desc: "Votre texte est enregistré en base de données avec la date et l'heure. Le pseudonyme est facultatif. Aucune donnée d'identification (adresse IP, compte utilisateur) n'est associée à la contribution.", + desc: "Votre texte est enregistré en base de données avec la date et l'heure. Le pseudonyme est facultatif. Aucun compte utilisateur n'est requis. À des fins exclusivement anti-abus, un hash SHA-256 non réversible de l'adresse IP est conservé 30 jours dans une table séparée — il ne peut pas être reconstitué en adresse IP et n'est jamais associé aux contributions affichées.", }, { num: "2", titre: "Filtre de modération (IA)", - desc: "Un modèle de langage (GPT) analyse le texte pour vérifier sa conformité avec les droits fondamentaux reconnus par le droit international. Voir la section dédiée ci-dessous.", + desc: "Un modèle de langage (Mistral par défaut) analyse le texte pour vérifier sa conformité avec les droits fondamentaux reconnus par le droit international. Voir la section dédiée ci-dessous.", }, { num: "3", @@ -99,7 +99,7 @@ export default function Transparence() { "Charte des droits fondamentaux de l'UE (2000)", "Convention internationale sur l'élimination de la discrimination raciale — CERD (ONU, 1965)", "Statut de Rome (CPI, 1998) — génocide, crimes contre l'humanité, crimes de guerre", - "Code pénal français — Livre préliminaire (Art. 211-1, 212-1) : génocide, crimes contre l'humanité", + "Code pénal français — Livre II (Art. 211-1, 212-1, 212-3) : génocide, crimes contre l'humanité · Livre IV (Art. 461-1 à 461-31) : crimes de guerre", "Code pénal français — Livre II : atteintes aux personnes (Art. 221-1 à 227-24)", "Code pénal français — Livre III : atteintes aux biens (Art. 311-1 à 323-8)", "Code pénal français — Livre IV : atteintes à la Nation et à l'État (Art. 411-1 à 450-5), terrorisme (Art. 421-1 à 421-2-5)", @@ -230,7 +230,7 @@ export default function Transparence() { { donnee: "Pseudonyme", oui: true, detail: "Facultatif, librement choisi par l'utilisateur" }, { donnee: "Date et heure", oui: true, detail: "Horodatage de la soumission" }, { donnee: "Résultat du filtre", oui: true, detail: "Acceptée / refusée + motif" }, - { donnee: "Adresse IP", oui: false, detail: "Non conservée" }, + { donnee: "Adresse IP (hash)", oui: true, detail: "Hash SHA-256 non réversible — anti-abus uniquement, 30 jours, table séparée des contributions" }, { donnee: "Compte utilisateur", oui: false, detail: "Aucune inscription requise" }, { donnee: "Cookie de suivi", oui: false, detail: "Aucun tracker, aucune publicité" }, { donnee: "Données de navigation", oui: false, detail: "Non collectées" }, @@ -308,7 +308,7 @@ export default function Transparence() { { label: "Frontend", val: "React + Vite" }, { label: "IA de modération", val: "Mistral small (défaut) — configurable via FILTER_MODEL" }, { label: "IA de synthèse", val: "Mistral large (défaut) — configurable via SYNTHESIS_MODEL" }, - { label: "Données personnelles", val: "Aucune (pseudonyme facultatif uniquement)" }, + { label: "Données personnelles", val: "Hash d'IP anti-abus (30 j, non réversible) · pseudonyme facultatif" }, { label: "Trackers / publicité", val: "Aucun" }, { label: "Inscription requise", val: "Non" }, ].map((row) => (