{
  "version": "1.0",
  "generated_at": "2026-05-23T10:20:52.947Z",
  "site": "https://promptsecops.fr",
  "api_doc": "https://promptsecops.fr/doctrine/manifest/",
  "total_fiches": 83,
  "fiches": [
    {
      "id": "system-prompt-boundaries-n1",
      "code": "PS-0001",
      "titre": "Délimitation explicite du rôle et des limites du modèle",
      "resume": "Définit clairement le rôle, le périmètre autorisé et les refus attendus dans le system prompt. Premier rempart contre la déviation de comportement.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "system-prompt",
        "injection",
        "basique"
      ],
      "cumulable_avec": [],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/system-prompt-boundaries-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/system-prompt-boundaries-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/system-prompt-boundaries-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "rag-data-instruction-split-n2",
      "code": "PS-0002",
      "titre": "Cloisonnement données / instructions dans un pipeline RAG",
      "resume": "Empêche le modèle de traiter le contenu récupéré comme des instructions, via une séparation explicite des zones de confiance.",
      "owasp": [
        "LLM01",
        "LLM05"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "en",
      "tags": [
        "rag",
        "injection",
        "entreprise",
        "system-prompt"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "input_external_content",
        "llm_output_to_downstream",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/rag-data-instruction-split-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/rag-data-instruction-split-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/rag-data-instruction-split-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.2"
    },
    {
      "id": "context-checkpoint-n1",
      "code": "PS-0003",
      "titre": "Checkpoint de contexte en début de session longue",
      "resume": "Demande au modèle de résumer ses instructions actives avant de poursuivre, pour détecter toute dérive ou perte de contexte silencieuse.",
      "owasp": [],
      "moments": [
        "session-debut",
        "conditionnel"
      ],
      "piliers": [
        "persistance-contexte"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "contexte-long",
        "basique",
        "audit"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "event_triggered",
        "session_start"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/context-checkpoint-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/context-checkpoint-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/context-checkpoint-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "token-budget-instruction-n1",
      "code": "PS-0004",
      "titre": "Instruction de budget de tokens dans le system prompt",
      "resume": "Contraint le modèle à produire des réponses concises en définissant un budget de tokens explicite, sans dépendance à des paramètres API.",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "tokens",
        "basique",
        "maitrise-couts"
      ],
      "cumulable_avec": [],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/token-budget-instruction-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/token-budget-instruction-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/token-budget-instruction-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "agent-action-confirmation-n3",
      "code": "PS-0005",
      "titre": "Confirmation obligatoire avant toute action irréversible (agent)",
      "resume": "Impose au modèle une pause de confirmation explicite avant d'exécuter toute action à effets de bord irréversibles : écriture, envoi, suppression, appel API externe.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "en",
      "tags": [
        "agent",
        "mcp",
        "multi-agent",
        "entreprise",
        "audit"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "rag-data-instruction-split-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/agent-action-confirmation-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/agent-action-confirmation-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/agent-action-confirmation-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "direct-injection-separator-n2",
      "code": "PS-0006",
      "titre": "Séparation explicite instructions / entrées utilisateur par délimiteurs",
      "resume": "Utilise des balises XML ou des délimiteurs typés pour isoler les instructions système des entrées utilisateur et empêcher la confusion de zones de confiance.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "injection",
        "system-prompt",
        "xml-tags",
        "entreprise"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/direct-injection-separator-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/direct-injection-separator-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/direct-injection-separator-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "pii-non-disclosure-n1",
      "code": "PS-0007",
      "titre": "Non-divulgation des données personnelles dans les réponses",
      "resume": "Interdit au modèle de répéter, synthétiser ou inférer des données personnelles présentes dans le contexte, même si l'utilisateur les demande explicitement. Chaque refus est tracé pour audit RGPD.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "rgpd",
        "pii",
        "fuite-donnees",
        "basique"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "pii-output-filter-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/pii-non-disclosure-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/pii-non-disclosure-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/pii-non-disclosure-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "pii-output-filter-n2",
      "code": "PS-0008",
      "titre": "Filtre de sortie sur les données sensibles avant affichage",
      "resume": "Demande au modèle de vérifier sa propre réponse avant de la produire et de masquer tout fragment qui ressemble à une donnée personnelle ou confidentielle.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "pii",
        "fuite-donnees",
        "validation-sortie",
        "entreprise"
      ],
      "cumulable_avec": [
        "pii-non-disclosure-n1",
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/pii-output-filter-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/pii-output-filter-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/pii-output-filter-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "output-validation-before-display-n1",
      "code": "PS-0009",
      "titre": "Validation de la sortie avant utilisation dans un contexte critique",
      "resume": "Demande au modèle d'avertir explicitement quand sa sortie sera utilisée dans un contexte d'exécution (code, requête SQL, commande shell) et de signaler les risques.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "validation-sortie",
        "basique",
        "code-review"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/output-validation-before-display-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/output-validation-before-display-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/output-validation-before-display-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "system-prompt-confidentiality-n1",
      "code": "PS-0010",
      "titre": "Instruction de confidentialité du prompt système",
      "resume": "Demande au modèle de ne pas révéler le contenu de ses instructions système, tout en reconnaissant leur existence si interrogé.",
      "owasp": [
        "LLM07"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "system-prompt",
        "basique",
        "fuite-donnees"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "prompt-extraction-resistance-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "new_project",
        "system_prompt_present"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/system-prompt-confidentiality-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/system-prompt-confidentiality-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/system-prompt-confidentiality-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "prompt-extraction-resistance-n2",
      "code": "PS-0011",
      "titre": "Résistance active à l'extraction du prompt par techniques avancées",
      "resume": "Instruit le modèle à reconnaître et résister aux techniques d'extraction avancées : jailbreak par roleplay, injection indirecte, reformulations créatives.",
      "owasp": [
        "LLM07",
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "en",
      "tags": [
        "system-prompt",
        "injection",
        "jailbreak",
        "entreprise"
      ],
      "cumulable_avec": [
        "system-prompt-confidentiality-n1",
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "system_prompt_present",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/prompt-extraction-resistance-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/prompt-extraction-resistance-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/prompt-extraction-resistance-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "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.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "misinformation",
        "basique",
        "audit",
        "transparence"
      ],
      "cumulable_avec": [
        "citation-required-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/factual-uncertainty-declaration-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/factual-uncertainty-declaration-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/factual-uncertainty-declaration-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "citation-required-n2",
      "code": "PS-0013",
      "titre": "Citation de source obligatoire pour toute affirmation factuelle",
      "resume": "Impose au modèle de citer sa source pour chaque affirmation factuelle et d'indiquer explicitement quand aucune source fiable ne peut être fournie.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "misinformation",
        "audit",
        "entreprise",
        "validation-sortie"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/citation-required-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/citation-required-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/citation-required-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "supply-chain-awareness-n2",
      "code": "PS-0014",
      "titre": "Sensibilisation aux risques de la chaîne d'approvisionnement IA",
      "resume": "Instruit le modèle à signaler les dépendances externes (plugins, outils, modèles tiers) et à adopter une posture de méfiance vis-à-vis des composants non vérifiés.",
      "owasp": [
        "LLM03"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "supply-chain",
        "plugins",
        "dependances",
        "entreprise"
      ],
      "cumulable_avec": [
        "agent-action-confirmation-n3",
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "dependency_management",
        "new_project",
        "supply_chain",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/supply-chain-awareness-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/supply-chain-awareness-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/supply-chain-awareness-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "data-poisoning-detection-n2",
      "code": "PS-0015",
      "titre": "Détection de signaux d'empoisonnement des données d'entraînement",
      "resume": "Demande au modèle de signaler les incohérences dans ses réponses qui pourraient indiquer un comportement inattendu lié à des données d'entraînement corrompues.",
      "owasp": [
        "LLM04"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "data-poisoning",
        "audit",
        "comportement-anormal",
        "entreprise"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1",
        "citation-required-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "new_project",
        "rag_ingestion",
        "training_data"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/data-poisoning-detection-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/data-poisoning-detection-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/data-poisoning-detection-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "minimal-tool-access-n2",
      "code": "PS-0016",
      "titre": "Principe du moindre privilège pour les outils agents",
      "resume": "Restreint l'agent à n'utiliser que les outils strictement nécessaires à la tâche en cours, et à déclarer chaque utilisation d'outil avant de l'exécuter.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "agent",
        "moindre-privilege",
        "outils",
        "entreprise"
      ],
      "cumulable_avec": [
        "agent-action-confirmation-n3",
        "human-in-loop-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/minimal-tool-access-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/minimal-tool-access-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/minimal-tool-access-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "human-in-loop-n2",
      "code": "PS-0017",
      "titre": "Supervision humaine obligatoire pour les actions à impact élevé",
      "resume": "Force l'agent à marquer une pause et demander une confirmation humaine avant d'exécuter toute action irréversible ou à fort impact.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "agent",
        "supervision-humaine",
        "actions-irreversibles",
        "entreprise"
      ],
      "cumulable_avec": [
        "agent-action-confirmation-n3",
        "minimal-tool-access-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/human-in-loop-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/human-in-loop-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/human-in-loop-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "rag-source-validation-n2",
      "code": "PS-0018",
      "titre": "Validation des sources RAG et embeddings avant utilisation",
      "resume": "Instruit le modèle à évaluer la fiabilité des documents récupérés par RAG avant de les utiliser comme base factuelle, et à signaler les sources douteuses.",
      "owasp": [
        "LLM08"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "rag",
        "embeddings",
        "validation-source",
        "enterprise"
      ],
      "cumulable_avec": [
        "rag-data-instruction-split-n2",
        "direct-injection-separator-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "embedding_search",
        "new_project",
        "vector_db_present"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/rag-source-validation-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/rag-source-validation-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/rag-source-validation-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "output-length-limits-n2",
      "code": "PS-0019",
      "titre": "Limites de longueur de sortie pour la maîtrise des coûts et de la surface d'attaque",
      "resume": "Contraint le modèle à respecter des limites de longueur de réponse et à refuser les demandes de génération excessive qui pourraient entraîner des coûts ou des risques imprévus.",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "maitrise-couts",
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "tokens",
        "couts",
        "dos",
        "limites"
      ],
      "cumulable_avec": [
        "token-budget-instruction-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/output-length-limits-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/output-length-limits-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/output-length-limits-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "xml-structuring-n1",
      "code": "PS-0020",
      "titre": "Structuration XML des entrées pour isolation des données et instructions",
      "resume": "Utilise des balises XML pour séparer clairement les instructions système, les données utilisateur et le contexte, réduisant les risques d'injection de prompt.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "xml",
        "structuration",
        "injection",
        "basique"
      ],
      "cumulable_avec": [
        "direct-injection-separator-n2",
        "rag-data-instruction-split-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/xml-structuring-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/xml-structuring-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/xml-structuring-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "role-anchoring-n1",
      "code": "PS-0021",
      "titre": "Ancrage de rôle résistant aux tentatives de redéfinition",
      "resume": "Définit un rôle précis et ancré pour le modèle, avec instruction explicite de maintenir ce rôle même face aux tentatives de le faire changer.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "roleplay",
        "jailbreak",
        "identite",
        "basique"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "prompt-extraction-resistance-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/role-anchoring-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/role-anchoring-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/role-anchoring-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "output-format-contract-n1",
      "code": "PS-0022",
      "titre": "Contrat de format de sortie pour la validation et l'intégration",
      "resume": "Impose un format de sortie strict (JSON, Markdown, XML) que le modèle doit respecter pour permettre la validation automatisée et réduire les risques d'injection via le format.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions",
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "format-sortie",
        "json",
        "validation-sortie",
        "integration"
      ],
      "cumulable_avec": [
        "output-validation-before-display-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "llm_output_to_downstream",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/output-format-contract-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/output-format-contract-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/output-format-contract-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "chain-of-thought-safety-n2",
      "code": "PS-0023",
      "titre": "Raisonnement explicite avant réponse pour la détection d'anomalies",
      "resume": "Demande au modèle d'externaliser son raisonnement avant de répondre, permettant la détection d'hallucinations et de raisonnements aberrants avant qu'ils n'atteignent l'utilisateur.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "chain-of-thought",
        "raisonnement",
        "audit",
        "hallucination"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1",
        "citation-required-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/chain-of-thought-safety-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/chain-of-thought-safety-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/chain-of-thought-safety-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "prefill-defense-n2",
      "code": "PS-0024",
      "titre": "Défense par préfixage de réponse contre les détournements",
      "resume": "Utilise la technique du prefill (amorçage de réponse) pour ancrer le modèle dans le format et le rôle attendus, réduisant les risques de dérive au début de la génération.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "prefill",
        "amorçage",
        "format",
        "anthropic"
      ],
      "cumulable_avec": [
        "role-anchoring-n1",
        "output-format-contract-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/prefill-defense-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/prefill-defense-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/prefill-defense-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "context-window-management-n2",
      "code": "PS-0025",
      "titre": "Gestion sécurisée de la fenêtre de contexte en sessions longues",
      "resume": "Instruit le modèle à gérer activement sa fenêtre de contexte pour éviter l'injection via l'historique, la confusion de rôles et la dérive des instructions sur de longues sessions.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "persistance-contexte",
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "contexte",
        "sessions-longues",
        "derive",
        "anthropic"
      ],
      "cumulable_avec": [
        "context-checkpoint-n1",
        "role-anchoring-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/context-window-management-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/context-window-management-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/context-window-management-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "subagent-scope-isolation-n3",
      "code": "PS-0026",
      "titre": "Isolation de périmètre pour les sous-agents dans les pipelines multi-agents",
      "resume": "Définit des frontières strictes de périmètre pour chaque sous-agent dans un système multi-agents, empêchant la propagation latérale des permissions et des données entre agents.",
      "owasp": [
        "LLM06",
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "multi-agents",
        "isolation",
        "perimetre",
        "enterprise"
      ],
      "cumulable_avec": [
        "agent-action-confirmation-n3",
        "minimal-tool-access-n2",
        "human-in-loop-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "input_external_content",
        "new_project",
        "tool_call",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/subagent-scope-isolation-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/subagent-scope-isolation-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/subagent-scope-isolation-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "code-review-security-n2",
      "code": "PS-0027",
      "titre": "Revue de code orientée sécurité avec checklist OWASP",
      "resume": "Configure le modèle comme reviewer de code sécurité, appliquant une checklist structurée couvrant les vulnérabilités OWASP Top 10 les plus fréquentes.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "code-review",
        "securite",
        "owasp",
        "developpement"
      ],
      "cumulable_avec": [
        "output-validation-before-display-n1",
        "output-format-contract-n1"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/code-review-security-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/code-review-security-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/code-review-security-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "topical-guardrail-n1",
      "code": "PS-0028",
      "titre": "Garde-fou thématique — restriction au domaine métier",
      "resume": "Restreint le modèle à répondre uniquement dans le périmètre thématique défini, avec refus poli et redirection pour toute question hors périmètre.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "perimetrisation",
        "hors-sujet",
        "redirection",
        "basique"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "role-anchoring-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/topical-guardrail-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/topical-guardrail-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/topical-guardrail-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "jailbreak-detection-n2",
      "code": "PS-0029",
      "titre": "Détection et signalement des tentatives de jailbreak",
      "resume": "Instruit le modèle à reconnaître les patterns de jailbreak courants, à les refuser, et à produire un événement structuré exploitable par un SIEM.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "jailbreak",
        "detection",
        "signalement",
        "entreprise"
      ],
      "cumulable_avec": [
        "prompt-extraction-resistance-n2",
        "role-anchoring-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/jailbreak-detection-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/jailbreak-detection-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/jailbreak-detection-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "pii-redaction-output-n2",
      "code": "PS-0030",
      "titre": "Rédaction automatique des données personnelles en sortie",
      "resume": "Demande au modèle de détecter et remplacer automatiquement les données personnelles dans ses propres sorties avant de les afficher à l'utilisateur.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "pii",
        "rgpd",
        "redaction",
        "sortie"
      ],
      "cumulable_avec": [
        "pii-non-disclosure-n1",
        "pii-output-filter-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/pii-redaction-output-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/pii-redaction-output-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/pii-redaction-output-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "input-length-limits-n1",
      "code": "PS-0031",
      "titre": "Limitation de la longueur des entrées utilisateur",
      "resume": "Instruit le modèle à refuser ou tronquer les entrées excessivement longues qui pourraient être utilisées pour noyer les instructions système ou épuiser le contexte.",
      "owasp": [
        "LLM10",
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions",
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "limites-entree",
        "dos",
        "tokens",
        "basique"
      ],
      "cumulable_avec": [
        "token-budget-instruction-n1",
        "output-length-limits-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "input_external_content",
        "long_session",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/input-length-limits-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/input-length-limits-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/input-length-limits-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "developer-message-priority-n1",
      "code": "PS-0032",
      "titre": "Hiérarchie explicite des messages : développeur > utilisateur",
      "resume": "Établit une hiérarchie de confiance explicite entre les instructions développeur (système) et les demandes utilisateur, empêchant les utilisateurs de surpasser les règles système.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "hierarchie",
        "confiance",
        "system-prompt",
        "basique"
      ],
      "cumulable_avec": [
        "system-prompt-boundaries-n1",
        "role-anchoring-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/developer-message-priority-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/developer-message-priority-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/developer-message-priority-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "guardrail-input-filter-n2",
      "code": "PS-0033",
      "titre": "Filtre d'entrée par catégories de contenu interdites",
      "resume": "Définit une liste de catégories de contenu interdites en entrée et demande au modèle de refuser toute demande appartenant à ces catégories avant même de traiter la demande.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "content-filter",
        "categories-interdites",
        "pre-traitement",
        "enterprise"
      ],
      "cumulable_avec": [
        "topical-guardrail-n1",
        "jailbreak-detection-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/guardrail-input-filter-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/guardrail-input-filter-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/guardrail-input-filter-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "ai-least-privilege-n2",
      "code": "PS-0034",
      "titre": "Moindre privilège appliqué aux systèmes IA — isolation des droits",
      "resume": "Applique le principe du moindre privilège au niveau du système IA : chaque composant ne reçoit que les droits minimum nécessaires à sa fonction.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "moindre-privilege",
        "rbac",
        "isolation",
        "enterprise"
      ],
      "cumulable_avec": [
        "minimal-tool-access-n2",
        "subagent-scope-isolation-n3"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/ai-least-privilege-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/ai-least-privilege-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/ai-least-privilege-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "ai-transparency-declaration-n1",
      "code": "PS-0035",
      "titre": "Déclaration de nature IA et transparence sur les limitations",
      "resume": "Oblige le modèle à se déclarer comme système IA lorsqu'interrogé et à communiquer ses limitations de manière transparente.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "transparence",
        "declaration-ia",
        "limitations",
        "basique"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/ai-transparency-declaration-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/ai-transparency-declaration-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/ai-transparency-declaration-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "explainability-on-demand-n2",
      "code": "PS-0036",
      "titre": "Explicabilité à la demande — justification des décisions IA",
      "resume": "Permet à l'utilisateur de demander une explication structurée de la décision ou recommandation produite par le modèle, avec les facteurs qui ont influencé la réponse.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "explicabilite",
        "audit",
        "decision",
        "enterprise"
      ],
      "cumulable_avec": [
        "chain-of-thought-safety-n2",
        "citation-required-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/explainability-on-demand-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/explainability-on-demand-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/explainability-on-demand-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "bias-detection-flagging-n2",
      "code": "PS-0037",
      "titre": "Détection et signalement des biais potentiels dans les réponses",
      "resume": "Demande au modèle d'identifier et signaler proactivement les biais potentiels dans ses réponses, notamment les biais de sélection, de confirmation et les stéréotypes.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "biais",
        "equite",
        "audit",
        "enterprise"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1",
        "explainability-on-demand-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/bias-detection-flagging-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/bias-detection-flagging-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/bias-detection-flagging-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "continuous-validation-checkpoint-n2",
      "code": "PS-0038",
      "titre": "Points de contrôle de validation continue dans les workflows longs",
      "resume": "Instaure des points de contrôle réguliers dans les workflows longs pour valider que le modèle opère toujours dans le cadre défini et que ses sorties intermédiaires sont conformes.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "validation-continue",
        "workflow",
        "audit",
        "enterprise"
      ],
      "cumulable_avec": [
        "human-in-loop-n2",
        "agent-action-confirmation-n3"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/continuous-validation-checkpoint-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/continuous-validation-checkpoint-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/continuous-validation-checkpoint-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "nist-accountability-logging-n2",
      "code": "PS-0039",
      "titre": "Responsabilité et traçabilité des décisions IA — NIST AI RMF",
      "resume": "Instaure un mécanisme de traçabilité des décisions prises par le modèle, avec journalisation structurée pour permettre l'audit et l'imputabilité.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "audit",
        "traçabilite",
        "accountability",
        "nist",
        "enterprise"
      ],
      "cumulable_avec": [
        "explainability-on-demand-n2",
        "chain-of-thought-safety-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/nist-accountability-logging-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/nist-accountability-logging-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/nist-accountability-logging-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "nist-risk-communication-n1",
      "code": "PS-0040",
      "titre": "Communication des risques IA à l'utilisateur — NIST AI RMF",
      "resume": "Oblige le modèle à communiquer proactivement les risques associés à ses recommandations, permettant une prise de décision éclairée par l'utilisateur.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "communication-risque",
        "transparence",
        "nist",
        "basique"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1",
        "ai-transparency-declaration-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/nist-risk-communication-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/nist-risk-communication-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/nist-risk-communication-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "incident-escalation-n2",
      "code": "PS-0041",
      "titre": "Escalade d'incident et signalement des comportements anormaux",
      "resume": "Dote le modèle d'un mécanisme de signalement des incidents de sécurité et des comportements anormaux vers les équipes de gouvernance IA.",
      "owasp": [
        "LLM01",
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "incident",
        "escalade",
        "signalement",
        "nist",
        "enterprise"
      ],
      "cumulable_avec": [
        "jailbreak-detection-n2",
        "nist-accountability-logging-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "chat_interaction",
        "input_external_content",
        "new_project",
        "tool_call",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/incident-escalation-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/incident-escalation-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/incident-escalation-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso42001-ai-policy-scope-n2",
      "code": "PS-0042",
      "titre": "Déclaration de périmètre et politique IA — ISO 42001",
      "resume": "Encode dans le prompt la politique d'utilisation de l'IA de l'organisation, conforme aux exigences ISO 42001 de documentation des objectifs et périmètres des systèmes IA.",
      "owasp": [
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "gouvernance",
        "iso42001",
        "politique-ia",
        "enterprise"
      ],
      "cumulable_avec": [
        "topical-guardrail-n1",
        "system-prompt-boundaries-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso42001-ai-policy-scope-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso42001-ai-policy-scope-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso42001-ai-policy-scope-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso42001-impact-assessment-n3",
      "code": "PS-0043",
      "titre": "Évaluation d'impact avant déploiement — ISO 42001",
      "resume": "Guide le modèle à produire une évaluation d'impact structurée avant l'exécution d'actions à fort impact potentiel sur des individus ou des systèmes.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "evaluation-impact",
        "iso42001",
        "gouvernance",
        "enterprise"
      ],
      "cumulable_avec": [
        "human-in-loop-n2",
        "agent-action-confirmation-n3"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso42001-impact-assessment-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso42001-impact-assessment-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso42001-impact-assessment-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso27002-access-control-n2",
      "code": "PS-0044",
      "titre": "Contrôle d'accès aux données basé sur le rôle utilisateur — ISO 27002",
      "resume": "Applique le contrôle d'accès basé sur les rôles (RBAC) aux données accessibles par le modèle, selon le profil de l'utilisateur authentifié transmis dans le contexte.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "rbac",
        "controle-acces",
        "iso27002",
        "enterprise"
      ],
      "cumulable_avec": [
        "ai-least-privilege-n2",
        "pii-non-disclosure-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso27002-access-control-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso27002-access-control-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso27002-access-control-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso27002-audit-logging-n2",
      "code": "PS-0045",
      "titre": "Journalisation d'audit des interactions sensibles — ISO 27002",
      "resume": "Génère des événements d'audit structurés pour les interactions sensibles, permettant la collecte par l'infrastructure de logging et la conformité ISO 27002.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "audit",
        "logging",
        "iso27002",
        "enterprise"
      ],
      "cumulable_avec": [
        "nist-accountability-logging-n2",
        "incident-escalation-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso27002-audit-logging-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso27002-audit-logging-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso27002-audit-logging-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso27002-data-retention-n2",
      "code": "PS-0046",
      "titre": "Minimisation et rétention des données dans le contexte IA — ISO 27002",
      "resume": "Instruit le modèle à ne conserver que les données strictement nécessaires dans son contexte et à signaler quand des données sensibles devraient être supprimées.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "retention-donnees",
        "minimisation",
        "rgpd",
        "iso27002"
      ],
      "cumulable_avec": [
        "pii-non-disclosure-n1",
        "pii-redaction-output-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso27002-data-retention-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso27002-data-retention-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso27002-data-retention-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "iso27002-incident-classification-n2",
      "code": "PS-0047",
      "titre": "Classification des incidents de sécurité IA — ISO 27002",
      "resume": "Fournit au modèle un référentiel de classification des incidents de sécurité selon les catégories ISO 27002, pour une escalade cohérente et une réponse adaptée.",
      "owasp": [
        "LLM01",
        "LLM09"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "classification-incident",
        "iso27002",
        "escalade",
        "enterprise"
      ],
      "cumulable_avec": [
        "incident-escalation-n2",
        "jailbreak-detection-n2",
        "nist-accountability-logging-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "input_external_content",
        "new_project",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/iso27002-incident-classification-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/iso27002-incident-classification-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/iso27002-incident-classification-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "secret-detection-n2",
      "code": "PS-0048",
      "titre": "Détection et refus de secrets dans les entrées et sorties",
      "resume": "Détecte les secrets potentiels (clés API, tokens, mots de passe) dans les entrées, refuse de les reproduire en sortie, et émet un événement structuré exploitable par les pipelines CI/CD.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "secrets",
        "credentials",
        "detection",
        "developpement"
      ],
      "cumulable_avec": [
        "pii-non-disclosure-n1",
        "code-review-security-n2"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "customer_data",
        "new_project",
        "pii_in_input_or_output",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/secret-detection-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/secret-detection-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/secret-detection-n2.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "sql-injection-prevention-n2",
      "code": "PS-0049",
      "titre": "Prévention de l'injection SQL dans le code généré",
      "resume": "Configure le modèle pour générer systématiquement du code SQL sécurisé avec requêtes paramétrées, et pour signaler les patterns d'injection SQL dans le code soumis.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "sql-injection",
        "code-securise",
        "developpement",
        "owasp"
      ],
      "cumulable_avec": [
        "code-review-security-n2",
        "output-validation-before-display-n1"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/sql-injection-prevention-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/sql-injection-prevention-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/sql-injection-prevention-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "dependency-vulnerability-check-n2",
      "code": "PS-0050",
      "titre": "Vérification des dépendances pour vulnérabilités connues",
      "resume": "Demande au modèle de signaler les dépendances avec des vulnérabilités connues dans le code soumis et de recommander des alternatives sécurisées.",
      "owasp": [
        "LLM05",
        "LLM03"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "dependances",
        "cve",
        "supply-chain",
        "developpement"
      ],
      "cumulable_avec": [
        "supply-chain-awareness-n2",
        "code-review-security-n2"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "dependency_management",
        "llm_output_to_downstream",
        "new_project",
        "supply_chain",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/dependency-vulnerability-check-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/dependency-vulnerability-check-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/dependency-vulnerability-check-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "input-validation-generated-code-n2",
      "code": "PS-0051",
      "titre": "Validation des entrées systématique dans le code généré",
      "resume": "Configure le modèle pour inclure systématiquement la validation des entrées dans tout code généré exposé à des données externes.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "validation-entree",
        "code-securise",
        "developpement",
        "sanitisation"
      ],
      "cumulable_avec": [
        "sql-injection-prevention-n2",
        "code-review-security-n2"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/input-validation-generated-code-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/input-validation-generated-code-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/input-validation-generated-code-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "error-handling-security-n1",
      "code": "PS-0052",
      "titre": "Gestion d'erreurs sécurisée — ne pas exposer d'informations sensibles",
      "resume": "Configure le modèle pour générer une gestion d'erreurs qui ne révèle pas d'informations sensibles (stack traces, chemins système, détails de base de données) aux utilisateurs finaux.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "gestion-erreurs",
        "stack-trace",
        "code-securise",
        "basique"
      ],
      "cumulable_avec": [
        "code-review-security-n2",
        "output-validation-before-display-n1"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/error-handling-security-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/error-handling-security-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/error-handling-security-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "json-output-schema-n1",
      "code": "PS-0053",
      "titre": "Format de sortie JSON strict avec schéma de validation",
      "resume": "Impose un schéma JSON strict pour les sorties structurées du modèle, permettant une validation automatisée et réduisant les risques d'injection via le format.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions",
        "maitrise-couts"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "json",
        "schema",
        "validation-sortie",
        "integration"
      ],
      "cumulable_avec": [
        "output-format-contract-n1"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/json-output-schema-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/json-output-schema-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/json-output-schema-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "xss-prevention-n2",
      "code": "PS-0054",
      "titre": "Prévention du XSS dans le code front-end généré",
      "resume": "Configure le modèle pour générer du code front-end résistant au XSS, avec échappement systématique des sorties HTML et utilisation des API sécurisées du DOM.",
      "owasp": [
        "LLM05"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "xss",
        "front-end",
        "code-securise",
        "developpement"
      ],
      "cumulable_avec": [
        "input-validation-generated-code-n2",
        "code-review-security-n2"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "llm_output_to_downstream",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/xss-prevention-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/xss-prevention-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/xss-prevention-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "memory-decay-warning-n1",
      "code": "PS-0055",
      "titre": "Avertissement de dégradation de la mémoire de contexte",
      "resume": "Informe proactivement l'utilisateur quand le contexte de la session est trop long pour être maintenu fidèlement, prévenant les erreurs dues à la troncature silencieuse.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "persistance-contexte"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "memoire",
        "contexte",
        "troncature",
        "basique"
      ],
      "cumulable_avec": [
        "context-checkpoint-n1",
        "context-window-management-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/memory-decay-warning-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/memory-decay-warning-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/memory-decay-warning-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "session-reset-signal-n1",
      "code": "PS-0056",
      "titre": "Signal de réinitialisation de session et isolation des contextes",
      "resume": "Définit un signal explicite de réinitialisation de session permettant d'isoler les contextes entre différentes tâches ou utilisateurs dans une même session.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "persistance-contexte"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "session",
        "isolation",
        "reinitialisation",
        "basique"
      ],
      "cumulable_avec": [
        "context-checkpoint-n1",
        "memory-decay-warning-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "new_project",
        "pii_in_input_or_output"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/session-reset-signal-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/session-reset-signal-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/session-reset-signal-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "context-summarization-n2",
      "code": "PS-0057",
      "titre": "Résumé structuré du contexte pour compression sécurisée de session",
      "resume": "Permet au modèle de générer un résumé structuré et sécurisé du contexte de session pour compresser les longues conversations sans perdre les informations critiques.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "session-fin",
        "conditionnel"
      ],
      "piliers": [
        "persistance-contexte",
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "resumé",
        "compression-contexte",
        "sessions-longues",
        "couts"
      ],
      "cumulable_avec": [
        "memory-decay-warning-n1",
        "context-window-management-n2",
        "token-budget-instruction-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "event_triggered",
        "factual_claim_required",
        "session_end"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/context-summarization-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/context-summarization-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/context-summarization-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "token-budget-advanced-n2",
      "code": "PS-0058",
      "titre": "Budget de tokens adaptatif avec alertes de dépassement",
      "resume": "Implémente un système de budget de tokens adaptatif qui ajuste la verbosité des réponses selon le budget restant et alerte avant d'atteindre la limite.",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "tokens",
        "budget",
        "couts",
        "adaptif"
      ],
      "cumulable_avec": [
        "token-budget-instruction-n1",
        "output-length-limits-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "new_project"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/token-budget-advanced-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/token-budget-advanced-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/token-budget-advanced-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "recursive-call-prevention-n3",
      "code": "PS-0059",
      "titre": "Prévention des boucles récursives dans les pipelines agents",
      "resume": "Protège les pipelines d'agents contre les boucles de rappel récursives qui peuvent épuiser les ressources et générer des coûts non bornés.",
      "owasp": [
        "LLM10",
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "maitrise-couts",
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "boucle",
        "recursivite",
        "agent",
        "couts",
        "dos"
      ],
      "cumulable_avec": [
        "output-length-limits-n2",
        "continuous-validation-checkpoint-n2",
        "human-in-loop-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "high_volume_input",
        "long_session",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/recursive-call-prevention-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/recursive-call-prevention-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/recursive-call-prevention-n3.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "cost-transparency-n1",
      "code": "PS-0060",
      "titre": "Transparence sur les coûts estimés des opérations IA",
      "resume": "Informe proactivement l'utilisateur quand une opération risque d'être coûteuse en tokens, permettant une prise de décision éclairée sur l'utilisation des ressources.",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "couts",
        "transparence",
        "tokens",
        "basique"
      ],
      "cumulable_avec": [
        "token-budget-instruction-n1",
        "token-budget-advanced-n2",
        "output-length-limits-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/cost-transparency-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/cost-transparency-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/cost-transparency-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "plan-execute-separation-n3",
      "code": "PS-0061",
      "titre": "Séparation explicite des phases de planification et d'exécution",
      "resume": "Interdit à l'agent d'exécuter directement ses propres plans — chaque action proposée passe par une phase d'évaluation explicite avant toute exécution. Plan, validation et exécution sont consignés dans un journal append-only.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "agent",
        "planification",
        "execution",
        "architecture",
        "enterprise"
      ],
      "cumulable_avec": [
        "human-in-loop-n2",
        "agent-action-confirmation-n3",
        "minimal-tool-access-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/plan-execute-separation-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/plan-execute-separation-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/plan-execute-separation-n3.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "persistent-memory-poisoning-n3",
      "code": "PS-0062",
      "titre": "Protection contre l'empoisonnement de mémoire persistante inter-sessions",
      "resume": "Protège les systèmes d'agents avec mémoire à long terme contre l'écriture de contenu malveillant qui persisterait et influencerait les sessions futures.",
      "owasp": [
        "LLM04",
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions",
        "persistance-contexte"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "memoire-persistante",
        "inter-sessions",
        "poisoning",
        "agent",
        "enterprise"
      ],
      "cumulable_avec": [
        "data-poisoning-detection-n2",
        "rag-source-validation-n2",
        "session-reset-signal-n1"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "input_external_content",
        "new_project",
        "rag_ingestion",
        "training_data",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/persistent-memory-poisoning-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/persistent-memory-poisoning-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/persistent-memory-poisoning-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "agent-identity-verification-n3",
      "code": "PS-0063",
      "titre": "Vérification d'identité dans les communications agent-à-agent",
      "resume": "Dans les pipelines multi-agents, oblige chaque agent à valider l'identité de son appelant avant d'exécuter des instructions — refuse toute identité déclarée non vérifiable.",
      "owasp": [
        "LLM06",
        "LLM01"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "multi-agents",
        "identite",
        "a2a",
        "confiance",
        "enterprise"
      ],
      "cumulable_avec": [
        "subagent-scope-isolation-n3",
        "plan-execute-separation-n3",
        "minimal-tool-access-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "input_external_content",
        "new_project",
        "tool_call",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/agent-identity-verification-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/agent-identity-verification-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/agent-identity-verification-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "scoped-approval-anti-replay-n3",
      "code": "PS-0064",
      "titre": "Approbations scopées et non rejouables pour les actions agents",
      "resume": "Lie chaque approbation humaine à l'action exacte pour laquelle elle a été donnée — empêche la réutilisation d'une approbation passée pour une action différente ou ultérieure.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "approbation",
        "anti-rejeu",
        "agent",
        "audit",
        "enterprise"
      ],
      "cumulable_avec": [
        "human-in-loop-n2",
        "plan-execute-separation-n3",
        "agent-action-confirmation-n3"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/scoped-approval-anti-replay-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/scoped-approval-anti-replay-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/scoped-approval-anti-replay-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "tool-chain-detection-n3",
      "code": "PS-0065",
      "titre": "Détection du chaînage d'outils créant des capacités non intentionnelles",
      "resume": "Oblige l'agent à évaluer l'effet combiné d'une séquence d'appels d'outils, et pas seulement chaque appel individuellement — détecte les capacités émergentes non prévues.",
      "owasp": [
        "LLM06"
      ],
      "moments": [
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "chainage-outils",
        "capacite-emergente",
        "agent",
        "securite-composition",
        "enterprise"
      ],
      "cumulable_avec": [
        "plan-execute-separation-n3",
        "minimal-tool-access-n2",
        "continuous-validation-checkpoint-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "new_project",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/tool-chain-detection-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/tool-chain-detection-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/tool-chain-detection-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "structured-output-long-document-n1",
      "code": "PS-0066",
      "titre": "Structure imposée pour les productions longues",
      "resume": "Impose au modèle une structure obligatoire (résumé, sections numérotées, incertitudes, prochaine étape) pour toute production dépassant 500 mots, évitant les murs de texte non navigables.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "document",
        "rapport",
        "structure",
        "long-form",
        "présentation"
      ],
      "cumulable_avec": [
        "role-anchoring-n1",
        "output-format-contract-n1",
        "factual-uncertainty-declaration-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/structured-output-long-document-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/structured-output-long-document-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/structured-output-long-document-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "chunked-data-processing-n2",
      "code": "PS-0067",
      "titre": "Traitement par lots pour les grands volumes de données",
      "resume": "Protocole de traitement séquentiel pour les données volumineuses : l'IA traite par segments définis, confirme sa progression et signale les anomalies, évitant les troncatures silencieuses ou les inférences non contrôlées.",
      "owasp": [
        "LLM10",
        "LLM09"
      ],
      "moments": [
        "session-debut",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions",
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "données",
        "batch",
        "traitement",
        "volume",
        "chunks",
        "csv",
        "dataset"
      ],
      "cumulable_avec": [
        "statistical-uncertainty-declaration-n1",
        "token-budget-advanced-n2",
        "context-summarization-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "high_volume_input",
        "long_session",
        "new_project",
        "session_start"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/chunked-data-processing-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/chunked-data-processing-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/chunked-data-processing-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "statistical-uncertainty-declaration-n1",
      "code": "PS-0068",
      "titre": "Déclaration d'incertitude sur les calculs statistiques",
      "resume": "Impose au modèle de distinguer calculs exacts, estimations et corrélations, et de déclarer explicitement son niveau de confiance et les données manquantes pour chaque résultat numérique.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "statistiques",
        "calculs",
        "incertitude",
        "données",
        "confiance",
        "analyse"
      ],
      "cumulable_avec": [
        "factual-uncertainty-declaration-n1",
        "citation-required-n2",
        "chain-of-thought-safety-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/statistical-uncertainty-declaration-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/statistical-uncertainty-declaration-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/statistical-uncertainty-declaration-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "session-handoff-briefing-n1",
      "code": "PS-0069",
      "titre": "Briefing de reprise sur projet existant",
      "resume": "Demande au modèle de se repositionner sur l'état d'un projet avant de continuer, en listant ce qui a été accompli, les décisions actives, les contraintes en cours et le point de reprise exact.",
      "owasp": [],
      "moments": [
        "session-debut"
      ],
      "piliers": [
        "persistance-contexte"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "session",
        "reprise",
        "contexte",
        "projet",
        "handoff",
        "continuité"
      ],
      "cumulable_avec": [
        "context-checkpoint-n1",
        "memory-decay-warning-n1",
        "session-reset-signal-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "session_start"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/session-handoff-briefing-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/session-handoff-briefing-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/session-handoff-briefing-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "web-source-reliability-filter-n2",
      "code": "PS-0070",
      "titre": "Filtre de fiabilité des sources web",
      "resume": "Impose au modèle de qualifier chaque source web utilisée selon quatre niveaux de fiabilité (vérifiable, à vérifier, non fiable, possiblement obsolète) et d'en indiquer le statut pour chaque information citée.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "sources",
        "web",
        "veille",
        "fiabilité",
        "recherche",
        "RAG",
        "citations"
      ],
      "cumulable_avec": [
        "citation-required-n2",
        "factual-uncertainty-declaration-n1",
        "rag-source-validation-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/web-source-reliability-filter-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/web-source-reliability-filter-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/web-source-reliability-filter-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "decision-trace-log-n2",
      "code": "PS-0071",
      "titre": "Journal de décisions de session",
      "resume": "Active un journal structuré que l'IA maintient tout au long de la session : chaque décision significative est tracée avec son contexte, le choix retenu, les alternatives écartées et le niveau de confiance.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "session-debut",
        "projet-debut"
      ],
      "piliers": [
        "persistance-contexte",
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "audit",
        "décisions",
        "log",
        "traçabilité",
        "gouvernance",
        "session"
      ],
      "cumulable_avec": [
        "audit-log-query-n1",
        "decision-summary-by-category-n1",
        "self-review-external-opinion-n2",
        "architecture-decision-record-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "session_start"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/decision-trace-log-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/decision-trace-log-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/decision-trace-log-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "audit-log-query-n1",
      "code": "PS-0072",
      "titre": "Consultation de l'audit log de session",
      "resume": "Prompt de consultation : demande à l'IA de lister toutes les décisions significatives prises depuis le début de la conversation, qu'un journal soit actif ou non.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "session-fin",
        "conditionnel"
      ],
      "piliers": [
        "persistance-contexte",
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "audit",
        "log",
        "consultation",
        "décisions",
        "traçabilité",
        "gouvernance"
      ],
      "cumulable_avec": [
        "decision-trace-log-n2",
        "decision-summary-by-category-n1",
        "self-review-external-opinion-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "event_triggered",
        "factual_claim_required",
        "session_end"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/audit-log-query-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/audit-log-query-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/audit-log-query-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "decision-summary-by-category-n1",
      "code": "PS-0073",
      "titre": "Résumé structuré des décisions par catégorie",
      "resume": "Produit une synthèse des décisions de session organisée par catégorie (technique, éditorial, sécurité, hypothèses), avec identification des décisions à fort impact et des points nécessitant validation humaine avant livraison.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "session-fin",
        "conditionnel"
      ],
      "piliers": [
        "persistance-contexte",
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "audit",
        "résumé",
        "catégories",
        "gouvernance",
        "livraison",
        "validation"
      ],
      "cumulable_avec": [
        "decision-trace-log-n2",
        "audit-log-query-n1",
        "self-review-external-opinion-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "event_triggered",
        "factual_claim_required",
        "session_end"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/decision-summary-by-category-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/decision-summary-by-category-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/decision-summary-by-category-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "self-review-external-opinion-n2",
      "code": "PS-0074",
      "titre": "Avis externe de l'IA sur son propre travail",
      "resume": "L'IA adopte le rôle d'un reviewer pair qui n'a pas participé au travail, évalue ses propres décisions et productions de façon critique, et déclare explicitement ses biais d'auto-évaluation avant de conclure.",
      "owasp": [
        "LLM09"
      ],
      "moments": [
        "session-fin",
        "conditionnel"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "review",
        "critique",
        "audit",
        "gouvernance",
        "auto-évaluation",
        "qualité"
      ],
      "cumulable_avec": [
        "decision-trace-log-n2",
        "audit-log-query-n1",
        "decision-summary-by-category-n1",
        "human-in-loop-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "event_triggered",
        "factual_claim_required",
        "session_end"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/self-review-external-opinion-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/self-review-external-opinion-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/self-review-external-opinion-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.1"
    },
    {
      "id": "architecture-decision-record-n1",
      "code": "PS-0075",
      "titre": "Architecture Decision Record (ADR) automatique",
      "resume": "Pour chaque choix architectural pris pendant une session de développement, l'IA génère un ADR structuré (contexte, décision, alternatives, conséquences, condition de révision) et maintient un index versionné de toutes les décisions.",
      "owasp": [],
      "moments": [
        "projet-debut",
        "session-debut"
      ],
      "piliers": [
        "persistance-contexte",
        "securite-productions"
      ],
      "type_ia": "dev-autonome",
      "niveau": "N1",
      "langue_recommandee": "en",
      "tags": [
        "ADR",
        "architecture",
        "décision",
        "développement",
        "documentation",
        "traçabilité"
      ],
      "cumulable_avec": [
        "decision-trace-log-n2",
        "code-review-security-n2",
        "dependency-vulnerability-check-n2",
        "self-review-external-opinion-n2"
      ],
      "triggers_heuristiques": [
        "code_generation",
        "new_project",
        "session_start"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/architecture-decision-record-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/architecture-decision-record-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/architecture-decision-record-n1.json"
      },
      "date_maj": "2026-05-21",
      "version": "1.1"
    },
    {
      "id": "tool-permission-declaration-n2",
      "code": "PS-0076",
      "titre": "Déclaration explicite d'intention avant appel d'outil",
      "resume": "Avant chaque appel d'outil, l'agent déclare quel outil il va invoquer, avec quels paramètres, et pourquoi — granulaire (à chaque appel), différent de la séparation plan/exécution qui est globale.",
      "owasp": [
        "LLM06",
        "LLM05"
      ],
      "moments": [
        "projet-debut",
        "session-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "outils",
        "transparence",
        "agent",
        "audit",
        "consentement"
      ],
      "cumulable_avec": [
        "plan-execute-separation-n3",
        "minimal-tool-access-n2",
        "scoped-approval-anti-replay-n3",
        "tool-intent-result-divergence-n3",
        "human-in-loop-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "llm_output_to_downstream",
        "new_project",
        "session_start",
        "tool_call"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/tool-permission-declaration-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/tool-permission-declaration-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/tool-permission-declaration-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "tool-intent-result-divergence-n3",
      "code": "PS-0077",
      "titre": "Détection de divergence intention vs résultat d'outil",
      "resume": "Compare le résultat effectif de chaque appel d'outil à l'intention déclarée avant exécution — détecte les manipulations (injection via résultat), les dérives silencieuses (modification d'arguments par un agent intermédiaire) et les anomalies.",
      "owasp": [
        "LLM01",
        "LLM06",
        "LLM05"
      ],
      "moments": [
        "projet-debut",
        "session-debut",
        "conditionnel"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N3",
      "langue_recommandee": "indifferent",
      "tags": [
        "outils",
        "agent",
        "injection",
        "detection",
        "audit"
      ],
      "cumulable_avec": [
        "tool-permission-declaration-n2",
        "rag-data-instruction-split-n2",
        "incident-escalation-n2",
        "human-in-loop-n2",
        "guardrail-input-filter-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "event_triggered",
        "input_external_content",
        "llm_output_to_downstream",
        "new_project",
        "session_start",
        "tool_call",
        "untrusted_input"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/tool-intent-result-divergence-n3/",
        "prompt_json": "https://promptsecops.fr/data/prompts/tool-intent-result-divergence-n3.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/tool-intent-result-divergence-n3.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "token-budget-proactive-alert-n2",
      "code": "PS-0078",
      "titre": "Alertes proactives au franchissement de seuils de contexte (70/90/100 %)",
      "resume": "L'IA surveille en continu sa consommation de contexte et prévient explicitement au franchissement de 70 %, 90 % et 100 % de la fenêtre — avec une action prescrite à chaque palier (résumé, handoff, stop).",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "profil",
        "projet-debut",
        "session-debut"
      ],
      "piliers": [
        "maitrise-couts",
        "persistance-contexte"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "tokens",
        "alertes",
        "budget",
        "contexte",
        "proactif"
      ],
      "cumulable_avec": [
        "token-budget-instruction-n1",
        "token-budget-advanced-n2",
        "session-handoff-briefing-n1",
        "context-summarization-n2",
        "memory-decay-warning-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "new_project",
        "session_start",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/token-budget-proactive-alert-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/token-budget-proactive-alert-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/token-budget-proactive-alert-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "cost-report-session-end-n1",
      "code": "PS-0079",
      "titre": "Récapitulatif coût et consommation en fin de session",
      "resume": "À la clôture de chaque session, l'IA produit un rapport synthétique : tokens consommés, coût estimé, opérations les plus coûteuses, recommandations d'optimisation pour la session suivante.",
      "owasp": [
        "LLM10"
      ],
      "moments": [
        "profil",
        "session-fin",
        "projet-fin"
      ],
      "piliers": [
        "maitrise-couts"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N1",
      "langue_recommandee": "indifferent",
      "tags": [
        "couts",
        "tokens",
        "session",
        "reporting",
        "fin"
      ],
      "cumulable_avec": [
        "cost-transparency-n1",
        "token-budget-proactive-alert-n2",
        "session-handoff-briefing-n1",
        "session-reset-signal-n1",
        "context-checkpoint-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "high_volume_input",
        "long_session",
        "project_completion",
        "session_end",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/cost-report-session-end-n1/",
        "prompt_json": "https://promptsecops.fr/data/prompts/cost-report-session-end-n1.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/cost-report-session-end-n1.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "document-integrity-check-n2",
      "code": "PS-0080",
      "titre": "Vérification d'intégrité des documents avant ingestion RAG",
      "resume": "Avant tout traitement d'un document dans une chaîne RAG, l'agent vérifie son intégrité (hash, source, date, signature) et bloque les écarts par rapport au manifeste attendu — première ligne de défense contre l'empoisonnement.",
      "owasp": [
        "LLM04",
        "LLM08"
      ],
      "moments": [
        "projet-debut",
        "session-debut",
        "conditionnel"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "agent-plugins",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "rag",
        "integrite",
        "hash",
        "empoisonnement",
        "validation"
      ],
      "cumulable_avec": [
        "data-poisoning-detection-n2",
        "rag-source-validation-n2",
        "rag-data-instruction-split-n2",
        "supply-chain-awareness-n2",
        "incident-escalation-n2"
      ],
      "triggers_heuristiques": [
        "agent_with_tools",
        "embedding_search",
        "event_triggered",
        "new_project",
        "rag_ingestion",
        "session_start",
        "training_data",
        "vector_db_present"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/document-integrity-check-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/document-integrity-check-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/document-integrity-check-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "source-diversity-requirement-n2",
      "code": "PS-0081",
      "titre": "Exigence de diversité des sources pour les affirmations factuelles",
      "resume": "Toute affirmation factuelle non triviale doit reposer sur au moins 2 sources distinctes (auteurs/organisations différents) — protection contre la monoculture informationnelle, le biais d'écho et l'empoisonnement de source unique.",
      "owasp": [
        "LLM09",
        "LLM04"
      ],
      "moments": [
        "profil",
        "projet-debut"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "sources",
        "diversite",
        "anti-monoculture",
        "verification",
        "factuel"
      ],
      "cumulable_avec": [
        "citation-required-n2",
        "web-source-reliability-filter-n2",
        "factual-uncertainty-declaration-n1",
        "rag-source-validation-n2",
        "self-review-external-opinion-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "citation_needed",
        "factual_claim_required",
        "new_project",
        "rag_ingestion",
        "training_data",
        "user_setup"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/source-diversity-requirement-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/source-diversity-requirement-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/source-diversity-requirement-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "rgpd-erasure-trigger-n2",
      "code": "PS-0082",
      "titre": "Déclenchement de la procédure RGPD droit à l'effacement (Art. 17)",
      "resume": "Détecte automatiquement les demandes d'effacement RGPD dans une conversation IA, valide leur recevabilité, déclenche la procédure formelle et trace la demande pour conformité — sans jamais effacer de lui-même les données.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "projet-debut",
        "conditionnel"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "rgpd",
        "art-17",
        "effacement",
        "conformite",
        "trigger"
      ],
      "cumulable_avec": [
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "rgpd-dsar-formatting-n2",
        "audit-log-query-n1",
        "incident-escalation-n2"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "event_triggered",
        "new_project",
        "pii_in_input_or_output"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/rgpd-erasure-trigger-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/rgpd-erasure-trigger-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/rgpd-erasure-trigger-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    },
    {
      "id": "rgpd-dsar-formatting-n2",
      "code": "PS-0083",
      "titre": "Formattage automatisé des demandes d'accès RGPD (DSAR — Art. 15)",
      "resume": "Quand le DPO fournit les données brutes d'un utilisateur à inclure dans une réponse à demande d'accès (Art. 15 RGPD), l'agent les formatte de manière compréhensible, complète et conforme — sans inventer ni omettre.",
      "owasp": [
        "LLM02"
      ],
      "moments": [
        "projet-debut",
        "conditionnel"
      ],
      "piliers": [
        "securite-productions"
      ],
      "type_ia": "conversationnelle",
      "niveau": "N2",
      "langue_recommandee": "indifferent",
      "tags": [
        "rgpd",
        "art-15",
        "dsar",
        "acces",
        "conformite"
      ],
      "cumulable_avec": [
        "rgpd-erasure-trigger-n2",
        "pii-redaction-output-n2",
        "pii-output-filter-n2",
        "iso27002-data-retention-n2",
        "audit-log-query-n1"
      ],
      "triggers_heuristiques": [
        "chat_interaction",
        "customer_data",
        "event_triggered",
        "new_project",
        "pii_in_input_or_output"
      ],
      "urls": {
        "fiche": "https://promptsecops.fr/prompt/rgpd-dsar-formatting-n2/",
        "prompt_json": "https://promptsecops.fr/data/prompts/rgpd-dsar-formatting-n2.json",
        "exemple_json": "https://promptsecops.fr/data/exemples/rgpd-dsar-formatting-n2.json"
      },
      "date_maj": "2026-05-22",
      "version": "1.0"
    }
  ],
  "indexes": {
    "by_owasp": {
      "LLM01": [
        "agent-identity-verification-n3",
        "context-window-management-n2",
        "developer-message-priority-n1",
        "direct-injection-separator-n2",
        "guardrail-input-filter-n2",
        "incident-escalation-n2",
        "input-length-limits-n1",
        "iso27002-incident-classification-n2",
        "iso42001-ai-policy-scope-n2",
        "jailbreak-detection-n2",
        "persistent-memory-poisoning-n3",
        "prefill-defense-n2",
        "prompt-extraction-resistance-n2",
        "rag-data-instruction-split-n2",
        "role-anchoring-n1",
        "subagent-scope-isolation-n3",
        "system-prompt-boundaries-n1",
        "tool-intent-result-divergence-n3",
        "topical-guardrail-n1",
        "xml-structuring-n1"
      ],
      "LLM05": [
        "code-review-security-n2",
        "dependency-vulnerability-check-n2",
        "error-handling-security-n1",
        "input-validation-generated-code-n2",
        "json-output-schema-n1",
        "output-format-contract-n1",
        "output-validation-before-display-n1",
        "rag-data-instruction-split-n2",
        "sql-injection-prevention-n2",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2",
        "xss-prevention-n2"
      ],
      "LLM10": [
        "chunked-data-processing-n2",
        "cost-report-session-end-n1",
        "cost-transparency-n1",
        "input-length-limits-n1",
        "output-length-limits-n2",
        "recursive-call-prevention-n3",
        "token-budget-advanced-n2",
        "token-budget-instruction-n1",
        "token-budget-proactive-alert-n2"
      ],
      "LLM06": [
        "agent-action-confirmation-n3",
        "agent-identity-verification-n3",
        "ai-least-privilege-n2",
        "continuous-validation-checkpoint-n2",
        "human-in-loop-n2",
        "incident-escalation-n2",
        "iso42001-impact-assessment-n3",
        "minimal-tool-access-n2",
        "plan-execute-separation-n3",
        "recursive-call-prevention-n3",
        "scoped-approval-anti-replay-n3",
        "subagent-scope-isolation-n3",
        "tool-chain-detection-n3",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2"
      ],
      "LLM02": [
        "iso27002-access-control-n2",
        "iso27002-data-retention-n2",
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "secret-detection-n2",
        "session-reset-signal-n1"
      ],
      "LLM07": [
        "prompt-extraction-resistance-n2",
        "system-prompt-confidentiality-n1"
      ],
      "LLM09": [
        "ai-transparency-declaration-n1",
        "audit-log-query-n1",
        "bias-detection-flagging-n2",
        "chain-of-thought-safety-n2",
        "chunked-data-processing-n2",
        "citation-required-n2",
        "context-summarization-n2",
        "decision-summary-by-category-n1",
        "decision-trace-log-n2",
        "explainability-on-demand-n2",
        "factual-uncertainty-declaration-n1",
        "iso27002-audit-logging-n2",
        "iso27002-incident-classification-n2",
        "memory-decay-warning-n1",
        "nist-accountability-logging-n2",
        "nist-risk-communication-n1",
        "self-review-external-opinion-n2",
        "source-diversity-requirement-n2",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "web-source-reliability-filter-n2"
      ],
      "LLM03": [
        "dependency-vulnerability-check-n2",
        "supply-chain-awareness-n2"
      ],
      "LLM04": [
        "data-poisoning-detection-n2",
        "document-integrity-check-n2",
        "persistent-memory-poisoning-n3",
        "source-diversity-requirement-n2"
      ],
      "LLM08": [
        "document-integrity-check-n2",
        "rag-source-validation-n2"
      ]
    },
    "by_moment": {
      "projet-debut": [
        "agent-action-confirmation-n3",
        "agent-identity-verification-n3",
        "ai-least-privilege-n2",
        "ai-transparency-declaration-n1",
        "architecture-decision-record-n1",
        "bias-detection-flagging-n2",
        "chain-of-thought-safety-n2",
        "chunked-data-processing-n2",
        "citation-required-n2",
        "code-review-security-n2",
        "context-window-management-n2",
        "continuous-validation-checkpoint-n2",
        "cost-transparency-n1",
        "data-poisoning-detection-n2",
        "decision-trace-log-n2",
        "dependency-vulnerability-check-n2",
        "developer-message-priority-n1",
        "direct-injection-separator-n2",
        "document-integrity-check-n2",
        "error-handling-security-n1",
        "explainability-on-demand-n2",
        "factual-uncertainty-declaration-n1",
        "guardrail-input-filter-n2",
        "human-in-loop-n2",
        "incident-escalation-n2",
        "input-length-limits-n1",
        "input-validation-generated-code-n2",
        "iso27002-access-control-n2",
        "iso27002-audit-logging-n2",
        "iso27002-data-retention-n2",
        "iso27002-incident-classification-n2",
        "iso42001-ai-policy-scope-n2",
        "iso42001-impact-assessment-n3",
        "jailbreak-detection-n2",
        "json-output-schema-n1",
        "memory-decay-warning-n1",
        "minimal-tool-access-n2",
        "nist-accountability-logging-n2",
        "nist-risk-communication-n1",
        "output-format-contract-n1",
        "output-length-limits-n2",
        "output-validation-before-display-n1",
        "persistent-memory-poisoning-n3",
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "plan-execute-separation-n3",
        "prefill-defense-n2",
        "prompt-extraction-resistance-n2",
        "rag-data-instruction-split-n2",
        "rag-source-validation-n2",
        "recursive-call-prevention-n3",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "role-anchoring-n1",
        "scoped-approval-anti-replay-n3",
        "secret-detection-n2",
        "session-reset-signal-n1",
        "source-diversity-requirement-n2",
        "sql-injection-prevention-n2",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "subagent-scope-isolation-n3",
        "supply-chain-awareness-n2",
        "system-prompt-boundaries-n1",
        "system-prompt-confidentiality-n1",
        "token-budget-advanced-n2",
        "token-budget-instruction-n1",
        "token-budget-proactive-alert-n2",
        "tool-chain-detection-n3",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2",
        "topical-guardrail-n1",
        "web-source-reliability-filter-n2",
        "xml-structuring-n1",
        "xss-prevention-n2"
      ],
      "session-debut": [
        "architecture-decision-record-n1",
        "chunked-data-processing-n2",
        "context-checkpoint-n1",
        "decision-trace-log-n2",
        "document-integrity-check-n2",
        "session-handoff-briefing-n1",
        "token-budget-proactive-alert-n2",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2"
      ],
      "conditionnel": [
        "audit-log-query-n1",
        "context-checkpoint-n1",
        "context-summarization-n2",
        "decision-summary-by-category-n1",
        "document-integrity-check-n2",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "self-review-external-opinion-n2",
        "tool-intent-result-divergence-n3"
      ],
      "profil": [
        "citation-required-n2",
        "code-review-security-n2",
        "cost-report-session-end-n1",
        "cost-transparency-n1",
        "dependency-vulnerability-check-n2",
        "error-handling-security-n1",
        "factual-uncertainty-declaration-n1",
        "input-validation-generated-code-n2",
        "memory-decay-warning-n1",
        "nist-risk-communication-n1",
        "output-validation-before-display-n1",
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "secret-detection-n2",
        "source-diversity-requirement-n2",
        "sql-injection-prevention-n2",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "supply-chain-awareness-n2",
        "token-budget-instruction-n1",
        "token-budget-proactive-alert-n2",
        "web-source-reliability-filter-n2",
        "xss-prevention-n2"
      ],
      "session-fin": [
        "audit-log-query-n1",
        "context-summarization-n2",
        "cost-report-session-end-n1",
        "decision-summary-by-category-n1",
        "self-review-external-opinion-n2"
      ],
      "projet-fin": [
        "cost-report-session-end-n1"
      ]
    },
    "by_pilier": {
      "securite-productions": [
        "agent-action-confirmation-n3",
        "agent-identity-verification-n3",
        "ai-least-privilege-n2",
        "ai-transparency-declaration-n1",
        "architecture-decision-record-n1",
        "audit-log-query-n1",
        "bias-detection-flagging-n2",
        "chain-of-thought-safety-n2",
        "chunked-data-processing-n2",
        "citation-required-n2",
        "code-review-security-n2",
        "context-window-management-n2",
        "continuous-validation-checkpoint-n2",
        "data-poisoning-detection-n2",
        "decision-summary-by-category-n1",
        "decision-trace-log-n2",
        "dependency-vulnerability-check-n2",
        "developer-message-priority-n1",
        "direct-injection-separator-n2",
        "document-integrity-check-n2",
        "error-handling-security-n1",
        "explainability-on-demand-n2",
        "factual-uncertainty-declaration-n1",
        "guardrail-input-filter-n2",
        "human-in-loop-n2",
        "incident-escalation-n2",
        "input-length-limits-n1",
        "input-validation-generated-code-n2",
        "iso27002-access-control-n2",
        "iso27002-audit-logging-n2",
        "iso27002-data-retention-n2",
        "iso27002-incident-classification-n2",
        "iso42001-ai-policy-scope-n2",
        "iso42001-impact-assessment-n3",
        "jailbreak-detection-n2",
        "json-output-schema-n1",
        "minimal-tool-access-n2",
        "nist-accountability-logging-n2",
        "nist-risk-communication-n1",
        "output-format-contract-n1",
        "output-length-limits-n2",
        "output-validation-before-display-n1",
        "persistent-memory-poisoning-n3",
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "plan-execute-separation-n3",
        "prefill-defense-n2",
        "prompt-extraction-resistance-n2",
        "rag-data-instruction-split-n2",
        "rag-source-validation-n2",
        "recursive-call-prevention-n3",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "role-anchoring-n1",
        "scoped-approval-anti-replay-n3",
        "secret-detection-n2",
        "self-review-external-opinion-n2",
        "source-diversity-requirement-n2",
        "sql-injection-prevention-n2",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "subagent-scope-isolation-n3",
        "supply-chain-awareness-n2",
        "system-prompt-boundaries-n1",
        "system-prompt-confidentiality-n1",
        "tool-chain-detection-n3",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2",
        "topical-guardrail-n1",
        "web-source-reliability-filter-n2",
        "xml-structuring-n1",
        "xss-prevention-n2"
      ],
      "persistance-contexte": [
        "architecture-decision-record-n1",
        "audit-log-query-n1",
        "context-checkpoint-n1",
        "context-summarization-n2",
        "context-window-management-n2",
        "decision-summary-by-category-n1",
        "decision-trace-log-n2",
        "memory-decay-warning-n1",
        "persistent-memory-poisoning-n3",
        "session-handoff-briefing-n1",
        "session-reset-signal-n1",
        "token-budget-proactive-alert-n2"
      ],
      "maitrise-couts": [
        "chunked-data-processing-n2",
        "context-summarization-n2",
        "cost-report-session-end-n1",
        "cost-transparency-n1",
        "input-length-limits-n1",
        "json-output-schema-n1",
        "output-format-contract-n1",
        "output-length-limits-n2",
        "recursive-call-prevention-n3",
        "token-budget-advanced-n2",
        "token-budget-instruction-n1",
        "token-budget-proactive-alert-n2"
      ]
    },
    "by_type_ia": {
      "conversationnelle": [
        "ai-transparency-declaration-n1",
        "audit-log-query-n1",
        "bias-detection-flagging-n2",
        "chain-of-thought-safety-n2",
        "chunked-data-processing-n2",
        "citation-required-n2",
        "context-checkpoint-n1",
        "context-summarization-n2",
        "context-window-management-n2",
        "cost-report-session-end-n1",
        "cost-transparency-n1",
        "data-poisoning-detection-n2",
        "decision-summary-by-category-n1",
        "decision-trace-log-n2",
        "developer-message-priority-n1",
        "direct-injection-separator-n2",
        "explainability-on-demand-n2",
        "factual-uncertainty-declaration-n1",
        "guardrail-input-filter-n2",
        "incident-escalation-n2",
        "input-length-limits-n1",
        "iso27002-access-control-n2",
        "iso27002-audit-logging-n2",
        "iso27002-data-retention-n2",
        "iso27002-incident-classification-n2",
        "iso42001-ai-policy-scope-n2",
        "jailbreak-detection-n2",
        "memory-decay-warning-n1",
        "nist-accountability-logging-n2",
        "nist-risk-communication-n1",
        "output-format-contract-n1",
        "output-length-limits-n2",
        "output-validation-before-display-n1",
        "pii-non-disclosure-n1",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "prefill-defense-n2",
        "prompt-extraction-resistance-n2",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "role-anchoring-n1",
        "self-review-external-opinion-n2",
        "session-handoff-briefing-n1",
        "session-reset-signal-n1",
        "source-diversity-requirement-n2",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "system-prompt-boundaries-n1",
        "system-prompt-confidentiality-n1",
        "token-budget-advanced-n2",
        "token-budget-instruction-n1",
        "token-budget-proactive-alert-n2",
        "topical-guardrail-n1",
        "web-source-reliability-filter-n2",
        "xml-structuring-n1"
      ],
      "agent-plugins": [
        "agent-action-confirmation-n3",
        "agent-identity-verification-n3",
        "ai-least-privilege-n2",
        "continuous-validation-checkpoint-n2",
        "document-integrity-check-n2",
        "human-in-loop-n2",
        "iso42001-impact-assessment-n3",
        "minimal-tool-access-n2",
        "persistent-memory-poisoning-n3",
        "plan-execute-separation-n3",
        "rag-data-instruction-split-n2",
        "rag-source-validation-n2",
        "recursive-call-prevention-n3",
        "scoped-approval-anti-replay-n3",
        "subagent-scope-isolation-n3",
        "supply-chain-awareness-n2",
        "tool-chain-detection-n3",
        "tool-intent-result-divergence-n3",
        "tool-permission-declaration-n2"
      ],
      "dev-autonome": [
        "architecture-decision-record-n1",
        "code-review-security-n2",
        "dependency-vulnerability-check-n2",
        "error-handling-security-n1",
        "input-validation-generated-code-n2",
        "json-output-schema-n1",
        "secret-detection-n2",
        "sql-injection-prevention-n2",
        "xss-prevention-n2"
      ]
    },
    "by_niveau": {
      "N1": [
        "ai-transparency-declaration-n1",
        "architecture-decision-record-n1",
        "audit-log-query-n1",
        "context-checkpoint-n1",
        "cost-report-session-end-n1",
        "cost-transparency-n1",
        "decision-summary-by-category-n1",
        "developer-message-priority-n1",
        "error-handling-security-n1",
        "factual-uncertainty-declaration-n1",
        "input-length-limits-n1",
        "json-output-schema-n1",
        "memory-decay-warning-n1",
        "nist-risk-communication-n1",
        "output-format-contract-n1",
        "output-validation-before-display-n1",
        "pii-non-disclosure-n1",
        "role-anchoring-n1",
        "session-handoff-briefing-n1",
        "session-reset-signal-n1",
        "statistical-uncertainty-declaration-n1",
        "structured-output-long-document-n1",
        "system-prompt-boundaries-n1",
        "system-prompt-confidentiality-n1",
        "token-budget-instruction-n1",
        "topical-guardrail-n1",
        "xml-structuring-n1"
      ],
      "N2": [
        "ai-least-privilege-n2",
        "bias-detection-flagging-n2",
        "chain-of-thought-safety-n2",
        "chunked-data-processing-n2",
        "citation-required-n2",
        "code-review-security-n2",
        "context-summarization-n2",
        "context-window-management-n2",
        "continuous-validation-checkpoint-n2",
        "data-poisoning-detection-n2",
        "decision-trace-log-n2",
        "dependency-vulnerability-check-n2",
        "direct-injection-separator-n2",
        "document-integrity-check-n2",
        "explainability-on-demand-n2",
        "guardrail-input-filter-n2",
        "human-in-loop-n2",
        "incident-escalation-n2",
        "input-validation-generated-code-n2",
        "iso27002-access-control-n2",
        "iso27002-audit-logging-n2",
        "iso27002-data-retention-n2",
        "iso27002-incident-classification-n2",
        "iso42001-ai-policy-scope-n2",
        "jailbreak-detection-n2",
        "minimal-tool-access-n2",
        "nist-accountability-logging-n2",
        "output-length-limits-n2",
        "pii-output-filter-n2",
        "pii-redaction-output-n2",
        "prefill-defense-n2",
        "prompt-extraction-resistance-n2",
        "rag-data-instruction-split-n2",
        "rag-source-validation-n2",
        "rgpd-dsar-formatting-n2",
        "rgpd-erasure-trigger-n2",
        "secret-detection-n2",
        "self-review-external-opinion-n2",
        "source-diversity-requirement-n2",
        "sql-injection-prevention-n2",
        "supply-chain-awareness-n2",
        "token-budget-advanced-n2",
        "token-budget-proactive-alert-n2",
        "tool-permission-declaration-n2",
        "web-source-reliability-filter-n2",
        "xss-prevention-n2"
      ],
      "N3": [
        "agent-action-confirmation-n3",
        "agent-identity-verification-n3",
        "iso42001-impact-assessment-n3",
        "persistent-memory-poisoning-n3",
        "plan-execute-separation-n3",
        "recursive-call-prevention-n3",
        "scoped-approval-anti-replay-n3",
        "subagent-scope-isolation-n3",
        "tool-chain-detection-n3",
        "tool-intent-result-divergence-n3"
      ]
    }
  }
}