RISKS
Inventaire des risques juridiques, éthiques, techniques et médiatiques de politikar, avec mitigations associées. Ce document est vivant : tout incident ou nouvelle menace identifiée doit ajouter une ligne ici.
1. Risques juridiques
1.1 Diffamation
Risque : un politique attaqué par un verdict false ou mostly_false engage une procédure pour diffamation publique (loi 1881 sur la liberté de la presse en France).
Vraisemblance : élevée. Surtout pour les figures P0 et lors de cycles électoraux.
Impact : assignation, publication forcée d'un droit de réponse, dommages-intérêts, gel du projet.
Mitigations :
- Distinction sémantique stricte dans tous les outputs publics : on qualifie le propos (
ce propos est jugé faux selon...), jamais la personne (X ment). verifications.reasoningcite systématiquement au moins une source vérifiable et autorisée (institution ou fact-checker reconnu).- Verdicts
falsesur P0 obligatoirement passés par revue humaine avant publication (cf.claim_review_queueflag P0). - Conservation immuable de toute la chaîne (source brute, claim, prompt version, verdict, reviewer) pour défense en cas d'action.
- Mention "Méthodologie publique" en pied de chaque verdict avec lien vers
politikar.fr/methode. - Clause de bonne foi : politikar publie en s'appuyant sur une méthode rigoureuse et publique, n'a pas d'animosité envers la personne, agit dans un intérêt démocratique.
- Hébergement en Europe (Vercel EU + Supabase EU) pour s'inscrire dans le cadre légal européen.
Plan B si action en justice : retrait temporaire du verdict contesté, ouverture immédiate d'une revue avec le comité éditorial, communication transparente sur la procédure.
1.2 Droit de réponse
Risque : un politique exige un droit de réponse en bonne et due forme (loi 1881, article 13 pour la presse en ligne sous le statut de service de communication au public).
Vraisemblance : moyenne à élevée.
Impact : obligation de publication du droit de réponse, refus = amende.
Mitigations :
- Procédure formalisée et publique sur la page À propos : email dédié
droit-de-reponse@politikar.fr, template à fournir, délai de traitement annoncé < 30 jours. - Réponses publiées en regard du verdict contesté, lien réciproque.
- Si le contenu de la réponse soulève un doute factuel sur le verdict, ouverture automatique d'une revue éditoriale avec republication potentielle d'une
verificationsmise à jour (avecsuperseded_by_verification_id).
1.3 Conformité RGPD et données personnelles
Risque : qualification de politikar comme responsable de traitement de données à caractère personnel, action de la CNIL, droit d'accès et de rectification.
Vraisemblance : haute (la CNIL a déjà commenté des projets civic tech).
Impact : obligations de mise en conformité (DPO, registre, AIPD), amende RGPD jusqu'à 4 % du CA mondial (faible ici, mais le projet doit être propre).
Mitigations :
- Limitation au champ public : aucun traitement de données privées (santé, sexualité, vie familiale hors fonction publique). Audit des champs
politicians.*pour s'assurer qu'on ne stocke rien hors champ d'exercice public. - Mineurs : exclus explicitement (les enfants de politiciens, ou les politiciens lorsque mineurs au moment du propos).
- Base légale revendiquée : intérêt légitime, finalité d'information du public sur l'exercice du débat démocratique. Documenté dans une déclaration de confidentialité publique.
- Registre des traitements rédigé et publié.
- DPO désigné (rôle bénévole acceptable au démarrage, à formaliser lors de la sortie publique).
- Procédure d'effacement et de rectification opérationnelle, traitement < 30 jours.
- Hébergement données en UE.
1.4 Atteinte à la dignité, harcèlement, incitation à la haine
Risque : un agrégat ou un score est interprété comme une attaque ad hominem, ou utilisé par des tiers pour harceler.
Vraisemblance : moyenne.
Impact : action pénale, retrait forcé.
Mitigations :
- Pas de classement "Top 10 des menteurs" ou expression équivalente. Vocabulaire éditorial neutre obligatoire (cf. PROMPTS section 1).
- Refus systématique de moqueries, mèmes, contenu humoristique sur la plateforme officielle (les tiers peuvent en faire ce qu'ils veulent, mais politikar ne génère que du factuel).
- Modération des espaces communautaires (commentaires, contestations) si ouverts. Position MVP : pas de commentaires publics utilisateur, seulement formulaires de droit de réponse et signalement.
1.5 Présomption d'innocence
Risque : un verdict false sur un claim portant sur une accusation pénale en cours pourrait être assimilé à une atteinte à la présomption d'innocence.
Vraisemblance : faible mais réelle.
Mitigations :
- Refus systématique de fact-checker des claims portant sur des affaires judiciaires en cours (mention dans le prompt 4 et règle Python en amont).
- Dossiers judiciaires : on ingère seulement les communications officielles de la justice (jugements, ordonnances) comme
evidence.
1.6 Loi sur la confiance dans l'économie numérique (LCEN) et statut d'éditeur
Risque : politikar est qualifié d'éditeur de contenu (et non d'hébergeur) car il choisit, ordonne, et publie des verdicts. Responsabilité éditoriale pleine.
Vraisemblance : forte (qualification probable).
Impact : obligations renforcées sur la modération, déclaration de directeur de publication.
Mitigations :
- Assumer le statut d'éditeur dès le départ.
- Désigner un directeur de la publication (mention sur la page À propos).
- Adopter une charte déontologique publique (à rédiger en Phase 8 avant lancement public).
2. Risques éthiques
2.1 Biais des LLM
Risque : Claude (et les LLM en général) ont un biais culturel d'entraînement (corpus anglophone majoritaire, biais valeurs USA). Risque d'application non-neutre sur la politique française.
Vraisemblance : avérée.
Impact : verdicts systématiquement plus durs envers une famille politique, perte de crédibilité.
Mitigations :
- Système de prompt insistant sur la neutralité partisane (cf. PROMPTS section 1).
- Audit annuel par panel parité gauche / centre / droite : distribution des verdicts par parti, par topic. Si écart structurel et inexplicable, ajustement des prompts ou des seuils.
- Prompts de garde explicites : "traite avec exactement la même rigueur qu'un claim consensuel" (présent dans
verification_cascade@v1.0.0). - Evaluation publique : jeu de tests adversarial avec claims équivalents formulés depuis chaque famille politique, vérification que les verdicts produits sont cohérents.
- Ouverture du benchmark à la communauté pour signaler les biais détectés.
2.2 Biais des sources de fact-checking
Risque : les fact-checkers eux-mêmes (AFP Factuel, Décodeurs, etc.) ont leurs propres biais éditoriaux, en majorité positionnés au centre gauche. Si politikar utilise leurs verdicts comme evidence, le biais s'intègre.
Vraisemblance : avérée.
Mitigations :
- Diversification des sources (5 fact-checkers majeurs, pas un seul).
- Pondération des
evidencepar accord croisé : un verdict supporté par 3 fact-checkers indépendants pèse plus qu'un seul. - Audit de la distribution des
data_sources_usedpar parti politique cible : si un parti voit majoritairement un seul fact-checker dans ses verdicts, alerte. - Ajout post-MVP de fact-checkers de plus à droite si dispo (Faktik n'existe pas en France, mais on suit les bilans Fondapol pour ajustement).
- Verdicts P0 escaladés à Opus + revue humaine : limite la dépendance pure aux fact-checkers.
2.3 Framing par sélection des sources
Risque : le choix des sources d'information (sites scrapés, émissions YouTube ingérées) crée un biais "ce qu'on voit" qui n'est pas le même selon le parti.
Vraisemblance : élevée.
Mitigations :
- Liste des sources publique et auditable (cf. SOURCES).
- Couverture symétrique : pour chaque parti représenté à l'AN ou Sénat, garantir un volume comparable de sources ingérées.
- Métriques de couverture : tableau de bord interne
admin/coveragequi montre le nombre de claims par parti par mois. Alerte si déséquilibre > 30 %. - Plus de comptes officiels et moins de presse : les comptes officiels (AN, Sénat, communiqués) ne sont pas filtrés, donc plus neutres en couverture.
2.4 "Neutralité fausse" et fausse équivalence
Risque : en traitant chaque parti à égalité quel que soit son comportement, politikar crée artificiellement une équivalence morale ("les uns mentent autant que les autres") qui peut être trompeuse.
Vraisemblance : risque inhérent à toute mesure agrégée.
Mitigations :
- Affichage non agrégé en première intention : page d'accueil ne classe pas les partis sur un seul score, mais montre la distribution des verdicts.
- Décomposition par topic : permet de voir où chaque parti est rigoureux ou pas.
- Mention explicite dans la méthodologie :
politikar mesure la véracité du discours, pas la qualité morale ni la pertinence politique des positions. - Refus de produire des comparatifs partisans en page d'accueil. Le comparatif est consultable mais nécessite un drill-down explicite.
2.5 Dérive vers un journalisme automatisé
Risque : la facilité de produire des verdicts à grande échelle pousse à publier sans relecture, érodant la qualité.
Vraisemblance : forte si pas de garde-fous.
Mitigations :
- Plancher de revue humaine pour les claims P0, sensibles, ou de faible confiance (cf. PROMPTS section 7.1).
- Métrique
% claims publiés sans revuesuivie publiquement, plafond cible 80 % (20 % minimum revus humainement). - Pas d'automatisation totale du pipeline : la publication d'un verdict requiert un step explicite (cron horaire qui flush la queue après check
is_published = true). - Revue éditoriale hebdomadaire d'un échantillon aléatoire de 20 verdicts publiés.
2.6 Effet de score unique
Risque : un score 74 est lu comme un verdict moral global sur la personne, alors qu'il agrège de l'hétérogène.
Mitigations :
- Affichage UX qui rend visible la décomposition par topic (cf. SCORING section 6.1).
- Mention obligatoire de l'incertitude (
74 (intervalle 70-78)). - Volume sous-jacent affiché.
- Pas de classement national absolu en page d'accueil.
3. Risques techniques
3.1 Drift des sites scrapés
Risque : un site change son HTML, le scraper se casse silencieusement, on ingère 0 ou des données corrompues.
Vraisemblance : élevée.
Mitigations :
- Health check par source (cf. SOURCES section 8) avec alerte si 0 ingest sur 3 runs.
- Tests unitaires des parsers sur fixtures HTML capturées, exécutés en CI.
- Schémas Pydantic stricts en sortie de parser : un schéma cassé fait échouer le worker proprement.
- Plan B documenté pour chaque source.
3.2 Hallucinations Claude
Risque : Claude invente une statistique, une citation, une source.
Vraisemblance : connue, présente sur tout LLM.
Mitigations :
- Tool use strict avec JSON Schema : pas de free text en production.
- Cascade de vérification : Claude n'a pas accès au web search, il doit s'appuyer sur les
evidencespré-collectées par le pipeline. confidence_scorequi descend déclenche escalade Opus + revue humaine.- Tests unitaires de hallucination : prompts piégés avec sources fictives, vérifier que Claude refuse de citer.
- Validation statistique post-production : sur 200 verdicts publiés, échantillonner 20 et vérifier à la main si chaque citation existe vraiment.
3.3 Faux duplicats par embeddings
Risque : deux claims sémantiquement proches mais factuellement différents (par exemple chômage à 7 % vs chômage à 9 %) sont fusionnés et un seul verdict s'applique aux deux.
Vraisemblance : modérée.
Mitigations :
- Seuil de similarity élevé (0,92 cosine) calibré en Phase 3 sur jeu test annoté.
- Vérification supplémentaire : si deux claims fusionnés ont des
numeric_valuesdivergents (ratio > 1,2), on bloque la fusion et on les traite comme distincts. - Audit échantillon des fusions toutes les semaines, faux positifs corrigés et seuil ajusté.
3.4 Scaling pgvector
Risque : au-delà de 100k claims, IVFFlat devient lent ou imprécis.
Vraisemblance : moyen terme (an 2-3).
Mitigations :
- Migration vers
HNSW(pgvector >= 0.5) prévue.m=16, ef_construction=64initial, ajusté. - Migration documentée à l'avance, testée en staging avant bascule.
3.5 Coût LLM hors contrôle
Risque : un bug ou une boucle non bornée multiplie les appels Claude, dépasse le budget.
Vraisemblance : modérée (a priori bas avec Inngest mais reste possible).
Mitigations :
- Plafonds Anthropic Console : alertes à 50 % et 80 % du budget.
- Feature flag
ingestion_enabled: pousse àfalseen cas de pic, pause les crons. - Rate limiting interne sur les appels Claude (par cron run, par topic).
- Idempotence (
raw_text_sha256) : un même contenu n'est jamais reprocessé. - Boucle de cascade bornée à 2 itérations max (Sonnet + Opus, point final).
3.6 Pertes de données
Risque : crash Supabase, suppression accidentelle, drop de table par migration mal écrite.
Mitigations :
- Backups quotidiens Supabase Pro automatiques (rétention 7 jours, upgrade vers 30 jours si budget).
- Backups hebdomadaires manuels via
pg_dumpvers S3 (Cloudflare R2 free tier, 10 Go). - Migrations testées en local avant prod, jamais de DROP non précédé d'un backup explicite.
3.7 Sécurité applicative
Risque : XSS dans les verifications.reasoning ou claim_text rendus côté front, SSRF via evidence.source_url, injection SQL via paramètres mal échappés.
Mitigations :
- React échappe par défaut, pas de
dangerouslySetInnerHTML. - Validation stricte des URLs (schemas autorisés
https, hosts non internes). - ORM ou paramètres préparés systématiques (
asyncpg,supabase-js). Pas de concat SQL. - Headers de sécurité HTTP :
Content-Security-Policy,X-Frame-Options,Referrer-Policy. - Audit
npm auditetpip-auditen CI.
4. Risques médiatiques et opérationnels
4.1 Récupération politique
Risque : un parti politique reprend un score politikar pour attaquer un adversaire en campagne, dénaturant le contexte.
Vraisemblance : forte une fois le projet visible.
Mitigations :
- Charte de citation publique : politikar publie un encart
Comment citer politikarqui rappelle de mentionner volume sous-jacent, période, intervalle de confiance. - Pas d'API qui renvoie un seul score sans métadonnées : tout endpoint inclut
n_claims,ci_low,ci_high,period. - Communication proactive au moment des élections : rappel public que le score n'est pas un programme et qu'il est dépendant de la couverture des sources.
- Si un acteur reprend de manière manifestement trompeuse, communiqué de mise au point.
4.2 Attaque sur la liberté d'expression
Risque : un acteur accuse politikar d'être un "ministère de la vérité", d'imposer un récit, de censurer la parole politique.
Vraisemblance : élevée.
Mitigations :
- Politikar ne supprime aucune parole politique : on ingère, on annote, on rend public. Le politique reste libre de dire ce qu'il veut.
- Insister sur la nature complémentaire et non-prescriptive de l'outil (information du citoyen, pas censure).
- Méthodologie complète et publique, audit ouvert annuel.
- Ne pas se positionner comme "la vérité". Toujours formuler
selon notre méthode publique, ce propos est jugé X avec confiance Y %. - Open source du code et des prompts : tout le monde peut auditer, fork, contester.
4.3 DDoS post-publication
Risque : pic de trafic ou attaque coordonnée au lancement ou suite à la publication d'un verdict très commenté.
Mitigations :
- Cloudflare en proxy front : WAF, anti-DDoS, cache CDN.
- Vercel scaling auto sur Fluid Compute.
- Rate limiting applicatif (60 req/min/IP via middleware Next.js + Upstash Redis).
- Plan de continuité : si pic non gérable, désactiver l'API publique le temps de scaler manuellement.
4.4 Deepfakes et captures détournées
Risque : un acteur photoshoppe une page politikar avec un score inventé, partagé en masse comme "preuve" sur réseaux.
Mitigations :
- Watermark optionnel sur les screenshots officiels (mention
politikar.fr/<slug>discrète). - Signature de l'API : champ
signatureEd25519 sur les réponses majeures (post-MVP). - Communication de mise au point rapide en cas d'incident détecté.
- Surveillance proactive des hashtags
#politikarsur réseaux (post-MVP).
4.5 Risque de sortie de route éditoriale
Risque : un contributeur ou bénévole abuse de son accès admin pour pousser un verdict orienté.
Mitigations :
- Tracé complet en
audit_log: tout changement admin est logué avec acteur et payload. - Multi-eyes pour les verdicts P0 sensibles (deux reviewers indépendants doivent valider).
- Code reviews obligatoires sur les PR qui touchent les prompts ou les seuils de scoring.
- Charte de gouvernance signée par les contributeurs avec accès admin.
5. Mitigations transverses
- Panel éditorial : groupe consultatif parité gauche / centre / droite, pluraliste, audite annuellement la distribution des verdicts. Composition publique. Pouvoir de recommandation, pas de veto.
- Open source intégral : code, prompts (avec versions), seuils de scoring, et liste des sources sont publics. Quiconque peut fork et challenger.
- API publique read-only : permet aux chercheurs et journalistes de vérifier indépendamment.
- Documentation de la méthode : page
politikar.fr/methodelien depuis chaque verdict, navigation claire vers ARCHITECTURE / PROMPTS / SCORING. - Plancher de volume : pas de score si donnée trop maigre, évite les faux positifs.
- Mécanisme de contestation : email dédié, procédure publique, délai annoncé, traitement tracé.
- Audit annuel : rapport publié au 1er trimestre de chaque année, signé par le panel éditorial, listant : distribution des verdicts par parti, biais détectés, ajustements appliqués.
- Refus de l'anonymat des contributeurs sur claims sensibles : pour les commits qui modifient un verdict P0, identité claire requise.
6. Risques résiduels assumés
Même avec les mitigations, certains risques ne peuvent pas être complètement éliminés :
- Aucun système de fact-checking n'est parfaitement neutre : politikar peut afficher un biais résiduel non détecté.
- Une procédure judiciaire peut survenir et obliger à des retraits temporaires.
- Le LLM peut produire un verdict erroné qui passe la revue par chance malheureuse.
- La couverture des sources, par construction, sous-représente certaines voix (locales, marginales).
Ces risques sont assumés. La transparence est notre première ligne de défense : les utilisateurs voient comment c'est calculé, peuvent contester, et l'historique des corrections est public.
7. Plan de réponse aux incidents
7.1 Incident éditorial (verdict contesté)
- Réception de la contestation (email ou interface).
- Acquittement < 48h.
- Revue par 2 reviewers du panel éditorial (indépendants entre eux).
- Décision publiée sous 30 jours :
- maintien : motivé publiquement
- correction : nouvelle
verificationsrow avecsuperseded_bysur l'ancienne, lien public. - retrait : flag
is_published = falseavec explication publique.
7.2 Incident technique (panne, fuite, breach)
- Détection (monitoring ou signalement).
- Acquittement < 1h.
- Communication de transparence sous 72h max sur la page status.
- Post-mortem public dans les 14 jours.
7.3 Action en justice
- Saisie immédiate d'un avocat (à pré-engager : structure type cabinet civic tech).
- Geler temporairement le verdict contesté, mention publique de la procédure.
- Communication mesurée, pas de polémique.
- Information du panel éditorial et du DPO.
8. Questions ouvertes pour relecture
- Statut juridique de politikar : association loi 1901 ? SAS ? SCIC ? Détermine la responsabilité du directeur de publication. Position : association loi 1901 préférable pour signaler le caractère non lucratif.
- Composition initiale du panel éditorial : combien de membres, comment recrutés, indemnisés ou bénévoles ?
- Politique sur les contributions externes : open contributions sur GitHub, mais quels rôles peut-on déléguer ? Position MVP : revue de code par mainteneur(s), pas de write direct sur main pour les contributeurs externes.
- Position sur la presse : politikar publie ses verdicts ; comment gérer si un média reprend en deformant ? Communiqué dédié vs rectification publique ?
- Plan de financement : si une fondation finance le projet, comment garantir l'indépendance éditoriale (charte de gouvernance) ? Pas de financement par parti ou candidat, jamais.