{
  "schemaVersion": "1.0.0",
  "editionId": "bitcoin-safety-benchmark-2026",
  "year": 2026,
  "revision": "1.0.0",
  "methodologyVersion": "1.0.0",
  "publishedAt": "2026-08-28",
  "reviewedAt": "2026-08-28",
  "evidenceCutoff": "2026-08-28",
  "canonicalPath": "/research/bitcoin-safety-benchmark/2026",
  "correctionUrl": "https://github.com/kevinkinnett/bitcoinsafe/issues",
  "threatModel": {
    "id": "bitcoin-safe-open-threat-model",
    "version": "1.0.0",
    "status": "current"
  },
  "scopeFingerprint": "2026-08-28|1.0.0|coldcard-q,coldcard-mk4,trezor-safe-5,ledger-flex|signing-key-isolation,secret-separation,recovery-check,authenticated-firmware,trusted-display,separated-transaction-roles",
  "products": [
    {
      "id": "coldcard-q",
      "name": "COLDCARD Q",
      "manufacturer": "Coinkite",
      "status": "current"
    },
    {
      "id": "coldcard-mk4",
      "name": "COLDCARD Mk4",
      "manufacturer": "Coinkite",
      "status": "supported-legacy"
    },
    {
      "id": "trezor-safe-5",
      "name": "Trezor Safe 5",
      "manufacturer": "Trezor",
      "status": "current"
    },
    {
      "id": "ledger-flex",
      "name": "Ledger Flex",
      "manufacturer": "Ledger",
      "status": "current"
    }
  ],
  "controls": [
    {
      "id": "signing-key-isolation",
      "mitigationId": "mitigation-isolate-signing-keys",
      "categoryId": "custody",
      "title": {
        "en": "Signing-key isolation",
        "es": "Aislamiento de claves de firma",
        "fr": "Isolement des clés de signature"
      },
      "measure": {
        "en": "Public documentation that private keys stay on the device during ordinary signing.",
        "es": "Documentación pública de que las claves permanecen en el dispositivo durante la firma normal.",
        "fr": "Documentation publique indiquant que les clés restent sur l’appareil pendant la signature normale."
      }
    },
    {
      "id": "secret-separation",
      "mitigationId": "mitigation-separate-secret-material",
      "categoryId": "backup",
      "title": {
        "en": "Secret separation",
        "es": "Separación de secretos",
        "fr": "Séparation des secrets"
      },
      "measure": {
        "en": "A documented passphrase or equivalent way to keep an additional secret separate from the wallet backup.",
        "es": "Una frase documentada o método equivalente para separar un secreto adicional de la copia.",
        "fr": "Une phrase documentée ou un moyen équivalent de séparer un secret supplémentaire de la sauvegarde."
      }
    },
    {
      "id": "recovery-check",
      "mitigationId": "mitigation-rehearse-recovery",
      "categoryId": "recovery",
      "title": {
        "en": "Recovery check",
        "es": "Comprobación de recuperación",
        "fr": "Vérification de récupération"
      },
      "measure": {
        "en": "A documented procedure that checks backup correctness without exposing it to an ordinary online form.",
        "es": "Un procedimiento documentado para comprobar la copia sin exponerla en un formulario en línea.",
        "fr": "Une procédure documentée pour vérifier la sauvegarde sans l’exposer dans un formulaire en ligne."
      }
    },
    {
      "id": "authenticated-firmware",
      "mitigationId": "mitigation-harden-signing-environment",
      "categoryId": "access",
      "title": {
        "en": "Authenticated firmware",
        "es": "Firmware autenticado",
        "fr": "Micrologiciel authentifié"
      },
      "measure": {
        "en": "A documented signed update or authenticity check and a maintained public security channel.",
        "es": "Una actualización firmada o comprobación de autenticidad documentada y un canal público de seguridad.",
        "fr": "Une mise à jour signée ou un contrôle d’authenticité documenté et un canal public de sécurité."
      }
    },
    {
      "id": "trusted-display",
      "mitigationId": "mitigation-verify-on-trusted-display",
      "categoryId": "transaction",
      "title": {
        "en": "Trusted-display verification",
        "es": "Verificación en pantalla fiable",
        "fr": "Vérification sur écran fiable"
      },
      "measure": {
        "en": "A device-controlled display for checking transaction or address details before approval.",
        "es": "Una pantalla controlada por el dispositivo para comprobar la transacción o la dirección antes de aprobar.",
        "fr": "Un écran contrôlé par l’appareil pour vérifier la transaction ou l’adresse avant approbation."
      }
    },
    {
      "id": "separated-transaction-roles",
      "mitigationId": "mitigation-separate-transaction-roles",
      "categoryId": "transaction",
      "title": {
        "en": "Separated transaction roles",
        "es": "Funciones de transacción separadas",
        "fr": "Rôles de transaction séparés"
      },
      "measure": {
        "en": "A documented workflow that separates creation, device signing, and broadcast, with PSBT evidence required for a documented state.",
        "es": "Un flujo documentado que separa creación, firma y difusión; se exige prueba de PSBT para el estado documentado.",
        "fr": "Un flux documenté séparant création, signature et diffusion ; une preuve PSBT est exigée pour l’état documenté."
      }
    }
  ],
  "sources": [
    {
      "id": "coinkite-q-docs",
      "title": {
        "en": "COLDCARD Q documentation",
        "es": "Documentación de COLDCARD Q",
        "fr": "Documentation du COLDCARD Q"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/coldcard-q/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-27",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-mk4-product",
      "title": {
        "en": "COLDCARD Mk4 product status",
        "es": "Estado de COLDCARD Mk4",
        "fr": "Statut du COLDCARD Mk4"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/mk4",
      "kind": "manufacturer-product",
      "updatedAt": "2026-08-27",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-passphrase",
      "title": {
        "en": "COLDCARD BIP39 passphrase documentation",
        "es": "Documentación de frase BIP39 de COLDCARD",
        "fr": "Documentation de la phrase BIP39 du COLDCARD"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/passphrase/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-27",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-backups",
      "title": {
        "en": "COLDCARD encrypted backups",
        "es": "Copias cifradas de COLDCARD",
        "fr": "Sauvegardes chiffrées du COLDCARD"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/backups/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-25",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-q-quickstart",
      "title": {
        "en": "COLDCARD Q quickstart",
        "es": "Inicio rápido de COLDCARD Q",
        "fr": "Guide de démarrage du COLDCARD Q"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/q-quick/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-27",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-address-verification",
      "title": {
        "en": "COLDCARD address ownership verification",
        "es": "Verificación de direcciones de COLDCARD",
        "fr": "Vérification des adresses du COLDCARD"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/verify-address-ownership/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-25",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-firmware",
      "title": {
        "en": "COLDCARD firmware upgrade and verification",
        "es": "Actualización y verificación del firmware COLDCARD",
        "fr": "Mise à jour et vérification du micrologiciel COLDCARD"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/docs/upgrade/",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-08-25",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "coinkite-security-status",
      "title": {
        "en": "Current COLDCARD security status",
        "es": "Estado de seguridad actual de COLDCARD",
        "fr": "État de sécurité actuel du COLDCARD"
      },
      "publisher": "Coinkite",
      "url": "https://coldcard.com/security/status",
      "kind": "security-advisory",
      "updatedAt": "2026-08-17",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-product",
      "title": {
        "en": "Trezor Safe 5 product documentation",
        "es": "Documentación de Trezor Safe 5",
        "fr": "Documentation du Trezor Safe 5"
      },
      "publisher": "Trezor",
      "url": "https://trezor.io/trezor-safe-5",
      "kind": "manufacturer-product",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "trezor-security",
      "title": {
        "en": "Security and safety in Trezor",
        "es": "Seguridad en Trezor",
        "fr": "Sécurité des appareils Trezor"
      },
      "publisher": "Trezor",
      "url": "https://trezor.io/learn/security-privacy/how-trezor-keeps-you-safe/security-safety-in-trezor",
      "kind": "manufacturer-documentation",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "trezor-passphrase",
      "title": {
        "en": "Passphrase confirmation on Trezor",
        "es": "Confirmación de frase en Trezor",
        "fr": "Confirmation de la phrase sur Trezor"
      },
      "publisher": "Trezor",
      "url": "https://trezor.io/learn/a/passphrase-confirmation-on-trezor-screen",
      "kind": "manufacturer-documentation",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "trezor-backup-check",
      "title": {
        "en": "Check wallet backup on Trezor Safe 5",
        "es": "Comprobar la copia en Trezor Safe 5",
        "fr": "Vérifier la sauvegarde sur Trezor Safe 5"
      },
      "publisher": "Trezor",
      "url": "https://trezor.io/guides/backups-recovery/general-standards/check-backup-on-trezor-safe-5",
      "kind": "manufacturer-documentation",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "trezor-firmware-check",
      "title": {
        "en": "Trezor firmware hash check",
        "es": "Comprobación del hash del firmware Trezor",
        "fr": "Contrôle du hash du micrologiciel Trezor"
      },
      "publisher": "Trezor",
      "url": "https://trezor.io/learn/security-privacy/how-trezor-keeps-you-safe/firmware-hash-check-how-trezor-suite-verifies-your-firmware",
      "kind": "manufacturer-documentation",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-product",
      "title": {
        "en": "Ledger Flex product documentation",
        "es": "Documentación de Ledger Flex",
        "fr": "Documentation du Ledger Flex"
      },
      "publisher": "Ledger",
      "url": "https://shop.ledger.com/products/ledger-flex",
      "kind": "manufacturer-product",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-offline-keys",
      "title": {
        "en": "How Ledger stores private keys offline",
        "es": "Cómo Ledger guarda claves sin conexión",
        "fr": "Stockage hors ligne des clés par Ledger"
      },
      "publisher": "Ledger",
      "url": "https://www.ledger.com/academy/topics/ledgersolutions/an-offline-key-is-the-only-key-how-ledger-wallets-store-private-keys-offline",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-05-18",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-clear-signing",
      "title": {
        "en": "Ledger clear signing",
        "es": "Firma clara de Ledger",
        "fr": "Signature claire de Ledger"
      },
      "publisher": "Ledger",
      "url": "https://www.ledger.com/academy/topics/ledgersolutions/ledger-live-clear-signing-the-safest-way-to-approve-crypto-transactions",
      "kind": "manufacturer-documentation",
      "updatedAt": "2026-04-16",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-passphrase",
      "title": {
        "en": "Ledger passphrase feature",
        "es": "Función de frase de Ledger",
        "fr": "Fonction de phrase secrète de Ledger"
      },
      "publisher": "Ledger",
      "url": "https://www.ledger.com/academy/passphrase-an-advanced-security-feature",
      "kind": "manufacturer-documentation",
      "updatedAt": "2025-12-16",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-recovery-check",
      "title": {
        "en": "Ledger recovery phrase check guidance",
        "es": "Guía de comprobación de recuperación de Ledger",
        "fr": "Guide de vérification de récupération Ledger"
      },
      "publisher": "Ledger",
      "url": "https://www.ledger.com/academy/basic-basics/2-how-to-own-crypto/whats-a-secret-recovery-phrase",
      "kind": "manufacturer-documentation",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "ledger-source-model",
      "title": {
        "en": "Ledger source disclosure model",
        "es": "Modelo de publicación del código de Ledger",
        "fr": "Modèle de publication du code Ledger"
      },
      "publisher": "Ledger",
      "url": "https://www.ledger.com/academy/topics/ledgersolutions/is-ledger-open-source",
      "kind": "manufacturer-documentation",
      "updatedAt": "2025-11-19",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "btc-sessions-2025",
      "title": {
        "en": "2025 hardware-wallet comparison",
        "es": "Comparación de hardware wallets de 2025",
        "fr": "Comparatif de portefeuilles matériels de 2025"
      },
      "publisher": "BTC Sessions",
      "url": "https://www.youtube.com/watch?v=ZZKoSmQu30Q",
      "kind": "independent-review",
      "publishedAt": "2025-07-21",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "walletscrutiny-q",
      "title": {
        "en": "COLDCARD Q custody and code review",
        "es": "Análisis de custodia y código de COLDCARD Q",
        "fr": "Analyse de garde et de code du COLDCARD Q"
      },
      "publisher": "WalletScrutiny",
      "url": "https://walletscrutiny.com/hardware/coldcardQ1/",
      "kind": "independent-verification",
      "updatedAt": "2026-08-28",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "walletscrutiny-mk4",
      "title": {
        "en": "COLDCARD Mk4 custody and code review",
        "es": "Análisis de custodia y código de COLDCARD Mk4",
        "fr": "Analyse de garde et de code du COLDCARD Mk4"
      },
      "publisher": "WalletScrutiny",
      "url": "https://walletscrutiny.com/hardware/coldcardMk4/",
      "kind": "independent-verification",
      "updatedAt": "2026-08-28",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "walletscrutiny-trezor",
      "title": {
        "en": "Trezor Safe 5 custody and code review",
        "es": "Análisis de custodia y código de Trezor Safe 5",
        "fr": "Analyse de garde et de code du Trezor Safe 5"
      },
      "publisher": "WalletScrutiny",
      "url": "https://walletscrutiny.com/hardware/trezorSafe5/",
      "kind": "independent-verification",
      "updatedAt": "2026-08-28",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "walletscrutiny-ledger",
      "title": {
        "en": "Ledger Flex custody and code review",
        "es": "Análisis de custodia y código de Ledger Flex",
        "fr": "Analyse de garde et de code du Ledger Flex"
      },
      "publisher": "WalletScrutiny",
      "url": "https://walletscrutiny.com/hardware/ledgerFlex/",
      "kind": "independent-verification",
      "updatedAt": "2026-08-28",
      "checkedAt": "2026-08-28"
    },
    {
      "id": "bitbo-mk4",
      "title": {
        "en": "COLDCARD Mk4 review and advisory note",
        "es": "Análisis de COLDCARD Mk4 y aviso",
        "fr": "Analyse du COLDCARD Mk4 et avertissement"
      },
      "publisher": "Bitbo",
      "url": "https://bitbo.io/tools/coldcard-mk4-review/",
      "kind": "independent-review",
      "checkedAt": "2026-08-28"
    }
  ],
  "evidence": [
    {
      "id": "coldcard-q-signing-key-isolation",
      "productId": "coldcard-q",
      "controlId": "signing-key-isolation",
      "categoryId": "custody",
      "state": "documented",
      "conclusion": {
        "en": "Coinkite documents offline key generation and PSBT signing on the device.",
        "es": "Coinkite documenta la generación de claves sin conexión y la firma PSBT en el dispositivo.",
        "fr": "Coinkite documente la génération de clés hors ligne et la signature PSBT sur l’appareil."
      },
      "sourceIds": [
        "coinkite-q-docs"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/coldcard-q/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-q-secret-separation",
      "productId": "coldcard-q",
      "controlId": "secret-separation",
      "categoryId": "backup",
      "state": "documented",
      "conclusion": {
        "en": "The device supports a BIP39 passphrase and warns users to store it separately from the seed.",
        "es": "El dispositivo admite una frase BIP39 y aconseja guardarla separada de la semilla.",
        "fr": "L’appareil accepte une phrase BIP39 et recommande de la conserver séparément de la graine."
      },
      "sourceIds": [
        "coinkite-passphrase"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/passphrase/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-q-recovery-check",
      "productId": "coldcard-q",
      "controlId": "recovery-check",
      "categoryId": "recovery",
      "state": "documented",
      "conclusion": {
        "en": "Setup and backup documentation includes verification and encrypted backup procedures.",
        "es": "La documentación de configuración y copia incluye procedimientos de verificación y respaldo cifrado.",
        "fr": "La documentation de configuration et de sauvegarde comprend des procédures de vérification et de sauvegarde chiffrée."
      },
      "sourceIds": [
        "coinkite-q-quickstart",
        "coinkite-backups"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/q-quick/",
        "https://coldcard.com/docs/backups/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-q-authenticated-firmware",
      "productId": "coldcard-q",
      "controlId": "authenticated-firmware",
      "categoryId": "access",
      "state": "documented",
      "conclusion": {
        "en": "Signed firmware verification and a current security-status page are published. The active advisory still requires users to check firmware and seed-migration guidance.",
        "es": "Se publican la verificación del firmware firmado y el estado de seguridad. El aviso activo aún exige comprobar el firmware y la guía de migración de semillas.",
        "fr": "La vérification du micrologiciel signé et l’état de sécurité sont publiés. L’avertissement actif impose encore de vérifier le micrologiciel et les consignes de migration de graine."
      },
      "sourceIds": [
        "coinkite-firmware",
        "coinkite-security-status"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/upgrade/",
        "https://coldcard.com/security/status"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-q-trusted-display",
      "productId": "coldcard-q",
      "controlId": "trusted-display",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "The device displays transaction details and can verify wallet address ownership by QR or NFC.",
        "es": "El dispositivo muestra los datos de la transacción y puede verificar direcciones por QR o NFC.",
        "fr": "L’appareil affiche les données de transaction et peut vérifier les adresses par QR ou NFC."
      },
      "sourceIds": [
        "coinkite-q-quickstart",
        "coinkite-address-verification"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/q-quick/",
        "https://coldcard.com/docs/verify-address-ownership/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-q-separated-transaction-roles",
      "productId": "coldcard-q",
      "controlId": "separated-transaction-roles",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "The documented PSBT workflow separates transaction creation, device signing, and broadcast.",
        "es": "El flujo PSBT documentado separa la creación, la firma en el dispositivo y la difusión.",
        "fr": "Le flux PSBT documenté sépare la création, la signature sur l’appareil et la diffusion."
      },
      "sourceIds": [
        "coinkite-q-quickstart"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/q-quick/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-signing-key-isolation",
      "productId": "coldcard-mk4",
      "controlId": "signing-key-isolation",
      "categoryId": "custody",
      "state": "documented",
      "conclusion": {
        "en": "Current documentation covers offline signing and device-held keys for the supported Mk4.",
        "es": "La documentación actual cubre la firma sin conexión y las claves guardadas en el Mk4.",
        "fr": "La documentation actuelle couvre la signature hors ligne et les clés conservées dans le Mk4."
      },
      "sourceIds": [
        "coinkite-mk4-product",
        "coinkite-q-docs"
      ],
      "sourceUrls": [
        "https://coldcard.com/mk4",
        "https://coldcard.com/docs/coldcard-q/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-secret-separation",
      "productId": "coldcard-mk4",
      "controlId": "secret-separation",
      "categoryId": "backup",
      "state": "documented",
      "conclusion": {
        "en": "Mk4 supports a BIP39 passphrase with separate backup guidance.",
        "es": "Mk4 admite una frase BIP39 con instrucciones para guardarla por separado.",
        "fr": "Le Mk4 accepte une phrase BIP39 avec des consignes de sauvegarde séparée."
      },
      "sourceIds": [
        "coinkite-passphrase"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/passphrase/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-recovery-check",
      "productId": "coldcard-mk4",
      "controlId": "recovery-check",
      "categoryId": "recovery",
      "state": "documented",
      "conclusion": {
        "en": "Encrypted backups and seed verification remain documented for current Mk4 firmware.",
        "es": "Las copias cifradas y la verificación de la semilla siguen documentadas para el firmware actual de Mk4.",
        "fr": "Les sauvegardes chiffrées et la vérification de la graine restent documentées pour le micrologiciel actuel du Mk4."
      },
      "sourceIds": [
        "coinkite-backups"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/backups/"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-authenticated-firmware",
      "productId": "coldcard-mk4",
      "controlId": "authenticated-firmware",
      "categoryId": "access",
      "state": "documented",
      "conclusion": {
        "en": "Signed firmware verification is documented. Owners must also review the current seed-generation advisory and migration instructions.",
        "es": "La verificación del firmware firmado está documentada. Los propietarios también deben revisar el aviso sobre generación de semillas y la migración.",
        "fr": "La vérification du micrologiciel signé est documentée. Les propriétaires doivent aussi lire l’avertissement sur la génération des graines et la migration."
      },
      "sourceIds": [
        "coinkite-firmware",
        "coinkite-security-status"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/upgrade/",
        "https://coldcard.com/security/status"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-trusted-display",
      "productId": "coldcard-mk4",
      "controlId": "trusted-display",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "Mk4 confirms transaction details on-device and supports NFC address ownership checks.",
        "es": "Mk4 confirma los datos de la transacción en el dispositivo y verifica direcciones por NFC.",
        "fr": "Le Mk4 confirme les données de transaction sur l’appareil et vérifie les adresses par NFC."
      },
      "sourceIds": [
        "coinkite-address-verification",
        "coinkite-mk4-product"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/verify-address-ownership/",
        "https://coldcard.com/mk4"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "coldcard-mk4-separated-transaction-roles",
      "productId": "coldcard-mk4",
      "controlId": "separated-transaction-roles",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "The supported microSD PSBT workflow separates creation, signing, and broadcast.",
        "es": "El flujo PSBT por microSD separa la creación, la firma y la difusión.",
        "fr": "Le flux PSBT par microSD sépare la création, la signature et la diffusion."
      },
      "sourceIds": [
        "coinkite-q-docs",
        "coinkite-mk4-product"
      ],
      "sourceUrls": [
        "https://coldcard.com/docs/coldcard-q/",
        "https://coldcard.com/mk4"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-signing-key-isolation",
      "productId": "trezor-safe-5",
      "controlId": "signing-key-isolation",
      "categoryId": "custody",
      "state": "documented",
      "conclusion": {
        "en": "Trezor documents offline private-key storage and PIN enforcement through the Secure Element.",
        "es": "Trezor documenta claves privadas sin conexión y la aplicación del PIN mediante el elemento seguro.",
        "fr": "Trezor documente les clés privées hors ligne et l’application du code PIN par l’élément sécurisé."
      },
      "sourceIds": [
        "trezor-safe-5-product",
        "trezor-security"
      ],
      "sourceUrls": [
        "https://trezor.io/trezor-safe-5",
        "https://trezor.io/learn/security-privacy/how-trezor-keeps-you-safe/security-safety-in-trezor"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-secret-separation",
      "productId": "trezor-safe-5",
      "controlId": "secret-separation",
      "categoryId": "backup",
      "state": "documented",
      "conclusion": {
        "en": "Safe 5 supports passphrase entry and confirmation directly on its touchscreen.",
        "es": "Safe 5 permite introducir y confirmar la frase directamente en su pantalla táctil.",
        "fr": "Le Safe 5 permet de saisir et de confirmer la phrase directement sur son écran tactile."
      },
      "sourceIds": [
        "trezor-passphrase"
      ],
      "sourceUrls": [
        "https://trezor.io/learn/a/passphrase-confirmation-on-trezor-screen"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-recovery-check",
      "productId": "trezor-safe-5",
      "controlId": "recovery-check",
      "categoryId": "recovery",
      "state": "documented",
      "conclusion": {
        "en": "Trezor provides an on-device Check backup procedure for Safe 5.",
        "es": "Trezor ofrece un procedimiento de comprobación de copia en el Safe 5.",
        "fr": "Trezor propose une procédure de vérification de sauvegarde sur le Safe 5."
      },
      "sourceIds": [
        "trezor-backup-check"
      ],
      "sourceUrls": [
        "https://trezor.io/guides/backups-recovery/general-standards/check-backup-on-trezor-safe-5"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-authenticated-firmware",
      "productId": "trezor-safe-5",
      "controlId": "authenticated-firmware",
      "categoryId": "access",
      "state": "documented",
      "conclusion": {
        "en": "The bootloader checks signed firmware and Trezor Suite performs firmware revision and hash checks.",
        "es": "El cargador comprueba el firmware firmado y Trezor Suite revisa la versión y el hash.",
        "fr": "Le chargeur vérifie le micrologiciel signé et Trezor Suite contrôle la version et le hash."
      },
      "sourceIds": [
        "trezor-security",
        "trezor-firmware-check"
      ],
      "sourceUrls": [
        "https://trezor.io/learn/security-privacy/how-trezor-keeps-you-safe/security-safety-in-trezor",
        "https://trezor.io/learn/security-privacy/how-trezor-keeps-you-safe/firmware-hash-check-how-trezor-suite-verifies-your-firmware"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-trusted-display",
      "productId": "trezor-safe-5",
      "controlId": "trusted-display",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "Safe 5 requires transaction confirmation on its touchscreen and tells users to verify addresses on-device.",
        "es": "Safe 5 exige confirmar la transacción en su pantalla y verificar las direcciones en el dispositivo.",
        "fr": "Le Safe 5 exige la confirmation sur son écran et la vérification des adresses sur l’appareil."
      },
      "sourceIds": [
        "trezor-safe-5-product"
      ],
      "sourceUrls": [
        "https://trezor.io/trezor-safe-5"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "trezor-safe-5-separated-transaction-roles",
      "productId": "trezor-safe-5",
      "controlId": "separated-transaction-roles",
      "categoryId": "transaction",
      "state": "not-verified",
      "conclusion": {
        "en": "Eligible sources show host-side creation and device confirmation, but did not verify a general PSBT interchange workflow by the cutoff.",
        "es": "Las fuentes muestran creación en el equipo y confirmación en el dispositivo, pero no verifican un flujo PSBT general antes del cierre.",
        "fr": "Les sources montrent la création sur l’ordinateur et la confirmation sur l’appareil, sans vérifier un flux PSBT général avant la date limite."
      },
      "sourceIds": [
        "trezor-safe-5-product"
      ],
      "sourceUrls": [
        "https://trezor.io/trezor-safe-5"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-signing-key-isolation",
      "productId": "ledger-flex",
      "controlId": "signing-key-isolation",
      "categoryId": "custody",
      "state": "documented",
      "conclusion": {
        "en": "Ledger documents private-key storage and signing inside the device Secure Element.",
        "es": "Ledger documenta el almacenamiento y la firma de claves dentro del elemento seguro.",
        "fr": "Ledger documente le stockage et la signature des clés dans l’élément sécurisé."
      },
      "sourceIds": [
        "ledger-flex-product",
        "ledger-offline-keys"
      ],
      "sourceUrls": [
        "https://shop.ledger.com/products/ledger-flex",
        "https://www.ledger.com/academy/topics/ledgersolutions/an-offline-key-is-the-only-key-how-ledger-wallets-store-private-keys-offline"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-secret-separation",
      "productId": "ledger-flex",
      "controlId": "secret-separation",
      "categoryId": "backup",
      "state": "documented",
      "conclusion": {
        "en": "Flex supports direct passphrase entry and separate passphrase-protected accounts.",
        "es": "Flex permite introducir la frase en el dispositivo y crear cuentas protegidas separadas.",
        "fr": "Flex permet de saisir la phrase sur l’appareil et de créer des comptes protégés distincts."
      },
      "sourceIds": [
        "ledger-passphrase"
      ],
      "sourceUrls": [
        "https://www.ledger.com/academy/passphrase-an-advanced-security-feature"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-recovery-check",
      "productId": "ledger-flex",
      "controlId": "recovery-check",
      "categoryId": "recovery",
      "state": "documented",
      "conclusion": {
        "en": "Ledger documents its Recovery Check application for comparing the recorded phrase with the device wallet.",
        "es": "Ledger documenta su aplicación Recovery Check para comparar la frase anotada con la cartera del dispositivo.",
        "fr": "Ledger documente son application Recovery Check pour comparer la phrase notée avec le portefeuille de l’appareil."
      },
      "sourceIds": [
        "ledger-recovery-check"
      ],
      "sourceUrls": [
        "https://www.ledger.com/academy/basic-basics/2-how-to-own-crypto/whats-a-secret-recovery-phrase"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-authenticated-firmware",
      "productId": "ledger-flex",
      "controlId": "authenticated-firmware",
      "categoryId": "access",
      "state": "documented",
      "conclusion": {
        "en": "Ledger documents genuine-device checks and maintained firmware, while its low-level Secure Element code remains closed.",
        "es": "Ledger documenta la autenticidad y el firmware mantenido, aunque el código de bajo nivel del elemento seguro sigue cerrado.",
        "fr": "Ledger documente l’authenticité et le micrologiciel maintenu, tandis que le code bas niveau de l’élément sécurisé reste fermé."
      },
      "sourceIds": [
        "ledger-flex-product",
        "ledger-source-model"
      ],
      "sourceUrls": [
        "https://shop.ledger.com/products/ledger-flex",
        "https://www.ledger.com/academy/topics/ledgersolutions/is-ledger-open-source"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-trusted-display",
      "productId": "ledger-flex",
      "controlId": "trusted-display",
      "categoryId": "transaction",
      "state": "documented",
      "conclusion": {
        "en": "The Secure Element drives the Flex touchscreen used to review transaction details before approval.",
        "es": "El elemento seguro controla la pantalla de Flex usada para revisar la transacción antes de aprobarla.",
        "fr": "L’élément sécurisé pilote l’écran du Flex utilisé pour vérifier la transaction avant approbation."
      },
      "sourceIds": [
        "ledger-clear-signing",
        "ledger-offline-keys"
      ],
      "sourceUrls": [
        "https://www.ledger.com/academy/topics/ledgersolutions/ledger-live-clear-signing-the-safest-way-to-approve-crypto-transactions",
        "https://www.ledger.com/academy/topics/ledgersolutions/an-offline-key-is-the-only-key-how-ledger-wallets-store-private-keys-offline"
      ],
      "reviewedAt": "2026-08-28"
    },
    {
      "id": "ledger-flex-separated-transaction-roles",
      "productId": "ledger-flex",
      "controlId": "separated-transaction-roles",
      "categoryId": "transaction",
      "state": "not-verified",
      "conclusion": {
        "en": "Documentation separates host creation, offline signing, and broadcast, but eligible sources did not verify a general PSBT interchange workflow by the cutoff.",
        "es": "La documentación separa creación, firma sin conexión y difusión, pero no verifica un flujo PSBT general antes del cierre.",
        "fr": "La documentation sépare création, signature hors ligne et diffusion, sans vérifier un flux PSBT général avant la date limite."
      },
      "sourceIds": [
        "ledger-offline-keys"
      ],
      "sourceUrls": [
        "https://www.ledger.com/academy/topics/ledgersolutions/an-offline-key-is-the-only-key-how-ledger-wallets-store-private-keys-offline"
      ],
      "reviewedAt": "2026-08-28"
    }
  ],
  "productSummaries": [
    {
      "productId": "coldcard-q",
      "states": [
        {
          "state": "documented",
          "count": 6
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "productId": "coldcard-mk4",
      "states": [
        {
          "state": "documented",
          "count": 6
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "productId": "trezor-safe-5",
      "states": [
        {
          "state": "documented",
          "count": 5
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 1
        }
      ]
    },
    {
      "productId": "ledger-flex",
      "states": [
        {
          "state": "documented",
          "count": 5
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 1
        }
      ]
    }
  ],
  "categorySummaries": [
    {
      "categoryId": "custody",
      "states": [
        {
          "state": "documented",
          "count": 4
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "categoryId": "backup",
      "states": [
        {
          "state": "documented",
          "count": 4
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "categoryId": "recovery",
      "states": [
        {
          "state": "documented",
          "count": 4
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "categoryId": "access",
      "states": [
        {
          "state": "documented",
          "count": 4
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 0
        }
      ]
    },
    {
      "categoryId": "transaction",
      "states": [
        {
          "state": "documented",
          "count": 6
        },
        {
          "state": "not-documented",
          "count": 0
        },
        {
          "state": "not-applicable",
          "count": 0
        },
        {
          "state": "disputed",
          "count": 0
        },
        {
          "state": "not-verified",
          "count": 2
        }
      ]
    }
  ],
  "revisions": [
    {
      "revision": "1.0.0",
      "date": "2026-08-28",
      "summary": {
        "en": "Initial 2026 edition with four products, six controls, and twenty-four evidence records.",
        "es": "Edición inicial de 2026 con cuatro productos, seis controles y veinticuatro registros.",
        "fr": "Première édition 2026 avec quatre produits, six contrôles et vingt-quatre fiches."
      }
    }
  ]
}
