{
  "release": {
    "id": "bitcoin-safe-open-threat-model",
    "version": "1.0.0",
    "status": "current",
    "publishedAt": "2026-08-28",
    "reviewedAt": "2026-08-28",
    "canonicalPath": "/research/bitcoin-threat-model/1.0.0",
    "currentPath": "/research/bitcoin-threat-model",
    "license": {
      "id": "CC-BY-4.0",
      "name": "Creative Commons Attribution 4.0 International",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "scope": "Le texte, la taxonomie, les relations et les fichiers de recherche générés du modèle sont sous licence CC BY 4.0. Le code de l’application et les autres contenus du site ne sont pas couverts par cet avis."
    },
    "repositoryUrl": "https://github.com/kevinkinnett/bitcoinsafe/tree/main/public/research/bitcoin-threat-model/1.0.0",
    "correctionUrl": "https://github.com/kevinkinnett/bitcoinsafe/issues"
  },
  "language": "fr",
  "title": "Modèle ouvert des menaces de garde Bitcoin de BitcoinSafe",
  "summary": "Un cadre public pour examiner comment des erreurs opérationnelles ou des attaques peuvent entraîner une dépense non autorisée, une perte de capacité de récupération, une atteinte à la vie privée ou une rupture de continuité. Chaque menace est reliée à des mesures, des preuves attendues et un risque restant.",
  "audience": "Personnes qui gèrent leur propre garde Bitcoin, formateurs en auto-garde et développeurs qui ont besoin d’identifiants publics stables. Le modèle n’est pas adapté à une personne, un montant, une juridiction ou un adversaire précis.",
  "methodology": "Le modèle suit une séquence périmètre, menace, réponse et révision. Les priorités indiquent dans quelle mesure une condition peut mener directement à une perte ; elles n’estiment pas une probabilité. Les mesures réduisent des scénarios précis sans jamais certifier qu’un portefeuille ou un dispositif est sûr.",
  "certificationBoundary": "Cette publication est un cadre de raisonnement, pas une note de sécurité, un audit, une garantie, une recommandation de produit ni une certification. La documentation publique peut être incomplète, les mises en œuvre peuvent comporter des défauts et des mesures bien appliquées laissent toujours un risque résiduel.",
  "assumptions": [
    {
      "id": "assumption-bitcoin-key-authority",
      "title": "Le pouvoir de dépense dépend des clés et de la politique valides",
      "description": "Une partie capable de satisfaire la politique du portefeuille peut autoriser une dépense. La perte de toutes les voies de récupération valides peut rendre les fonds inaccessibles même si le réseau Bitcoin continue de fonctionner."
    },
    {
      "id": "assumption-hosts-can-fail",
      "title": "Les appareils et services généralistes peuvent tomber en panne ou être compromis",
      "description": "Les téléphones, ordinateurs, sessions de navigateur, comptes en ligne, plateformes, coordinateurs et canaux de communication sont considérés comme faillibles, pas fiables par défaut."
    },
    {
      "id": "assumption-human-operation",
      "title": "L’erreur humaine fait partie de l’environnement opérationnel",
      "description": "Le modèle inclut les erreurs de sauvegarde, récupération, vérification des transactions, contrôle des accès, documentation et transmission. Il ne suppose pas un opérateur parfaitement formé."
    },
    {
      "id": "assumption-public-evidence",
      "title": "Seules des preuves vérifiables étayent une affirmation publiée",
      "description": "Une mesure n’est décrite qu’au niveau étayé par des spécifications publiques, la documentation du fournisseur, des éléments reproductibles ou une révision identifiée. L’absence de problème publié ne prouve pas la sécurité."
    }
  ],
  "assets": [
    {
      "id": "asset-spending-authority",
      "title": "Pouvoir de dépense",
      "description": "Clés privées, appareils de signature, phrases secrètes supplémentaires, politiques et éléments de quorum capables d’autoriser une transaction."
    },
    {
      "id": "asset-recovery-capability",
      "title": "Capacité de récupération",
      "description": "Sauvegardes, métadonnées du portefeuille, informations de dérivation, consignes et procédures testées nécessaires pour rétablir l’accès."
    },
    {
      "id": "asset-transaction-intent",
      "title": "Intention de transaction",
      "description": "Le destinataire, le montant, les frais, la monnaie rendue, les entrées et la politique de signature prévus."
    },
    {
      "id": "asset-privacy-metadata",
      "title": "Vie privée et métadonnées du portefeuille",
      "description": "Adresses, clés publiques étendues, soldes, historique des transactions, contreparties et liens de propriété."
    },
    {
      "id": "asset-operational-continuity",
      "title": "Continuité opérationnelle",
      "description": "La capacité d’une personne autorisée à comprendre, maintenir, récupérer et transmettre le dispositif dans le temps."
    }
  ],
  "categories": [
    {
      "id": "custody",
      "order": 1,
      "title": "Autorité de garde",
      "summary": "Qui peut autoriser une dépense et quelles parties ou quels éléments doivent rester disponibles et honnêtes."
    },
    {
      "id": "backup",
      "order": 2,
      "title": "Résilience des sauvegardes",
      "summary": "Si le matériel de récupération survit à une perte tout en restant inaccessible aux personnes non autorisées."
    },
    {
      "id": "recovery",
      "order": 3,
      "title": "Préparation à la récupération",
      "summary": "Si les clés, le contexte du portefeuille, les outils et la procédure permettent de restaurer le portefeuille avant une urgence."
    },
    {
      "id": "access",
      "order": 4,
      "title": "Protection des accès",
      "summary": "Comment les comptes de prestataires, appareils, logiciels et interfaces de signature résistent à la prise de contrôle ou à la compromission."
    },
    {
      "id": "transaction",
      "order": 5,
      "title": "Vérification des transactions",
      "summary": "Si le signataire peut confirmer indépendamment ce qui sera autorisé avant qu’une transaction ne devienne irréversible."
    },
    {
      "id": "continuity",
      "order": 6,
      "title": "Continuité et transmission",
      "summary": "Si un successeur autorisé peut trouver les bonnes informations non secrètes et suivre un processus testé sans réunir tous les secrets."
    }
  ],
  "severityTerms": [
    {
      "id": "high",
      "label": "Attention élevée",
      "definition": "La condition décrite peut directement permettre une dépense non autorisée ou une perte définitive d’accès. Cette mention n’estime pas la probabilité de l’événement."
    },
    {
      "id": "important",
      "label": "Important",
      "definition": "La condition peut bloquer la récupération, affaiblir la vérification ou rendre un autre incident nettement plus difficile à contenir."
    },
    {
      "id": "contextual",
      "label": "Selon le contexte",
      "definition": "La conséquence dépend fortement du modèle de garde, de la valeur exposée, de l’adversaire, de la juridiction ou de la fréquence d’utilisation. Une décision explicite reste nécessaire."
    }
  ],
  "threats": [
    {
      "id": "threat-custody-provider-control",
      "categoryId": "custody",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-operational-continuity"
      ],
      "sourceIds": [
        "source-bitcoin-wallet-guide",
        "source-nist-risk-assessment"
      ],
      "title": "Un prestataire contrôle le retrait ou la signature",
      "scenario": "Une plateforme, un dépositaire, un portefeuille hébergé ou un service de politique peut retarder, refuser, détourner ou perdre la capacité d’autoriser un retrait.",
      "rationale": "L’opérateur ne détient pas toutes les clés nécessaires. La solvabilité, les contrôles de compte, les règles, la juridiction et la disponibilité du prestataire font partie du périmètre de garde."
    },
    {
      "id": "threat-custody-signer-compromise",
      "categoryId": "custody",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-bitcoin-wallet-guide",
        "source-bip32",
        "source-bip39"
      ],
      "title": "Une autorité de signature suffisante est volée ou copiée",
      "scenario": "Un attaquant obtient une clé privée, une phrase de récupération, une phrase secrète, un appareil de signature ou suffisamment d’éléments pour satisfaire la politique.",
      "rationale": "Bitcoin valide l’autorisation, pas l’identité ni l’intention de la personne qui présente une signature valide. La séparation n’aide que tant que le seuil de la politique n’est pas compromis."
    },
    {
      "id": "threat-backup-unavailable",
      "categoryId": "backup",
      "priority": "high",
      "assetIds": [
        "asset-recovery-capability",
        "asset-operational-continuity"
      ],
      "sourceIds": [
        "source-bip32",
        "source-bip39",
        "source-cisa-backups"
      ],
      "title": "Le matériel de récupération manque ou devient illisible",
      "scenario": "Perte, incendie, eau, corrosion, mise au rebut accidentelle, oubli ou lieu unique commun suppriment toutes les sauvegardes utilisables.",
      "rationale": "La récupération d’un portefeuille déterministe dépend de la conservation de la graine ou des clés nécessaires. Une sauvegarde non vérifiée peut échouer seulement après la perte de l’appareil."
    },
    {
      "id": "threat-backup-secret-exposure",
      "categoryId": "backup",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-bip32",
        "source-bip39"
      ],
      "title": "Une sauvegarde expose des secrets de signature",
      "scenario": "Des mots de récupération, clés privées ou phrases secrètes se retrouvent dans une photo, un document en ligne, un ordinateur ordinaire, une note partagée ou un lieu accessible à un tiers.",
      "rationale": "Une graine déterministe peut dériver les clés privées du portefeuille. La redondance améliore la disponibilité mais crée davantage de copies à protéger."
    },
    {
      "id": "threat-recovery-not-rehearsed",
      "categoryId": "recovery",
      "priority": "important",
      "assetIds": [
        "asset-recovery-capability",
        "asset-operational-continuity"
      ],
      "sourceIds": [
        "source-cisa-backups",
        "source-nist-contingency"
      ],
      "title": "La procédure de récupération n’a pas été répétée",
      "scenario": "Après la perte ou la panne d’un appareil, l’opérateur découvre un mot erroné, une phrase secrète oubliée, un portefeuille incompatible, un signataire absent ou une procédure impossible à terminer.",
      "rationale": "Posséder une sauvegarde ne prouve pas que le portefeuille complet peut être reconstruit. Une répétition contrôlée peut révéler les défauts de procédure et de compatibilité avant une urgence."
    },
    {
      "id": "threat-recovery-wallet-context-missing",
      "categoryId": "recovery",
      "priority": "important",
      "assetIds": [
        "asset-recovery-capability",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-bip380"
      ],
      "title": "Les clés subsistent mais le contexte du portefeuille manque",
      "scenario": "La récupération conserve la graine ou les clés mais pas le type de script, le chemin de dérivation, le descripteur, la politique de quorum, les clés des cosignataires ou le coordinateur nécessaires.",
      "rationale": "Le BIP 380 explique pourquoi les clés privées seules peuvent ne pas suffire à reconstruire les scripts et chemins utilisés, notamment pour des politiques non standard ou multisignatures."
    },
    {
      "id": "threat-access-provider-account-takeover",
      "categoryId": "access",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-recovery-capability",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-nist-authentication"
      ],
      "title": "Un compte de prestataire est pris en contrôle",
      "scenario": "Hameçonnage, réutilisation de mot de passe, vol de session, récupération faible ou messagerie compromise permettent de contrôler une plateforme, un portefeuille hébergé, une sauvegarde en ligne ou un compte de communication.",
      "rationale": "Les contrôles de compte peuvent faire partie de la garde, de la confidentialité des sauvegardes ou de la continuité. Selon le NIST, les codes à usage unique saisis manuellement ne résistent pas à l’hameçonnage."
    },
    {
      "id": "threat-access-signing-environment-compromise",
      "categoryId": "access",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-transaction-intent",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-bitcoin-core-offline-signing",
        "source-bip174"
      ],
      "title": "L’environnement de signature est compromis",
      "scenario": "Un logiciel malveillant, une mise à jour hostile, un accès à distance, une fausse application ou un appareil modifié tente d’exposer les clés ou de changer les données de transaction.",
      "rationale": "Séparer la signature de l’ordinateur connecté réduit les possibilités d’exfiltration des clés, mais le signataire, le canal de transfert, le micrologiciel et la vérification restent des limites de confiance."
    },
    {
      "id": "threat-transaction-destination-substitution",
      "categoryId": "transaction",
      "priority": "high",
      "assetIds": [
        "asset-transaction-intent",
        "asset-spending-authority"
      ],
      "sourceIds": [
        "source-bip174",
        "source-bitcoin-core-offline-signing"
      ],
      "title": "La destination ou le montant est remplacé",
      "scenario": "Un ordinateur, presse-papiers, code QR, ordre de paiement ou coordinateur compromis présente des données différentes de l’intention de l’opérateur.",
      "rationale": "Une signature valide autorise la transaction réellement présentée. La vérification indépendante doit couvrir destination, montant, frais et monnaie rendue sur un canal ou écran fiable."
    },
    {
      "id": "threat-transaction-incomplete-signing-context",
      "categoryId": "transaction",
      "priority": "important",
      "assetIds": [
        "asset-transaction-intent",
        "asset-spending-authority"
      ],
      "sourceIds": [
        "source-bip174"
      ],
      "title": "Le signataire manque de contexte pour vérifier la dépense",
      "scenario": "L’appareil ou la personne qui signe ne peut pas identifier de manière fiable les entrées, la monnaie rendue, les frais, la politique du portefeuille ou les modifications apportées par un autre système.",
      "rationale": "Le PSBT normalise l’échange de données entre rôles, mais le format seul ne prouve pas que le signataire a affiché ou vérifié tous les champs utiles."
    },
    {
      "id": "threat-continuity-operator-unavailability",
      "categoryId": "continuity",
      "priority": "important",
      "assetIds": [
        "asset-operational-continuity",
        "asset-recovery-capability"
      ],
      "sourceIds": [
        "source-nist-contingency"
      ],
      "title": "Le seul opérateur informé n’est plus disponible",
      "scenario": "Décès, incapacité, voyage, contrainte, conflit ou perte de contact empêchent les successeurs autorisés de localiser le portefeuille ou de comprendre la récupération.",
      "rationale": "Le matériel technique ne communique pas l’autorité juridique, les rôles, les lieux, les dépendances ni l’ordre des opérations. La continuité exige des procédures documentées et répétées."
    },
    {
      "id": "threat-continuity-secret-concentration",
      "categoryId": "continuity",
      "priority": "high",
      "assetIds": [
        "asset-spending-authority",
        "asset-operational-continuity",
        "asset-privacy-metadata"
      ],
      "sourceIds": [
        "source-nist-contingency",
        "source-bip32"
      ],
      "title": "Un document de continuité concentre tous les secrets",
      "scenario": "Un document, coffre, avocat, proche ou compte numérique contient assez de matériel et de consignes pour dépenser sans autre contrôle indépendant.",
      "rationale": "La continuité peut améliorer la disponibilité tout en affaiblissant la confidentialité. Une transmission utile explique les rôles et les lieux sans transformer un seul document en pouvoir de dépense complet."
    }
  ],
  "mitigations": [
    {
      "id": "mitigation-define-custody-boundary",
      "sourceIds": [
        "source-nist-risk-assessment",
        "source-bitcoin-wallet-guide"
      ],
      "title": "Documentez le périmètre de garde",
      "action": "Identifiez chaque personne, prestataire, appareil, clé, politique et procédure capable d’autoriser ou de bloquer une dépense. Décidez quelles dépendances sont acceptables avant de déplacer des fonds importants.",
      "limitation": "La documentation rend les dépendances visibles ; elle ne supprime pas les risques liés au prestataire, au droit, à la solvabilité ou à la mise en œuvre."
    },
    {
      "id": "mitigation-isolate-signing-keys",
      "sourceIds": [
        "source-bitcoin-core-offline-signing",
        "source-bip174"
      ],
      "title": "Isolez une autorité de signature suffisante",
      "action": "Gardez les clés privées à l’écart des appareils ordinaires connectés lorsque le modèle le permet. Pour un quorum, séparez les signataires afin qu’une seule compromission ne satisfasse pas la politique.",
      "limitation": "L’isolation ajoute des étapes de transfert, mise à jour, vérification et récupération. Elle ne prouve pas que le signataire ou le micrologiciel est fiable."
    },
    {
      "id": "mitigation-redundant-offline-backups",
      "sourceIds": [
        "source-cisa-backups",
        "source-bip32",
        "source-bip39"
      ],
      "title": "Conservez des sauvegardes vérifiées au-delà d’un même point de défaillance",
      "action": "Conservez le matériel nécessaire dans plusieurs lieux protégés lorsque le scénario le justifie. Vérifiez lisibilité, intégrité et accès sans exposer le secret à un système en ligne.",
      "limitation": "Chaque copie supplémentaire élargit le problème de confidentialité et de contrôle d’accès. La séparation géographique peut aussi compliquer la récupération."
    },
    {
      "id": "mitigation-separate-secret-material",
      "sourceIds": [
        "source-bip32",
        "source-bip39",
        "source-nist-contingency"
      ],
      "title": "Séparez les secrets des consignes et les uns des autres",
      "action": "Ne placez pas graine, phrase secrète, code PIN et procédure complète dans un même document ordinaire ou compte en ligne. Utilisez des limites d’accès distinctes adaptées à la politique.",
      "limitation": "La séparation peut provoquer un blocage si les dépendances ne sont pas documentées ou si une personne autorisée ne peut pas réunir les éléments nécessaires."
    },
    {
      "id": "mitigation-rehearse-recovery",
      "sourceIds": [
        "source-cisa-backups",
        "source-nist-contingency"
      ],
      "title": "Répétez la récupération avant une urgence",
      "action": "Utilisez une procédure contrôlée, un appareil de secours ou réinitialisé et un portefeuille de test sans valeur si nécessaire. Confirmez le portefeuille, la politique, les adresses et la signature sans saisir de secret dans un appareil non fiable.",
      "limitation": "Une répétition ne valide que le chemin testé à ce moment. Logiciels, appareils, personnes, lieux et documentation peuvent ensuite changer."
    },
    {
      "id": "mitigation-preserve-wallet-context",
      "sourceIds": [
        "source-bip380"
      ],
      "title": "Conservez le contexte non secret du portefeuille",
      "action": "Consignez le type de portefeuille, la politique de script, la dérivation, les empreintes maîtres, le quorum, les besoins du coordinateur et le logiciel testé sans les réunir avec tous les secrets.",
      "limitation": "Les descripteurs et clés publiques étendues peuvent exposer adresses et historique. Traitez-les comme sensibles même s’ils ne permettent pas de dépenser seuls."
    },
    {
      "id": "mitigation-phishing-resistant-access",
      "sourceIds": [
        "source-nist-authentication"
      ],
      "title": "Utilisez un accès résistant à l’hameçonnage lorsqu’il est disponible",
      "action": "Protégez les comptes de prestataire, messagerie et stockage avec des identifiants uniques et un authentificateur cryptographique lié au vrai domaine lorsque c’est possible. Examinez aussi les voies de récupération.",
      "limitation": "Une authentification forte ne traite pas l’insolvabilité, les initiés malveillants, les terminaux compromis ni un processus de retrait défaillant."
    },
    {
      "id": "mitigation-harden-signing-environment",
      "sourceIds": [
        "source-bitcoin-core-offline-signing",
        "source-nist-risk-assessment"
      ],
      "title": "Réduisez la confiance accordée à l’environnement de signature connecté",
      "action": "Utilisez un logiciel maintenu provenant de sources authentifiées, limitez l’accès à distance et les applications inutiles, isolez les clés si nécessaire et gardez un moyen indépendant de vérifier l’intention.",
      "limitation": "Le durcissement réduit l’exposition mais ne prouve pas que chaque dépendance, mise à jour, bibliothèque ou appareil est exempt de défaut."
    },
    {
      "id": "mitigation-verify-on-trusted-display",
      "sourceIds": [
        "source-bip174",
        "source-bitcoin-core-external-signer"
      ],
      "title": "Vérifiez l’intention sur un écran indépendant",
      "action": "Avant de signer, comparez destinataire, montant, frais, monnaie rendue, réseau et politique avec l’intention d’origine sur un signataire ou canal indépendant de l’ordinateur créateur.",
      "limitation": "Un écran peut omettre des champs, présenter des données confuses ou être compromis. La vérification dépend de la référence indépendante et de l’examen de l’opérateur."
    },
    {
      "id": "mitigation-separate-transaction-roles",
      "sourceIds": [
        "source-bip174",
        "source-bitcoin-core-offline-signing"
      ],
      "title": "Séparez création, signature et diffusion lorsque c’est utile",
      "action": "Utilisez un format standard tel que PSBT lorsque plusieurs systèmes ou signataires coopèrent. Exigez que chaque signataire valide la politique et les champs utiles avant de signer.",
      "limitation": "La séparation des rôles augmente la coordination et la gestion des métadonnées. Un PSBT peut contenir des informations sensibles et n’oblige pas l’appareil à afficher chaque champ utile."
    },
    {
      "id": "mitigation-document-continuity-roles",
      "sourceIds": [
        "source-nist-contingency"
      ],
      "title": "Documentez rôles, dépendances et lieux sans inscrire les secrets",
      "action": "Consignez qui doit agir, quels documents non secrets existent, où se trouvent les éléments séparés, quels professionnels ou prestataires interviennent et comment l’autorité est vérifiée. Gardez les secrets hors du document.",
      "limitation": "La documentation opérationnelle n’est pas un plan successoral et peut ne pas créer d’autorité juridique. Les conseils juridiques et fiscaux propres à la juridiction restent séparés."
    },
    {
      "id": "mitigation-rehearse-continuity",
      "sourceIds": [
        "source-nist-contingency"
      ],
      "title": "Répétez la transmission de continuité",
      "action": "Faites expliquer ou simuler le processus par une personne autorisée avec des documents non secrets. Confirmez contacts, lieux, dépendances, sort des appareils et voies d’escalade selon un calendrier daté.",
      "limitation": "Une répétition peut exposer des relations sensibles et devenir obsolète après des changements familiaux, juridiques, de prestataire, d’appareil ou de portefeuille."
    }
  ],
  "evidenceExpectations": [
    {
      "id": "evidence-custody-boundary",
      "title": "Preuves du périmètre de garde",
      "description": "Un inventaire à jour des signataires, prestataires, politiques, voies de récupération et dépendances bloquantes. Le marketing seul ne prouve pas le contrôle."
    },
    {
      "id": "evidence-backup-check",
      "title": "Preuves de sauvegarde",
      "description": "Une vérification datée montrant que le matériel existe, reste lisible, est séparé selon les limites prévues et n’a pas été saisi dans un système non fiable."
    },
    {
      "id": "evidence-recovery-rehearsal",
      "title": "Preuves de récupération",
      "description": "Un compte rendu daté du chemin testé, de l’identité du portefeuille, des outils, de la politique reconstruite, des problèmes et corrections. Il ne doit pas contenir le secret."
    },
    {
      "id": "evidence-access-controls",
      "title": "Preuves de contrôle d’accès",
      "description": "Méthodes documentées de récupération de compte, type d’authentificateur, provenance des appareils et logiciels, processus de mise à jour et suppression des anciens accès."
    },
    {
      "id": "evidence-transaction-verification",
      "title": "Preuves de vérification des transactions",
      "description": "Une procédure répétable indiquant quels champs chaque signataire vérifie, la source indépendante de l’intention, la validation de la politique et le moment où la diffusion est autorisée."
    },
    {
      "id": "evidence-continuity-rehearsal",
      "title": "Preuves de continuité",
      "description": "Un inventaire daté et non secret des rôles et lieux, un responsable pour chaque suivi, un compte rendu de répétition et une révision après tout changement familial, juridique, de prestataire ou de portefeuille."
    }
  ],
  "residualRisks": [
    {
      "id": "residual-custody",
      "title": "Des dépendances de garde subsistent",
      "description": "Clés, appareils, personnes, prestataires et politiques peuvent échouer ensemble ou agir autrement que prévu. Davantage d’indépendance ajoute souvent de la complexité."
    },
    {
      "id": "residual-backup",
      "title": "Disponibilité et secret restent en tension",
      "description": "Davantage de copies résistent à plus de pertes mais créent plus d’occasions de découverte, contrainte, mauvaise manipulation ou obsolescence."
    },
    {
      "id": "residual-recovery",
      "title": "Une ancienne répétition ne garantit pas une récupération future",
      "description": "Appareils, compatibilité, personnes, mémoire, documentation et état du portefeuille peuvent changer après un test réussi."
    },
    {
      "id": "residual-access",
      "title": "Des accès renforcés ne sécurisent pas toutes les dépendances",
      "description": "Terminaux, support, personnel du service, micrologiciel, accès physique et chaîne logicielle restent des voies de défaillance possibles."
    },
    {
      "id": "residual-transaction",
      "title": "La vérification peut encore échouer au niveau humain ou de l’écran",
      "description": "Un signataire peut omettre une information importante, la référence peut être compromise ou l’opérateur peut approuver des données confuses ou inattendues."
    },
    {
      "id": "residual-continuity",
      "title": "La transmission combine incertitudes techniques et juridiques",
      "description": "Une transmission techniquement correcte peut entrer en conflit avec le droit, la fiscalité, la famille, les règles du prestataire ou les volontés actuelles du propriétaire."
    }
  ],
  "relationships": [
    {
      "threatId": "threat-custody-provider-control",
      "mitigationIds": [
        "mitigation-define-custody-boundary",
        "mitigation-phishing-resistant-access"
      ],
      "evidenceExpectationIds": [
        "evidence-custody-boundary",
        "evidence-access-controls"
      ],
      "residualRiskIds": [
        "residual-custody",
        "residual-access"
      ]
    },
    {
      "threatId": "threat-custody-signer-compromise",
      "mitigationIds": [
        "mitigation-isolate-signing-keys",
        "mitigation-separate-secret-material"
      ],
      "evidenceExpectationIds": [
        "evidence-custody-boundary",
        "evidence-backup-check"
      ],
      "residualRiskIds": [
        "residual-custody",
        "residual-backup"
      ]
    },
    {
      "threatId": "threat-backup-unavailable",
      "mitigationIds": [
        "mitigation-redundant-offline-backups",
        "mitigation-rehearse-recovery"
      ],
      "evidenceExpectationIds": [
        "evidence-backup-check",
        "evidence-recovery-rehearsal"
      ],
      "residualRiskIds": [
        "residual-backup",
        "residual-recovery"
      ]
    },
    {
      "threatId": "threat-backup-secret-exposure",
      "mitigationIds": [
        "mitigation-separate-secret-material",
        "mitigation-redundant-offline-backups"
      ],
      "evidenceExpectationIds": [
        "evidence-backup-check"
      ],
      "residualRiskIds": [
        "residual-backup"
      ]
    },
    {
      "threatId": "threat-recovery-not-rehearsed",
      "mitigationIds": [
        "mitigation-rehearse-recovery",
        "mitigation-preserve-wallet-context"
      ],
      "evidenceExpectationIds": [
        "evidence-recovery-rehearsal"
      ],
      "residualRiskIds": [
        "residual-recovery"
      ]
    },
    {
      "threatId": "threat-recovery-wallet-context-missing",
      "mitigationIds": [
        "mitigation-preserve-wallet-context",
        "mitigation-rehearse-recovery"
      ],
      "evidenceExpectationIds": [
        "evidence-recovery-rehearsal"
      ],
      "residualRiskIds": [
        "residual-recovery",
        "residual-backup"
      ]
    },
    {
      "threatId": "threat-access-provider-account-takeover",
      "mitigationIds": [
        "mitigation-phishing-resistant-access",
        "mitigation-define-custody-boundary"
      ],
      "evidenceExpectationIds": [
        "evidence-access-controls",
        "evidence-custody-boundary"
      ],
      "residualRiskIds": [
        "residual-access",
        "residual-custody"
      ]
    },
    {
      "threatId": "threat-access-signing-environment-compromise",
      "mitigationIds": [
        "mitigation-harden-signing-environment",
        "mitigation-isolate-signing-keys",
        "mitigation-verify-on-trusted-display"
      ],
      "evidenceExpectationIds": [
        "evidence-access-controls",
        "evidence-transaction-verification"
      ],
      "residualRiskIds": [
        "residual-access",
        "residual-transaction"
      ]
    },
    {
      "threatId": "threat-transaction-destination-substitution",
      "mitigationIds": [
        "mitigation-verify-on-trusted-display",
        "mitigation-separate-transaction-roles"
      ],
      "evidenceExpectationIds": [
        "evidence-transaction-verification"
      ],
      "residualRiskIds": [
        "residual-transaction"
      ]
    },
    {
      "threatId": "threat-transaction-incomplete-signing-context",
      "mitigationIds": [
        "mitigation-separate-transaction-roles",
        "mitigation-verify-on-trusted-display"
      ],
      "evidenceExpectationIds": [
        "evidence-transaction-verification"
      ],
      "residualRiskIds": [
        "residual-transaction"
      ]
    },
    {
      "threatId": "threat-continuity-operator-unavailability",
      "mitigationIds": [
        "mitigation-document-continuity-roles",
        "mitigation-rehearse-continuity"
      ],
      "evidenceExpectationIds": [
        "evidence-continuity-rehearsal"
      ],
      "residualRiskIds": [
        "residual-continuity",
        "residual-recovery"
      ]
    },
    {
      "threatId": "threat-continuity-secret-concentration",
      "mitigationIds": [
        "mitigation-document-continuity-roles",
        "mitigation-separate-secret-material",
        "mitigation-rehearse-continuity"
      ],
      "evidenceExpectationIds": [
        "evidence-continuity-rehearsal",
        "evidence-backup-check"
      ],
      "residualRiskIds": [
        "residual-continuity",
        "residual-backup"
      ]
    }
  ],
  "exclusions": [
    {
      "id": "exclusion-market-risk",
      "title": "Risque de marché et de prix",
      "description": "Le modèle ne prévoit ni prix, ni liquidité, ni fiscalité, ni pertinence de détenir des bitcoins."
    },
    {
      "id": "exclusion-consensus-network",
      "title": "Consensus et sécurité du réseau Bitcoin",
      "description": "Les défaillances de consensus, attaques minières, défauts de protocole et partitions réseau sont hors de ce modèle opérationnel."
    },
    {
      "id": "exclusion-product-certification",
      "title": "Certification ou classement de produits",
      "description": "Le modèle ne certifie aucun portefeuille matériel ou logiciel, plateforme, dépositaire, service multisignature ou prestataire de récupération."
    },
    {
      "id": "exclusion-personalized-assessment",
      "title": "Détermination personnalisée du risque",
      "description": "Aucune priorité ne tient compte du montant, des compétences, des adversaires, du lieu, de la famille ou de la fréquence d’utilisation du lecteur."
    },
    {
      "id": "exclusion-legal-advice",
      "title": "Conseils juridiques, fiscaux et successoraux",
      "description": "Les mesures de continuité décrivent seulement les opérations. Elles ne créent pas d’autorité juridique et ne remplacent pas un conseil qualifié dans la juridiction concernée."
    }
  ],
  "sources": [
    {
      "id": "source-nist-risk-assessment",
      "title": "NIST SP 800-30 Rev. 1, Guide for Conducting Risk Assessments",
      "publisher": "National Institute of Standards and Technology",
      "url": "https://doi.org/10.6028/NIST.SP.800-30r1",
      "kind": "government-standard",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour le périmètre, les hypothèses, les sources de menace, l’incertitude et la révision. BitcoinSafe ne reprend pas les échelles de probabilité du NIST."
    },
    {
      "id": "source-owasp-threat-modeling",
      "title": "OWASP Threat Modeling Cheat Sheet",
      "publisher": "OWASP Foundation",
      "url": "https://cheatsheetseries.owasp.org/cheatsheets/Threat_Modeling_Cheat_Sheet.html",
      "kind": "authoritative-guidance",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour la séquence périmètre, identification, réponse et révision ainsi que pour documenter des mesures applicables."
    },
    {
      "id": "source-bitcoin-wallet-guide",
      "title": "Bitcoin Developer Guide: Wallets",
      "publisher": "Bitcoin Developer Documentation",
      "url": "https://developer.bitcoin.org/devguide/wallets.html",
      "kind": "bitcoin-core-documentation",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour séparer distribution des clés, signature et réseau, et pour expliquer le rôle des clés privées dans la dépense."
    },
    {
      "id": "source-bip32",
      "title": "BIP 32: Hierarchical Deterministic Wallets",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://github.com/bitcoin/bips/blob/master/bip-0032.mediawiki",
      "kind": "bitcoin-specification",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour la dérivation déterministe et les conséquences de l’exposition ou de la perte du matériel racine."
    },
    {
      "id": "source-bip39",
      "title": "BIP 39: Mnemonic code for generating deterministic keys",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki",
      "kind": "bitcoin-specification",
      "checkedAt": "2026-08-28",
      "note": "Utilisé seulement pour décrire le matériel mnémonique et la phrase secrète facultative. Le modèle n’affirme pas que le BIP 39 est obligatoire pour tout portefeuille."
    },
    {
      "id": "source-bip174",
      "title": "BIP 174: Partially Signed Bitcoin Transaction Format",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://github.com/bitcoin/bips/blob/master/bip-0174.mediawiki",
      "kind": "bitcoin-specification",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour séparer les rôles de transaction, signer hors ligne, définir les données du signataire et les limites des métadonnées PSBT."
    },
    {
      "id": "source-bip380",
      "title": "BIP 380: Output Script Descriptors General Operation",
      "publisher": "Bitcoin Improvement Proposals",
      "url": "https://github.com/bitcoin/bips/blob/master/bip-0380.mediawiki",
      "kind": "bitcoin-specification",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour l’importance du type de script, des chemins, des clés et de la somme de contrôle du descripteur au-delà des seules clés privées."
    },
    {
      "id": "source-bitcoin-core-offline-signing",
      "title": "Bitcoin Core Offline Signing Tutorial",
      "publisher": "Bitcoin Core",
      "url": "https://github.com/bitcoin/bitcoin/blob/master/doc/offline-signing-tutorial.md",
      "kind": "bitcoin-core-documentation",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour l’objectif de sécurité et la limite opérationnelle documentés de la signature PSBT hors ligne."
    },
    {
      "id": "source-bitcoin-core-external-signer",
      "title": "Bitcoin Core External Signer Documentation",
      "publisher": "Bitcoin Core",
      "url": "https://github.com/bitcoin/bitcoin/blob/master/doc/external-signer.md",
      "kind": "bitcoin-core-documentation",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour les contrôles d’identité du signataire externe, la correspondance des descripteurs et l’affichage des adresses."
    },
    {
      "id": "source-nist-authentication",
      "title": "NIST SP 800-63B-4: Authentication and Authenticator Management",
      "publisher": "National Institute of Standards and Technology",
      "url": "https://pages.nist.gov/800-63-4/sp800-63b.html",
      "kind": "government-standard",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour la résistance à l’hameçonnage, la liaison au vérificateur, les contrôles d’authentificateur et les limites des codes saisis manuellement."
    },
    {
      "id": "source-cisa-backups",
      "title": "#StopRansomware Guide",
      "publisher": "Cybersecurity and Infrastructure Security Agency",
      "url": "https://www.cisa.gov/stopransomware/ransomware-guide",
      "kind": "government-standard",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour la pratique générale des sauvegardes hors ligne et des tests réguliers de restauration. La récupération Bitcoin ajoute des contraintes de secret."
    },
    {
      "id": "source-nist-contingency",
      "title": "NIST SP 800-34 Rev. 1: Contingency Planning Guide",
      "publisher": "National Institute of Standards and Technology",
      "url": "https://doi.org/10.6028/NIST.SP.800-34r1",
      "kind": "government-standard",
      "checkedAt": "2026-08-28",
      "note": "Utilisé pour les rôles, la récupération, les tests, la validation, les éléments hors site et les dossiers datés. Il s’agit de recommandations générales, pas propres à Bitcoin."
    },
    {
      "id": "source-cc-by-4",
      "title": "Creative Commons Attribution 4.0 International",
      "publisher": "Creative Commons",
      "url": "https://creativecommons.org/licenses/by/4.0/",
      "kind": "license",
      "checkedAt": "2026-08-28",
      "note": "Définit les conditions de réutilisation du texte et des données de recherche concernés."
    },
    {
      "id": "source-semver",
      "title": "Semantic Versioning 2.0.0",
      "publisher": "Semantic Versioning",
      "url": "https://semver.org/",
      "kind": "versioning-standard",
      "checkedAt": "2026-08-28",
      "note": "Définit les versions immuables et les règles de version majeure, mineure et corrective utilisées par ce modèle."
    }
  ],
  "changelog": [
    {
      "version": "1.0.0",
      "date": "2026-08-28",
      "summary": "Première version publique avec six catégories, 12 menaces, 12 mesures, preuves attendues, risques résiduels, correspondances avec l’évaluation et ressources traduites."
    }
  ]
}
