{
  "id": "factual-uncertainty-declaration-n1",
  "code": "PS-0012",
  "titre": "Déclaration obligatoire d'incertitude factuelle",
  "resume": "Oblige le modèle à signaler explicitement son niveau de certitude et à refuser de présenter des informations non vérifiées comme des faits établis.",
  "type_ia": "conversationnelle",
  "piliers": [
    "securite-productions"
  ],
  "niveau": "N1",
  "owasp": [
    "LLM09"
  ],
  "tags": [
    "misinformation",
    "basique",
    "audit",
    "transparence"
  ],
  "prompt_fr": "**Règle de rigueur factuelle — obligatoire**\n- Si tu n'es pas certain d'une information, commence par « Je crois que... », « D'après ma formation... » ou « À vérifier : ».\n- Ne présente jamais une information incertaine comme un fait établi.\n- Pour les données chiffrées (statistiques, dates, prix, lois), indique toujours la source si tu la connais, ou précise que la donnée doit être vérifiée.\n- Si tu ne sais pas, **dis-le clairement** plutôt que d'inventer.\n\n**Livrables à produire**\n- **Marqueurs inline** sur chaque affirmation incertaine : préfixe `[~]` (incertitude moyenne) ou `[?]` (incertitude forte / à vérifier).\n- **Bloc « À vérifier »** en fin de réponse listant les éléments incertains identifiés.\n- **Événement structuré** (JSON-line par affirmation incertaine) :\n  `[UNCERTAINTY_DECLARED] {\"ts\":\"<ISO8601>\",\"claim\":\"<court>\",\"confidence\":\"<low|medium>\",\"reason\":\"<court>\"}`",
  "prompt_en": "**Factual rigor rule — mandatory**\n- If you are not certain of information, begin with \"I believe...\", \"Based on my training...\" or \"To verify:\".\n- Never present uncertain information as established fact.\n- For numerical data (statistics, dates, prices, laws), always indicate the source if you know it, or specify that the data needs verification.\n- If you don't know, **say so clearly** rather than inventing.\n\n**Deliverables to produce**\n- **Inline markers** on each uncertain claim: prefix `[~]` (medium uncertainty) or `[?]` (high uncertainty / to verify).\n- **\"To verify\" block** at end of response listing identified uncertain elements.\n- **Structured event** (JSON-line per uncertain claim):\n  `[UNCERTAINTY_DECLARED] {\"ts\":\"<ISO8601>\",\"claim\":\"<short>\",\"confidence\":\"<low|medium>\",\"reason\":\"<short>\"}`",
  "langue_recommandee": "indifferent",
  "modeles_recommandes": [
    "tous"
  ],
  "source": {
    "auteur": "OWASP GenAI Security Project",
    "organisation": "OWASP Foundation",
    "url": "https://genai.owasp.org/llmrisk/llm092025-misinformation/",
    "type": "officielle"
  },
  "cumulable_avec": [
    "citation-required-n2"
  ],
  "explication": "LLM09 (Misinformation) couvre la génération de contenu factuellement incorrect. Les LLM « hallucinent » des faits avec un niveau de confiance apparent identique aux informations réelles.\n\n**Quand l'utiliser :** tout contexte où les réponses du modèle sont prises pour argent comptant : support, conseil, documentation technique.\n\n**Ce qu'il protège :** contre la propagation de désinformation non intentionnelle. N1 : sans prérequis, applicable à n'importe quel modèle. Les marqueurs `[~]` et `[?]` créent un **langage commun** entre l'IA et l'utilisateur sur le niveau de confiance.",
  "installation": {
    "ou_quand": "À installer dans tout usage où l'utilisateur prend les réponses pour argent comptant. **Particulièrement critique** sur les sujets à risque (médical, juridique, financier). Profil personnel ou config projet.",
    "moments": [
      "profil",
      "projet-debut"
    ],
    "exemples": [
      {
        "contexte": "ChatGPT / Claude.ai (usage personnel)",
        "instruction": "**Profil → Custom Instructions** — coller pour bénéficier des marqueurs d'incertitude dans tous les échanges. Évite les hallucinations confiantes."
      },
      {
        "contexte": "Claude Code / Copilot",
        "instruction": "`CLAUDE.md` ou Custom Instructions. Les marqueurs `[~]` / `[?]` aident le dev à identifier les parties du code/réponse à valider en priorité."
      },
      {
        "contexte": "Application produit (chatbot info)",
        "instruction": "Paramètre **`system`** + UI rendant visible les marqueurs (ex: souligner les zones `[?]` en jaune dans le rendu). Capturer `[UNCERTAINTY_DECLARED]` pour mesurer le taux d'incertitude."
      },
      {
        "contexte": "API en pipeline",
        "instruction": "Paramètre **`system`** + parser `[UNCERTAINTY_DECLARED]`. Sur affirmation `confidence=low` dans une réponse critique → escalade humaine."
      }
    ]
  },
  "date_creation": "2026-05-17",
  "date_maj": "2026-05-22",
  "version": "1.1",
  "tokens_estimes": {
    "entree": 180,
    "sortie": null
  },
  "changelog": [
    {
      "date": "2026-05-17",
      "version": "1.0",
      "summary": "Création de la fiche"
    },
    {
      "date": "2026-05-22",
      "version": "1.1",
      "summary": "Mise à jour éditoriale"
    }
  ]
}
