{
    "status": "approved",
    "schema_version": 1,
    "compiled": "2026-10-22",
    "note": "Pilot catalogue of post-quantum readiness evidence for selected products, read on official vendor and project pages on 22 October 2026. Each assertion covers one exact release range, function and role, in the portal's own words with a locator. Vendor documentation is the vendor's own claim, not independent validation. An assertion appears publicly only after an editor approves it. Not compliance advice.",
    "coverage": "Thirty-nine product families in ten categories, including four Linux distributions; not a complete market view. A product, version or function that is not listed has no verified information here, which is not the same as no support.",
    "disclaimer": "Not compliance advice, not a certification and not a score. Vendor documentation is the vendor claim, not independent validation. Unknown is not unsupported.",
    "legend": {
        "capabilities": {
            "generally-available": "Generally available",
            "preview": "Preview",
            "announced-roadmap": "Announced roadmap",
            "unsupported": "Explicitly unsupported for this scope",
            "no-verified-information": "No verified information"
        },
        "review_states": {
            "candidate": "Candidate: not verified, not public",
            "reviewed": "Reviewed against the source",
            "disputed": "Disputed: sources disagree",
            "stale": "Stale: the source changed or is due for review",
            "superseded": "Superseded by a later assertion"
        },
        "date_types": {
            "vendor-release": "Vendor release date",
            "preview-release": "Vendor preview date",
            "roadmap-target": "Vendor roadmap target (not a release)",
            "end-of-support": "Product end of support",
            "authority-guidance": "Authority guidance target",
            "binding-obligation": "Binding obligation (verified)",
            "organisation-plan": "Organisation planned date (set by you)",
            "none": "No published date"
        },
        "edge_types": {
            "depends-on": "Depends on",
            "requires-version": "Requires version",
            "enables-feature": "Enables feature",
            "replaces": "Replaces",
            "blocked-by": "Blocked by"
        },
        "functions": {
            "tls-key-establishment": "TLS key establishment",
            "certificate-signatures": "Certificate signatures",
            "ssh-key-exchange": "SSH key exchange",
            "vpn-key-exchange": "VPN / IPsec key exchange",
            "code-signing": "Code and document signing",
            "pki-issuance": "PKI / CA certificate issuance",
            "hsm-keys": "HSM key storage and operations",
            "crypto-api": "Algorithms in the cryptographic API",
            "managed-keys": "Cloud-managed keys"
        }
    },
    "vendors": [
        {
            "id": "microsoft",
            "name": "Microsoft",
            "domains": [
                "microsoft.com"
            ]
        },
        {
            "id": "openssl",
            "name": "OpenSSL Project",
            "domains": [
                "openssl-library.org",
                "openssl.org",
                "github.com"
            ]
        },
        {
            "id": "openssh",
            "name": "OpenSSH (OpenBSD project)",
            "domains": [
                "openssh.org",
                "openssh.com"
            ]
        },
        {
            "id": "google",
            "name": "Google",
            "domains": [
                "blog.google",
                "googleblog.com",
                "chromium.org",
                "google.com"
            ]
        },
        {
            "id": "mozilla",
            "name": "Mozilla",
            "domains": [
                "firefox.com",
                "mozilla.org"
            ]
        },
        {
            "id": "cloudflare",
            "name": "Cloudflare",
            "domains": [
                "cloudflare.com"
            ]
        },
        {
            "id": "aws",
            "name": "Amazon Web Services",
            "domains": [
                "amazon.com"
            ]
        },
        {
            "id": "strongswan",
            "name": "strongSwan project",
            "domains": [
                "strongswan.org"
            ]
        },
        {
            "id": "wireguard",
            "name": "WireGuard project",
            "domains": [
                "wireguard.com"
            ]
        },
        {
            "id": "thales",
            "name": "Thales",
            "domains": [
                "thalesdocs.com"
            ]
        },
        {
            "id": "openjdk",
            "name": "OpenJDK project",
            "domains": [
                "openjdk.org"
            ]
        },
        {
            "id": "go",
            "name": "The Go project",
            "domains": [
                "go.dev"
            ]
        },
        {
            "id": "isrg",
            "name": "Internet Security Research Group (Let's Encrypt)",
            "domains": [
                "letsencrypt.org"
            ]
        },
        {
            "id": "cab-forum",
            "name": "CA/Browser Forum",
            "domains": [
                "cabforum.org"
            ]
        },
        {
            "id": "botan",
            "name": "Botan project",
            "domains": [
                "randombit.net"
            ]
        },
        {
            "id": "apple",
            "name": "Apple",
            "domains": [
                "apple.com"
            ]
        },
        {
            "id": "rosenpass",
            "name": "Rosenpass project",
            "domains": [
                "rosenpass.eu"
            ]
        },
        {
            "id": "wolfssl",
            "name": "wolfSSL",
            "domains": [
                "wolfssl.com",
                "github.com"
            ]
        },
        {
            "id": "oqs",
            "name": "Open Quantum Safe project",
            "domains": [
                "openquantumsafe.org",
                "github.com"
            ]
        },
        {
            "id": "bouncycastle",
            "name": "Legion of the Bouncy Castle",
            "domains": [
                "bouncycastle.org"
            ]
        },
        {
            "id": "gnutls",
            "name": "GnuTLS project",
            "domains": [
                "gnutls.org",
                "gitlab.com"
            ]
        },
        {
            "id": "entrust",
            "name": "Entrust",
            "domains": [
                "entrust.com"
            ]
        },
        {
            "id": "utimaco",
            "name": "Utimaco",
            "domains": [
                "utimaco.com"
            ]
        },
        {
            "id": "fortinet",
            "name": "Fortinet",
            "domains": [
                "fortinet.com"
            ]
        },
        {
            "id": "paloalto",
            "name": "Palo Alto Networks",
            "domains": [
                "paloaltonetworks.com"
            ]
        },
        {
            "id": "keyfactor",
            "name": "Keyfactor (EJBCA)",
            "domains": [
                "keyfactor.com"
            ]
        },
        {
            "id": "nodejs",
            "name": "Node.js project (OpenJS Foundation)",
            "domains": [
                "nodejs.org"
            ]
        },
        {
            "id": "cryptonext",
            "name": "CryptoNext Security",
            "domains": [
                "cryptonext-security.com"
            ]
        },
        {
            "id": "rustls",
            "name": "rustls project",
            "domains": [
                "github.com"
            ]
        },
        {
            "id": "securosys",
            "name": "Securosys",
            "domains": [
                "securosys.com"
            ]
        },
        {
            "id": "pqshield",
            "name": "PQShield",
            "domains": [
                "pqshield.com"
            ]
        },
        {
            "id": "redhat",
            "name": "Red Hat",
            "domains": [
                "redhat.com"
            ]
        },
        {
            "id": "canonical",
            "name": "Canonical (Ubuntu)",
            "domains": [
                "ubuntu.com"
            ]
        },
        {
            "id": "debian",
            "name": "Debian Project",
            "domains": [
                "debian.org"
            ]
        },
        {
            "id": "suse",
            "name": "SUSE",
            "domains": [
                "suse.com"
            ]
        }
    ],
    "families": [
        {
            "id": "windows-server",
            "vendor": "microsoft",
            "name": "Windows Server",
            "category": "operating-system",
            "version_scheme": "year",
            "aliases": [
                "windows",
                "ms windows",
                "microsoft windows",
                "windows server",
                "win server"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:microsoft:windows_server",
                "purl": null
            },
            "confirm": "Confirm that this is Windows Server and not a Windows client edition, note the OS build (winver), the application and which cryptographic stack it uses (Schannel TLS, AD CS or a library of its own).",
            "releases": [
                {
                    "version": "2022",
                    "label": "Windows Server 2022",
                    "build_hint": "Check the OS build with winver or systeminfo."
                },
                {
                    "version": "2025",
                    "label": "Windows Server 2025",
                    "build_hint": "OS build 26100 series; KB5099536 is OS build 26100.33158."
                }
            ]
        },
        {
            "id": "openssl",
            "vendor": "openssl",
            "name": "OpenSSL",
            "category": "crypto-library",
            "version_scheme": "dotted-letter",
            "aliases": [
                "openssl",
                "libssl",
                "libcrypto"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:openssl:openssl",
                "purl": "pkg:github/openssl/openssl"
            },
            "confirm": "Confirm which OpenSSL the application actually loads (openssl version, or the library bundled with the application), and whether it uses the default provider or a third-party one.",
            "releases": [
                {
                    "version": "1.1.1",
                    "label": "OpenSSL 1.1.1",
                    "build_hint": null
                },
                {
                    "version": "3.0.0",
                    "label": "OpenSSL 3.0",
                    "build_hint": null
                },
                {
                    "version": "3.1.0",
                    "label": "OpenSSL 3.1",
                    "build_hint": null
                },
                {
                    "version": "3.2.0",
                    "label": "OpenSSL 3.2",
                    "build_hint": null
                },
                {
                    "version": "3.3.0",
                    "label": "OpenSSL 3.3",
                    "build_hint": null
                },
                {
                    "version": "3.4.0",
                    "label": "OpenSSL 3.4",
                    "build_hint": null
                },
                {
                    "version": "3.5.0",
                    "label": "OpenSSL 3.5",
                    "build_hint": null
                },
                {
                    "version": "3.6.0",
                    "label": "OpenSSL 3.6",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "openssh",
            "vendor": "openssh",
            "name": "OpenSSH",
            "category": "ssh",
            "version_scheme": "openssh",
            "aliases": [
                "openssh",
                "ssh",
                "sshd"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:openbsd:openssh",
                "purl": null
            },
            "confirm": "Confirm the OpenSSH version on both ends (ssh -V on the client, sshd -V or the package version on the server); vendor builds may differ from the upstream release.",
            "releases": [
                {
                    "version": "8.9",
                    "label": "OpenSSH 8.9",
                    "build_hint": null
                },
                {
                    "version": "9.0",
                    "label": "OpenSSH 9.0",
                    "build_hint": null
                },
                {
                    "version": "9.9",
                    "label": "OpenSSH 9.9",
                    "build_hint": null
                },
                {
                    "version": "10.0",
                    "label": "OpenSSH 10.0",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "chrome",
            "vendor": "google",
            "name": "Google Chrome",
            "category": "browser",
            "version_scheme": "integer",
            "aliases": [
                "chrome",
                "google chrome",
                "chromium"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:google:chrome",
                "purl": null
            },
            "confirm": "Confirm the Chrome major version (chrome://version) and the platform; desktop and Android launched at different times.",
            "releases": [
                {
                    "version": "124",
                    "label": "Chrome 124",
                    "build_hint": null
                },
                {
                    "version": "131",
                    "label": "Chrome 131",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "firefox",
            "vendor": "mozilla",
            "name": "Mozilla Firefox",
            "category": "browser",
            "version_scheme": "integer",
            "aliases": [
                "firefox",
                "mozilla firefox"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:mozilla:firefox",
                "purl": null
            },
            "confirm": "Confirm the Firefox version (about:support) and whether it is the desktop or the Android edition.",
            "releases": [
                {
                    "version": "132",
                    "label": "Firefox 132",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "cloudflare",
            "vendor": "cloudflare",
            "name": "Cloudflare network",
            "category": "cdn",
            "version_scheme": "service",
            "aliases": [
                "cloudflare",
                "cdn"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm which connections pass through Cloudflare (visitor to edge, edge to origin, tunnels) and the TLS version used on each.",
            "releases": [
                {
                    "version": "current",
                    "label": "Cloudflare network (current service)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "aws-kms",
            "vendor": "aws",
            "name": "AWS Key Management Service",
            "category": "cloud-kms",
            "version_scheme": "service",
            "aliases": [
                "aws kms",
                "kms",
                "amazon kms",
                "aws key management service",
                "acm",
                "secrets manager"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the AWS service and Region, whether a FIPS endpoint is used, and the SDK and HTTP client of the calling application.",
            "releases": [
                {
                    "version": "current",
                    "label": "AWS KMS (current service)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "azure-key-vault",
            "vendor": "microsoft",
            "name": "Azure Key Vault",
            "category": "cloud-kms",
            "version_scheme": "service",
            "aliases": [
                "azure key vault",
                "key vault",
                "akv",
                "managed hsm"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm whether a vault or a Managed HSM is used, and which key types and operations the application needs.",
            "releases": [
                {
                    "version": "current",
                    "label": "Azure Key Vault (current service)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "strongswan",
            "vendor": "strongswan",
            "name": "strongSwan",
            "category": "vpn",
            "version_scheme": "dotted",
            "aliases": [
                "strongswan",
                "ipsec",
                "ikev2"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the strongSwan version on both IKEv2 peers and which crypto plugin provides the algorithms.",
            "releases": [
                {
                    "version": "6.0.0",
                    "label": "strongSwan 6.0.0",
                    "build_hint": null
                },
                {
                    "version": "6.0.2",
                    "label": "strongSwan 6.0.2",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "wireguard",
            "vendor": "wireguard",
            "name": "WireGuard protocol",
            "category": "vpn",
            "version_scheme": "service",
            "aliases": [
                "wireguard",
                "wg"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the WireGuard implementation in use and whether an optional pre-shared key is configured.",
            "releases": [
                {
                    "version": "current",
                    "label": "WireGuard protocol (current specification)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "thales-luna",
            "vendor": "thales",
            "name": "Thales Luna Network HSM 7",
            "category": "hsm",
            "version_scheme": "dotted",
            "aliases": [
                "luna",
                "thales luna",
                "luna hsm",
                "safenet luna",
                "hsm"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the HSM firmware, appliance software and client versions, and whether a FIPS-validated firmware is required by your policy.",
            "releases": [
                {
                    "version": "7.9.0",
                    "label": "Luna HSM Firmware 7.9.0",
                    "build_hint": null
                },
                {
                    "version": "7.9.2",
                    "label": "Luna HSM Firmware 7.9.2",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "openjdk",
            "vendor": "openjdk",
            "name": "OpenJDK (Java SE)",
            "category": "runtime",
            "version_scheme": "integer",
            "aliases": [
                "java",
                "jdk",
                "openjdk",
                "jre"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the Java feature release (java -version) and whether the application uses the JDK providers or a third-party provider such as a vendor library.",
            "releases": [
                {
                    "version": "21",
                    "label": "JDK 21",
                    "build_hint": null
                },
                {
                    "version": "24",
                    "label": "JDK 24",
                    "build_hint": null
                },
                {
                    "version": "27",
                    "label": "JDK 27",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "dotnet",
            "vendor": "microsoft",
            "name": ".NET",
            "category": "runtime",
            "version_scheme": "integer",
            "aliases": [
                ".net",
                "dotnet",
                "net core",
                "asp.net"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the .NET release (dotnet --info) and the operating system underneath: on Linux the algorithms come from OpenSSL, on Windows from CNG.",
            "releases": [
                {
                    "version": "8",
                    "label": ".NET 8",
                    "build_hint": null
                },
                {
                    "version": "9",
                    "label": ".NET 9",
                    "build_hint": null
                },
                {
                    "version": "10",
                    "label": ".NET 10",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "go",
            "vendor": "go",
            "name": "Go (crypto/tls and crypto packages)",
            "category": "runtime",
            "version_scheme": "dotted",
            "aliases": [
                "go",
                "golang"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the Go toolchain version the binary was built with (go version -m) and whether it sets its own TLS curve preferences.",
            "releases": [
                {
                    "version": "1.23",
                    "label": "Go 1.23",
                    "build_hint": null
                },
                {
                    "version": "1.24",
                    "label": "Go 1.24",
                    "build_hint": null
                },
                {
                    "version": "1.26",
                    "label": "Go 1.26",
                    "build_hint": null
                },
                {
                    "version": "1.27",
                    "label": "Go 1.27",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "lets-encrypt",
            "vendor": "isrg",
            "name": "Let's Encrypt certificate authority",
            "category": "public-pki",
            "version_scheme": "service",
            "aliases": [
                "let's encrypt",
                "letsencrypt",
                "public ca",
                "public certificate authority",
                "public pki"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm which certificates are publicly trusted TLS server certificates and which come from an internal PKI; the two follow different rules.",
            "releases": [
                {
                    "version": "current",
                    "label": "Let's Encrypt (current service)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "botan",
            "vendor": "botan",
            "name": "Botan",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "botan",
                "botan3",
                "libbotan"
            ],
            "identifiers": {
                "cpe": null,
                "purl": "pkg:github/randombit/botan"
            },
            "confirm": "Confirm the Botan version the application links (botan version, or the package version) and whether it uses Botan TLS or only its algorithms.",
            "releases": [
                {
                    "version": "3.6.0",
                    "label": "Botan 3.6.0",
                    "build_hint": null
                },
                {
                    "version": "3.7.0",
                    "label": "Botan 3.7.0",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "apple-ios",
            "vendor": "apple",
            "name": "Apple iOS and iPadOS",
            "category": "operating-system",
            "version_scheme": "integer",
            "aliases": [
                "ios",
                "ipados",
                "iphone",
                "ipad",
                "apple ios"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:apple:iphone_os",
                "purl": null
            },
            "confirm": "Confirm the iOS or iPadOS major version on the managed devices and whether the application uses the system TLS stack or a TLS library of its own.",
            "releases": [
                {
                    "version": "26",
                    "label": "iOS 26",
                    "build_hint": "Settings, General, About shows the iOS or iPadOS version."
                }
            ]
        },
        {
            "id": "apple-macos",
            "vendor": "apple",
            "name": "Apple macOS",
            "category": "operating-system",
            "version_scheme": "integer",
            "aliases": [
                "macos",
                "mac os",
                "os x",
                "macos tahoe"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:apple:macos",
                "purl": null
            },
            "confirm": "Confirm the macOS major version (About This Mac or sw_vers) and whether the application uses the system TLS stack or a TLS library of its own.",
            "releases": [
                {
                    "version": "26",
                    "label": "macOS Tahoe 26",
                    "build_hint": "sw_vers prints the macOS version."
                }
            ]
        },
        {
            "id": "rosenpass",
            "vendor": "rosenpass",
            "name": "Rosenpass",
            "category": "vpn",
            "version_scheme": "service",
            "aliases": [
                "rosenpass",
                "post-quantum wireguard"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm that Rosenpass runs next to WireGuard on both ends of the tunnel and feeds its pre-shared key to WireGuard.",
            "releases": [
                {
                    "version": "current",
                    "label": "Rosenpass (current project)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "wolfssl",
            "vendor": "wolfssl",
            "name": "wolfSSL",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "wolfssl",
                "wolfcrypt"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:wolfssl:wolfssl",
                "purl": "pkg:github/wolfssl/wolfssl"
            },
            "confirm": "Confirm the wolfSSL version and the build options of the product that embeds it; post-quantum algorithms depend on how the library was configured.",
            "releases": [
                {
                    "version": "5.7.4",
                    "label": "wolfSSL 5.7.4",
                    "build_hint": null
                },
                {
                    "version": "5.9.1",
                    "label": "wolfSSL 5.9.1",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "liboqs",
            "vendor": "oqs",
            "name": "liboqs (Open Quantum Safe)",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "liboqs",
                "open quantum safe",
                "oqs"
            ],
            "identifiers": {
                "cpe": null,
                "purl": "pkg:github/open-quantum-safe/liboqs"
            },
            "confirm": "Confirm the liboqs version and whether it is used directly or through a provider such as oqs-provider; the project advises against production use.",
            "releases": [
                {
                    "version": "0.11.0",
                    "label": "liboqs 0.11.0",
                    "build_hint": null
                },
                {
                    "version": "0.12.0",
                    "label": "liboqs 0.12.0",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "bouncy-castle",
            "vendor": "bouncycastle",
            "name": "Bouncy Castle for Java",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "bouncy castle",
                "bouncycastle",
                "bcprov",
                "bc-java"
            ],
            "identifiers": {
                "cpe": null,
                "purl": "pkg:maven/org.bouncycastle/bcprov-jdk18on"
            },
            "confirm": "Confirm the bcprov version on the application class path (several copies can be present) and whether the application uses the Bouncy Castle provider or the JDK one.",
            "releases": [
                {
                    "version": "1.79",
                    "label": "Bouncy Castle Java 1.79",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "gnutls",
            "vendor": "gnutls",
            "name": "GnuTLS",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "gnutls",
                "libgnutls"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:gnu:gnutls",
                "purl": null
            },
            "confirm": "Confirm the GnuTLS version (gnutls-cli --version) and whether it was built with leancrypto or liboqs; without them the post-quantum features are absent.",
            "releases": [
                {
                    "version": "3.8.8",
                    "label": "GnuTLS 3.8.8",
                    "build_hint": null
                },
                {
                    "version": "3.8.9",
                    "label": "GnuTLS 3.8.9",
                    "build_hint": null
                },
                {
                    "version": "3.8.10",
                    "label": "GnuTLS 3.8.10",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "nshield",
            "vendor": "entrust",
            "name": "Entrust nShield HSM (Security World)",
            "category": "hsm",
            "version_scheme": "dotted",
            "aliases": [
                "nshield",
                "entrust nshield",
                "security world",
                "nshield 5",
                "nshield connect"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the Security World software version, the HSM firmware version (enquiry) and whether the PostQuantum feature is enabled on the HSM.",
            "releases": [
                {
                    "version": "13.9.0",
                    "label": "Security World 13.9.0",
                    "build_hint": "Firmware v13.8 is shipped with Security World 13.9.0."
                }
            ]
        },
        {
            "id": "utimaco-gp-hsm",
            "vendor": "utimaco",
            "name": "Utimaco u.trust General Purpose HSM Se-Series",
            "category": "hsm",
            "version_scheme": "service",
            "aliases": [
                "utimaco",
                "u.trust",
                "utimaco hsm",
                "cryptoserver",
                "quantum protect"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the HSM model (Se-Series) and whether the Quantum Protect application package is installed; the reviewed page names no firmware version.",
            "releases": [
                {
                    "version": "current",
                    "label": "u.trust GP HSM Se-Series with Quantum Protect",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "google-cloud-kms",
            "vendor": "google",
            "name": "Google Cloud Key Management Service",
            "category": "cloud-kms",
            "version_scheme": "service",
            "aliases": [
                "google cloud kms",
                "cloud kms",
                "gcp kms"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the key ring, the protection level (software, HSM, external) and the key purpose; post-quantum algorithms depend on both.",
            "releases": [
                {
                    "version": "current",
                    "label": "Google Cloud KMS (current service)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "fortios",
            "vendor": "fortinet",
            "name": "Fortinet FortiOS (FortiGate)",
            "category": "vpn",
            "version_scheme": "dotted",
            "aliases": [
                "fortios",
                "fortigate",
                "fortinet"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:fortinet:fortios",
                "purl": null
            },
            "confirm": "Confirm the FortiOS version on each FortiGate (get system status) and which IPsec tunnels and peers are in scope.",
            "releases": [
                {
                    "version": "7.6.5",
                    "label": "FortiOS 7.6.5",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "pan-os",
            "vendor": "paloalto",
            "name": "Palo Alto Networks PAN-OS",
            "category": "vpn",
            "version_scheme": "dotted",
            "aliases": [
                "pan-os",
                "panos",
                "palo alto",
                "palo alto networks"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:paloaltonetworks:pan-os",
                "purl": null
            },
            "confirm": "Confirm the PAN-OS version on each firewall (show system info) and which IKEv2 gateways and peers are in scope.",
            "releases": [
                {
                    "version": "11.2",
                    "label": "PAN-OS 11.2",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "ejbca",
            "vendor": "keyfactor",
            "name": "Keyfactor EJBCA",
            "category": "public-pki",
            "version_scheme": "dotted",
            "aliases": [
                "ejbca",
                "keyfactor ejbca"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the EJBCA edition and version (Enterprise or Community) and the HSM or crypto token that holds the CA keys; EJBCA is CA software an organisation runs itself.",
            "releases": [
                {
                    "version": "9.1.1",
                    "label": "EJBCA 9.1.1",
                    "build_hint": "EJBCA 9.1.0 was internal only."
                }
            ]
        },
        {
            "id": "nodejs",
            "vendor": "nodejs",
            "name": "Node.js",
            "category": "runtime",
            "version_scheme": "dotted",
            "aliases": [
                "node.js",
                "nodejs",
                "node"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:nodejs:node.js",
                "purl": null
            },
            "confirm": "Confirm the Node.js version (node --version) and the OpenSSL it reports (process.versions.openssl); distribution builds may link a different OpenSSL.",
            "releases": [
                {
                    "version": "24.7.0",
                    "label": "Node.js 24.7.0",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "cryptonext-library",
            "vendor": "cryptonext",
            "name": "CryptoNext Quantum-Safe Library",
            "category": "crypto-library",
            "version_scheme": "service",
            "aliases": [
                "cryptonext",
                "cryptonext security"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the library version delivered by CryptoNext Security and its validation status with the vendor; the reviewed page names no version.",
            "releases": [
                {
                    "version": "current",
                    "label": "CryptoNext post-quantum library (current product)",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "rustls",
            "vendor": "rustls",
            "name": "rustls",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "rustls"
            ],
            "identifiers": {
                "cpe": null,
                "purl": "pkg:cargo/rustls"
            },
            "confirm": "Confirm the rustls version in Cargo.lock, the crypto provider (aws-lc-rs or ring) and the enabled Cargo features.",
            "releases": [
                {
                    "version": "0.23.27",
                    "label": "rustls 0.23.27",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "nss",
            "vendor": "mozilla",
            "name": "Mozilla NSS (Network Security Services)",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "nss",
                "network security services",
                "libnss"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:a:mozilla:network_security_services",
                "purl": null
            },
            "confirm": "Confirm the NSS version the application loads (the system package or the copy bundled with Firefox or Thunderbird).",
            "releases": [
                {
                    "version": "3.105",
                    "label": "NSS 3.105",
                    "build_hint": null
                },
                {
                    "version": "3.116",
                    "label": "NSS 3.116",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "securosys-primus",
            "vendor": "securosys",
            "name": "Securosys Primus HSM",
            "category": "hsm",
            "version_scheme": "dotted",
            "aliases": [
                "securosys",
                "primus hsm",
                "securosys primus"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the Primus HSM firmware version, the Primus PKCS#11 provider version and the OpenSSL and pkcs11-provider versions on the client host.",
            "releases": [
                {
                    "version": "3.0",
                    "label": "Primus HSM firmware 3.0",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "pqshield-pqcryptolib",
            "vendor": "pqshield",
            "name": "PQShield PQCryptoLib-Core",
            "category": "crypto-library",
            "version_scheme": "dotted",
            "aliases": [
                "pqshield",
                "pqcryptolib",
                "pqcryptolib-core"
            ],
            "identifiers": {
                "cpe": null,
                "purl": null
            },
            "confirm": "Confirm the PQCryptoLib-Core version delivered by PQShield and, for FIPS 140-3 use, the module validation of the product that embeds it.",
            "releases": [
                {
                    "version": "3.5.1",
                    "label": "PQCryptoLib-Core 3.5.1",
                    "build_hint": null
                }
            ]
        },
        {
            "id": "rhel",
            "vendor": "redhat",
            "name": "Red Hat Enterprise Linux",
            "category": "operating-system",
            "version_scheme": "dotted",
            "aliases": [
                "rhel",
                "red hat enterprise linux",
                "red hat linux",
                "redhat",
                "linux"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:redhat:enterprise_linux",
                "purl": null
            },
            "confirm": "Confirm the RHEL minor release (cat /etc/redhat-release), the system-wide cryptographic policy (update-crypto-policies --show) and whether the application uses the system OpenSSL, GnuTLS or NSS or a library of its own.",
            "releases": [
                {
                    "version": "9.6",
                    "label": "Red Hat Enterprise Linux 9.6",
                    "build_hint": "/etc/redhat-release prints the minor release."
                },
                {
                    "version": "9.7",
                    "label": "Red Hat Enterprise Linux 9.7",
                    "build_hint": "/etc/redhat-release prints the minor release."
                },
                {
                    "version": "10.0",
                    "label": "Red Hat Enterprise Linux 10.0",
                    "build_hint": "/etc/redhat-release prints the minor release."
                },
                {
                    "version": "10.1",
                    "label": "Red Hat Enterprise Linux 10.1",
                    "build_hint": "/etc/redhat-release prints the minor release."
                }
            ]
        },
        {
            "id": "ubuntu",
            "vendor": "canonical",
            "name": "Ubuntu",
            "category": "operating-system",
            "version_scheme": "dotted",
            "aliases": [
                "ubuntu",
                "ubuntu linux",
                "ubuntu server",
                "linux"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:canonical:ubuntu_linux",
                "purl": null
            },
            "confirm": "Confirm the Ubuntu release (lsb_release -d), that the openssl and openssh packages are the distribution ones, and whether the application uses the system OpenSSL or a library of its own.",
            "releases": [
                {
                    "version": "24.04",
                    "label": "Ubuntu 24.04 LTS",
                    "build_hint": "lsb_release -d prints the release."
                },
                {
                    "version": "25.10",
                    "label": "Ubuntu 25.10",
                    "build_hint": "lsb_release -d prints the release."
                },
                {
                    "version": "26.04",
                    "label": "Ubuntu 26.04 LTS",
                    "build_hint": "lsb_release -d prints the release."
                }
            ]
        },
        {
            "id": "debian",
            "vendor": "debian",
            "name": "Debian",
            "category": "operating-system",
            "version_scheme": "integer",
            "aliases": [
                "debian",
                "debian gnu/linux",
                "debian linux",
                "bookworm",
                "trixie",
                "linux"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:debian:debian_linux",
                "purl": null
            },
            "confirm": "Confirm the Debian release (/etc/debian_version), the installed openssl and openssh-server package versions (dpkg -l) and whether the application uses the system OpenSSL.",
            "releases": [
                {
                    "version": "12",
                    "label": "Debian 12 (bookworm)",
                    "build_hint": "/etc/debian_version prints the point release."
                },
                {
                    "version": "13",
                    "label": "Debian 13 (trixie)",
                    "build_hint": "/etc/debian_version prints the point release."
                }
            ]
        },
        {
            "id": "sles",
            "vendor": "suse",
            "name": "SUSE Linux Enterprise Server",
            "category": "operating-system",
            "version_scheme": "dotted",
            "aliases": [
                "sles",
                "suse linux enterprise server",
                "suse linux enterprise",
                "suse",
                "linux"
            ],
            "identifiers": {
                "cpe": "cpe:2.3:o:suse:linux_enterprise_server",
                "purl": null
            },
            "confirm": "Confirm the SLES version and service pack (/etc/os-release; 15 SP7 is entered as 15.7), the installed openssl-3 and openssh packages and the system-wide cryptographic policy.",
            "releases": [
                {
                    "version": "15.7",
                    "label": "SUSE Linux Enterprise Server 15 SP7",
                    "build_hint": "Enter 15 SP7 as 15.7; /etc/os-release prints VERSION 15-SP7."
                },
                {
                    "version": "16.0",
                    "label": "SUSE Linux Enterprise Server 16.0",
                    "build_hint": "/etc/os-release prints the version."
                }
            ]
        }
    ],
    "sources": [
        {
            "id": "ms-adcs-pqc",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn",
            "type": "vendor-documentation",
            "title": "Post-Quantum Cryptography in AD CS overview",
            "url": "https://learn.microsoft.com/en-us/windows-server/identity/ad-cs/post-quantum-cryptography-overview",
            "published": "2026-05-12",
            "updated": "2026-05-20",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "ms-kb5099536",
            "vendor": "microsoft",
            "publisher": "Microsoft Support",
            "type": "vendor-release-notes",
            "title": "July 14, 2026 - KB5099536 (OS Build 26100.33158)",
            "url": "https://support.microsoft.com/en-us/servicing/os/windows-server/2026/07/july-14-2026-kb5099536-os-build-26100-33158",
            "published": "2026-07-14",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "ms-tls-groups",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn",
            "type": "vendor-documentation",
            "title": "TLS Supported Groups in Windows 11 versions 24H2, Windows Server 2025, and later",
            "url": "https://learn.microsoft.com/en-us/windows/win32/secauthn/tls-supported-groups-in-windows-11-24h2-and-later",
            "published": "2026-05-20",
            "updated": "2026-10-20",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "ms-tlsp-appendix",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn (Open Specifications)",
            "type": "vendor-documentation",
            "title": "[MS-TLSP]: Appendix A: Product Behavior",
            "url": "https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tlsp/55bb474d-3770-4037-8798-81b2fedf578a",
            "published": null,
            "updated": "2026-09-25",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "openssl-35-release",
            "vendor": "openssl",
            "publisher": "OpenSSL Library",
            "type": "vendor-announcement",
            "title": "OpenSSL 3.5 Final Release - Live",
            "url": "https://openssl-library.org/post/2025-04-08-openssl-35-final-release/",
            "published": "2025-04-08",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "openssl-35-changes",
            "vendor": "openssl",
            "publisher": "OpenSSL Project",
            "type": "vendor-release-notes",
            "title": "CHANGES.md of the openssl-3.5 branch",
            "url": "https://github.com/openssl/openssl/blob/openssl-3.5/CHANGES.md",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "openssl-release-strategy",
            "vendor": "openssl",
            "publisher": "OpenSSL Library",
            "type": "vendor-documentation",
            "title": "Release Strategy",
            "url": "https://openssl-library.org/policies/releasestrat/",
            "published": null,
            "updated": "2026-05-07",
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "openssh-release-notes",
            "vendor": "openssh",
            "publisher": "OpenSSH",
            "type": "vendor-release-notes",
            "title": "OpenSSH Release Notes",
            "url": "https://www.openssh.org/releasenotes.html",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "openssh-9-0",
            "vendor": "openssh",
            "publisher": "OpenSSH",
            "type": "vendor-release-notes",
            "title": "OpenSSH 9.0 release notes",
            "url": "https://www.openssh.org/txt/release-9.0",
            "published": "2022-04-08",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "chrome-124-blog",
            "vendor": "google",
            "publisher": "Google (Chromium blog)",
            "type": "vendor-announcement",
            "title": "Advancing Our Amazing Bet on Asymmetric Cryptography",
            "url": "https://blog.google/chromium/advancing-our-amazing-bet-on-asymmetric/",
            "published": "2024-05-23",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "chrome-kyber-path",
            "vendor": "google",
            "publisher": "Google Security Blog",
            "type": "vendor-announcement",
            "title": "A new path for Kyber on the web",
            "url": "https://security.googleblog.com/2024/09/a-new-path-for-kyber-on-web.html",
            "published": "2024-09-13",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "cloudflare-pqc-support",
            "vendor": "cloudflare",
            "publisher": "Cloudflare",
            "type": "vendor-documentation",
            "title": "Post-quantum cryptography support (clients, libraries and servers)",
            "url": "https://developers.cloudflare.com/ssl/post-quantum-cryptography/pqc-support/",
            "published": null,
            "updated": "2026-06-24",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "cloudflare-pqc",
            "vendor": "cloudflare",
            "publisher": "Cloudflare",
            "type": "vendor-documentation",
            "title": "Post-quantum cryptography (PQC)",
            "url": "https://developers.cloudflare.com/ssl/post-quantum-cryptography/",
            "published": null,
            "updated": "2026-07-03",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "cloudflare-pqc-origin",
            "vendor": "cloudflare",
            "publisher": "Cloudflare",
            "type": "vendor-documentation",
            "title": "Post-quantum between Cloudflare and origin servers",
            "url": "https://developers.cloudflare.com/ssl/post-quantum-cryptography/pqc-to-origin/",
            "published": null,
            "updated": "2026-08-03",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "firefox-132-notes",
            "vendor": "mozilla",
            "publisher": "Mozilla",
            "type": "vendor-release-notes",
            "title": "Firefox 132.0 release notes",
            "url": "https://www.firefox.com/en-US/firefox/132.0/releasenotes/",
            "published": "2024-10-29",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "aws-kms-key-spec",
            "vendor": "aws",
            "publisher": "AWS",
            "type": "vendor-documentation",
            "title": "Key spec reference - AWS Key Management Service",
            "url": "https://docs.aws.amazon.com/kms/latest/developerguide/symm-asymm-choose-key-spec.html",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "aws-mlkem-tls",
            "vendor": "aws",
            "publisher": "AWS Security Blog",
            "type": "vendor-announcement",
            "title": "ML-KEM post-quantum TLS now supported in AWS KMS, ACM, and Secrets Manager",
            "url": "https://aws.amazon.com/blogs/security/ml-kem-post-quantum-tls-now-supported-in-aws-kms-acm-and-secrets-manager/",
            "published": "2025-04-07",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "azure-kv-keys",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn",
            "type": "vendor-documentation",
            "title": "About keys - Azure Key Vault",
            "url": "https://learn.microsoft.com/en-us/azure/key-vault/keys/about-keys",
            "published": null,
            "updated": "2026-10-06",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "strongswan-6-0-0",
            "vendor": "strongswan",
            "publisher": "strongSwan",
            "type": "vendor-release-notes",
            "title": "strongSwan 6.0.0 Released",
            "url": "https://strongswan.org/blog/2024/12/03/strongswan-6.0.0-released.html",
            "published": "2024-12-03",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "strongswan-6-0-2",
            "vendor": "strongswan",
            "publisher": "strongSwan",
            "type": "vendor-release-notes",
            "title": "strongSwan 6.0.2 Released",
            "url": "https://www.strongswan.org/blog/2025/07/14/strongswan-6.0.2-released.html",
            "published": "2025-07-14",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "wireguard-protocol",
            "vendor": "wireguard",
            "publisher": "WireGuard",
            "type": "vendor-documentation",
            "title": "Protocol and Cryptography",
            "url": "https://www.wireguard.com/protocol/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "wireguard-paper",
            "vendor": "wireguard",
            "publisher": "WireGuard (Jason A. Donenfeld)",
            "type": "project-specification",
            "title": "WireGuard: Next Generation Kernel Network Tunnel",
            "url": "https://www.wireguard.com/papers/wireguard.pdf",
            "published": "2020-06-01",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "luna-7-9-0",
            "vendor": "thales",
            "publisher": "Thales",
            "type": "vendor-release-notes",
            "title": "Luna HSM Firmware 7.9.0",
            "url": "https://thalesdocs.com/gphsm/luna/7/docs/network/Content/CRN/Luna/firmware/7-9-0.htm",
            "published": "2025-07",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "luna-7-9-2",
            "vendor": "thales",
            "publisher": "Thales",
            "type": "vendor-release-notes",
            "title": "Luna HSM Firmware 7.9.2",
            "url": "https://www.thalesdocs.com/gphsm/luna/7/docs/network/Content/CRN/Luna/firmware/7-9-2.htm",
            "published": "2026-02",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "jep-496",
            "vendor": "openjdk",
            "publisher": "OpenJDK",
            "type": "project-specification",
            "title": "JEP 496: Quantum-Resistant Module-Lattice-Based Key Encapsulation Mechanism",
            "url": "https://openjdk.org/jeps/496",
            "published": "2024-08-26",
            "updated": "2025-03-13",
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "jep-497",
            "vendor": "openjdk",
            "publisher": "OpenJDK",
            "type": "project-specification",
            "title": "JEP 497: Quantum-Resistant Module-Lattice-Based Digital Signature Algorithm",
            "url": "https://openjdk.org/jeps/497",
            "published": "2024-08-26",
            "updated": "2025-11-03",
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "jep-527",
            "vendor": "openjdk",
            "publisher": "OpenJDK",
            "type": "project-specification",
            "title": "JEP 527: Post-Quantum Hybrid Key Exchange for TLS 1.3",
            "url": "https://openjdk.org/jeps/527",
            "published": "2025-06-03",
            "updated": "2026-08-17",
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "jdk-24",
            "vendor": "openjdk",
            "publisher": "OpenJDK",
            "type": "vendor-documentation",
            "title": "JDK 24 project page",
            "url": "https://openjdk.org/projects/jdk/24/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "jdk-27",
            "vendor": "openjdk",
            "publisher": "OpenJDK",
            "type": "vendor-documentation",
            "title": "JDK 27 project page",
            "url": "https://openjdk.org/projects/jdk/27/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "dotnet-10-libraries",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn",
            "type": "vendor-documentation",
            "title": "What's new in .NET libraries for .NET 10",
            "url": "https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-10/libraries",
            "published": "2025-11-07",
            "updated": "2026-03-30",
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "dotnet-9-libraries",
            "vendor": "microsoft",
            "publisher": "Microsoft Learn",
            "type": "vendor-documentation",
            "title": "What's new in .NET libraries for .NET 9",
            "url": "https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotnet-9/libraries",
            "published": "2024-11-11",
            "updated": "2026-06-18",
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "dotnet-support-policy",
            "vendor": "microsoft",
            "publisher": "Microsoft (.NET)",
            "type": "vendor-documentation",
            "title": ".NET and .NET Core Support Policy",
            "url": "https://dotnet.microsoft.com/en-us/platform/support/policy/dotnet-core",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "go-1-23",
            "vendor": "go",
            "publisher": "The Go Project",
            "type": "vendor-release-notes",
            "title": "Go 1.23 Release Notes",
            "url": "https://go.dev/doc/go1.23",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "go-1-24",
            "vendor": "go",
            "publisher": "The Go Project",
            "type": "vendor-release-notes",
            "title": "Go 1.24 Release Notes",
            "url": "https://go.dev/doc/go1.24",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 366
        },
        {
            "id": "go-1-26",
            "vendor": "go",
            "publisher": "The Go Project",
            "type": "vendor-release-notes",
            "title": "Go 1.26 Release Notes",
            "url": "https://go.dev/doc/go1.26",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 180
        },
        {
            "id": "go-1-27",
            "vendor": "go",
            "publisher": "The Go Project",
            "type": "vendor-release-notes",
            "title": "Go 1.27 Release Notes",
            "url": "https://go.dev/doc/go1.27",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "go-release-history",
            "vendor": "go",
            "publisher": "The Go Project",
            "type": "vendor-documentation",
            "title": "Release History",
            "url": "https://go.dev/doc/devel/release",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "letsencrypt-pq",
            "vendor": "isrg",
            "publisher": "Let's Encrypt",
            "type": "vendor-announcement",
            "title": "A Post-Quantum Future for Let's Encrypt",
            "url": "https://letsencrypt.org/2026/06/03/pq-certs",
            "published": "2026-06-03",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "cabf-tls-br",
            "vendor": "cab-forum",
            "publisher": "CA/Browser Forum",
            "type": "standard",
            "title": "Baseline Requirements for the Issuance and Management of Publicly-Trusted TLS Server Certificates",
            "url": "https://cabforum.org/working-groups/server/baseline-requirements/requirements/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "botan-news",
            "vendor": "botan",
            "publisher": "Botan",
            "type": "vendor-release-notes",
            "title": "Release Notes - Botan",
            "url": "https://botan.randombit.net/news.html",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "apple-pq-tls",
            "vendor": "apple",
            "publisher": "Apple Support",
            "type": "vendor-documentation",
            "title": "Prepare your network for quantum-secure encryption in TLS",
            "url": "https://support.apple.com/en-us/122756",
            "published": "2026-06-18",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "rosenpass-home",
            "vendor": "rosenpass",
            "publisher": "Rosenpass",
            "type": "project-specification",
            "title": "Rosenpass",
            "url": "https://rosenpass.eu/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "wolfssl-changelog",
            "vendor": "wolfssl",
            "publisher": "wolfSSL (GitHub)",
            "type": "vendor-release-notes",
            "title": "wolfSSL ChangeLog.md",
            "url": "https://github.com/wolfSSL/wolfssl/blob/master/ChangeLog.md",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "liboqs-0-11-0",
            "vendor": "oqs",
            "publisher": "Open Quantum Safe (GitHub)",
            "type": "vendor-release-notes",
            "title": "Release liboqs version 0.11.0",
            "url": "https://github.com/open-quantum-safe/liboqs/releases/tag/0.11.0",
            "published": "2024-09-26",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "liboqs-0-12-0",
            "vendor": "oqs",
            "publisher": "Open Quantum Safe (GitHub)",
            "type": "vendor-release-notes",
            "title": "Release liboqs version 0.12.0",
            "url": "https://github.com/open-quantum-safe/liboqs/releases/tag/0.12.0",
            "published": "2024-12-09",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "liboqs-readme",
            "vendor": "oqs",
            "publisher": "Open Quantum Safe (GitHub)",
            "type": "vendor-documentation",
            "title": "liboqs: C library for prototyping and experimenting with quantum-resistant cryptography",
            "url": "https://github.com/open-quantum-safe/liboqs",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "bc-java-1-79",
            "vendor": "bouncycastle",
            "publisher": "Bouncy Castle",
            "type": "vendor-announcement",
            "title": "Latest NIST PQC Standards and more - Bouncy Castle Java 1.79",
            "url": "https://bouncycastle.org/resources/latest-nist-pqc-standards-and-more-bouncy-castle-java-1-79/",
            "published": "2024-10-31",
            "updated": "2024-12-06",
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "gnutls-news",
            "vendor": "gnutls",
            "publisher": "GnuTLS (GitLab)",
            "type": "vendor-release-notes",
            "title": "GnuTLS NEWS",
            "url": "https://gitlab.com/gnutls/gnutls/-/blob/master/NEWS",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "nshield-13-9-0",
            "vendor": "entrust",
            "publisher": "Entrust nShield Docs",
            "type": "vendor-release-notes",
            "title": "nShield Security World v13.9.0 Release Notes",
            "url": "https://nshielddocs.entrust.com/security-world-docs/v13.9.0/release-notes/release-notes.html",
            "published": "2025-08-22",
            "updated": "2026-09-14",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "utimaco-quantum-protect",
            "vendor": "utimaco",
            "publisher": "Utimaco",
            "type": "vendor-announcement",
            "title": "Utimaco launches Quantum Protect solution and free PQC simulator",
            "url": "https://utimaco.com/news/press-releases/utimaco-launches-quantum-protect-solution-and-free-pqc-simulator",
            "published": "2025-04-02",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "gcp-kms-algorithms",
            "vendor": "google",
            "publisher": "Google Cloud Documentation",
            "type": "vendor-documentation",
            "title": "Key purposes and algorithms - Cloud Key Management Service",
            "url": "https://docs.cloud.google.com/kms/docs/algorithms",
            "published": null,
            "updated": "2026-10-13",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "fortios-7-6-5-pqc-ipsec",
            "vendor": "fortinet",
            "publisher": "Fortinet Document Library",
            "type": "vendor-documentation",
            "title": "Post-Quantum Cryptography for IPsec key exchange (FortiOS 7.6.5)",
            "url": "https://docs.fortinet.com/document/fortigate/7.6.5/administration-guide/229631",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "panos-pq-ikev2-hybrid",
            "vendor": "paloalto",
            "publisher": "Palo Alto Networks TechDocs",
            "type": "vendor-documentation",
            "title": "Configure Post-Quantum IKEv2 VPNs with RFC 9242 and RFC 9370 Hybrid Keys",
            "url": "https://docs.paloaltonetworks.com/network-security/quantum-security/administration/configure-quantum-resistant-ikev2-vpns/configure-post-quantum-ikev2-vpns-with-rfc-9242-and-rfc-9370-hybrid-keys",
            "published": null,
            "updated": "2026-07-20",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "ejbca-9-1",
            "vendor": "keyfactor",
            "publisher": "Keyfactor Docs",
            "type": "vendor-release-notes",
            "title": "EJBCA 9.1 Release Notes",
            "url": "https://docs.keyfactor.com/ejbca/9.5/ejbca-9-1-release-notes",
            "published": "2024-11",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "nodejs-24-7-0",
            "vendor": "nodejs",
            "publisher": "Node.js",
            "type": "vendor-release-notes",
            "title": "Node.js 24.7.0 (Current)",
            "url": "https://nodejs.org/en/blog/release/v24.7.0",
            "published": "2025-08-27",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "cryptonext-nist",
            "vendor": "cryptonext",
            "publisher": "CryptoNext Security",
            "type": "vendor-announcement",
            "title": "CryptoNext Security Complies With The First NIST Standards",
            "url": "https://www.cryptonext-security.com/en/blog/cryptonext-security-complies-with-the-first-nist-standards/",
            "published": "2024-09-17",
            "updated": "2025-06-06",
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rustls-0-23-27",
            "vendor": "rustls",
            "publisher": "rustls (GitHub)",
            "type": "vendor-release-notes",
            "title": "Release 0.23.27 of rustls/rustls",
            "url": "https://github.com/rustls/rustls/releases/tag/v/0.23.27",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "nss-3-105",
            "vendor": "mozilla",
            "publisher": "Mozilla (Firefox Source Docs)",
            "type": "vendor-release-notes",
            "title": "NSS 3.105 release notes",
            "url": "https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_105.html",
            "published": "2024-09-26",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "nss-3-116",
            "vendor": "mozilla",
            "publisher": "Mozilla (Firefox Source Docs)",
            "type": "vendor-release-notes",
            "title": "NSS 3.116 release notes",
            "url": "https://firefox-source-docs.mozilla.org/security/nss/releases/nss_3_116.html",
            "published": "2025-09-11",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "securosys-openssl-pqc",
            "vendor": "securosys",
            "publisher": "Securosys Docs",
            "type": "vendor-documentation",
            "title": "OpenSSL Tutorials: Post-Quantum Cryptography",
            "url": "https://docs.securosys.com/openssl/Tutorials/post-quantum",
            "published": null,
            "updated": "2026-10-09",
            "retrieved": "2026-10-22",
            "check_days": 30
        },
        {
            "id": "pqshield-cavp-3-5-1",
            "vendor": "pqshield",
            "publisher": "PQShield",
            "type": "vendor-announcement",
            "title": "PQCryptoLib-Core 3.5.1 achieves CAVP certification",
            "url": "https://pqshield.com/pqcryptolib-core-3-5-1-achieves-cavp-certification/",
            "published": "2026-08-11",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-10-pqc-blog",
            "vendor": "redhat",
            "publisher": "Red Hat Blog",
            "type": "vendor-announcement",
            "title": "Post-quantum cryptography in Red Hat Enterprise Linux 10",
            "url": "https://www.redhat.com/en/blog/post-quantum-cryptography-red-hat-enterprise-linux-10",
            "published": "2025-05-20",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-10-1-overview",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 10.1 Release Notes, Chapter 1. Overview",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.1_release_notes/overview",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-10-1-features",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 10.1 Release Notes, New features and enhancements",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.1_release_notes/new-features-and-enhancements",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-10-1-tech-previews",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 10.1 Release Notes, Technology Preview features",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/10/html/10.1_release_notes/technology-preview-features",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-9-7-overview",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 9.7 Release Notes, Chapter 1. Overview",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.7_release_notes/overview",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-9-7-features",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 9.7 Release Notes, Chapter 4. New features",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.7_release_notes/new-features",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-9-7-tech-previews",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 9.7 Release Notes, Chapter 8. Technology previews",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.7_release_notes/technology-previews",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-9-6-overview",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 9.6 Release Notes, Chapter 1. Overview",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.6_release_notes/overview",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "rhel-9-6-tech-previews",
            "vendor": "redhat",
            "publisher": "Red Hat Documentation",
            "type": "vendor-release-notes",
            "title": "RHEL 9.6 Release Notes, Technology Previews",
            "url": "https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/9/html/9.6_release_notes/technology-previews",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "ubuntu-26-04-summary",
            "vendor": "canonical",
            "publisher": "Ubuntu documentation",
            "type": "vendor-release-notes",
            "title": "Ubuntu 26.04 LTS summary for LTS users",
            "url": "https://documentation.ubuntu.com/release-notes/26.04/summary-for-lts-users/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "ubuntu-26-04-security-blog",
            "vendor": "canonical",
            "publisher": "Ubuntu blog (Canonical)",
            "type": "vendor-announcement",
            "title": "What's new in security for Ubuntu 26.04 LTS?",
            "url": "https://ubuntu.com/blog/ubuntu-26-04-lts-security-updates",
            "published": "2026-04-10",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "ubuntu-25-10-notes",
            "vendor": "canonical",
            "publisher": "Ubuntu documentation",
            "type": "vendor-release-notes",
            "title": "Ubuntu 25.10 release notes",
            "url": "https://documentation.ubuntu.com/release-notes/25.10/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "ubuntu-24-04-notes",
            "vendor": "canonical",
            "publisher": "Ubuntu documentation",
            "type": "vendor-release-notes",
            "title": "Ubuntu 24.04 LTS release notes",
            "url": "https://documentation.ubuntu.com/release-notes/24.04/",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "debian-13-whats-new",
            "vendor": "debian",
            "publisher": "Debian Project",
            "type": "vendor-release-notes",
            "title": "Release notes for Debian 13 (trixie), 2. What's new in Debian 13",
            "url": "https://www.debian.org/releases/trixie/release-notes/whats-new.en.html",
            "published": null,
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        },
        {
            "id": "sles-16-0-notes",
            "vendor": "suse",
            "publisher": "SUSE Documentation",
            "type": "vendor-release-notes",
            "title": "SUSE Linux Enterprise Server 16.0 Release Notes",
            "url": "https://documentation.suse.com/releasenotes/sles/16.0/index.html",
            "published": "2026-10-06",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "sles-15-7-notes",
            "vendor": "suse",
            "publisher": "SUSE",
            "type": "vendor-release-notes",
            "title": "Release Notes, SUSE Linux Enterprise Server 15 SP7",
            "url": "https://www.suse.com/releasenotes/x86_64/SUSE-SLES/15-SP7/index.html",
            "published": "2026-10-01",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 60
        },
        {
            "id": "suse-su-2026-3835",
            "vendor": "suse",
            "publisher": "SUSE (sle-updates list)",
            "type": "vendor-announcement",
            "title": "SUSE-SU-2026:3835-1: Security update for openssl, openssl-3",
            "url": "https://lists.suse.com/pipermail/sle-updates/2026-August/049640.html",
            "published": "2026-08-27",
            "updated": null,
            "retrieved": "2026-10-22",
            "check_days": 90
        }
    ],
    "algorithms": [
        {
            "id": "ml-kem",
            "name": "ML-KEM (parameter set not stated)",
            "kind": "kem",
            "standard": "NIST FIPS 203",
            "status": "standard"
        },
        {
            "id": "ml-kem-512",
            "name": "ML-KEM-512",
            "kind": "kem",
            "standard": "NIST FIPS 203",
            "status": "standard"
        },
        {
            "id": "ml-kem-768",
            "name": "ML-KEM-768",
            "kind": "kem",
            "standard": "NIST FIPS 203",
            "status": "standard"
        },
        {
            "id": "ml-kem-1024",
            "name": "ML-KEM-1024",
            "kind": "kem",
            "standard": "NIST FIPS 203",
            "status": "standard"
        },
        {
            "id": "ml-dsa",
            "name": "ML-DSA (parameter set not stated)",
            "kind": "signature",
            "standard": "NIST FIPS 204",
            "status": "standard"
        },
        {
            "id": "ml-dsa-44",
            "name": "ML-DSA-44",
            "kind": "signature",
            "standard": "NIST FIPS 204",
            "status": "standard"
        },
        {
            "id": "ml-dsa-65",
            "name": "ML-DSA-65",
            "kind": "signature",
            "standard": "NIST FIPS 204",
            "status": "standard"
        },
        {
            "id": "ml-dsa-87",
            "name": "ML-DSA-87",
            "kind": "signature",
            "standard": "NIST FIPS 204",
            "status": "standard"
        },
        {
            "id": "hash-ml-dsa",
            "name": "HashML-DSA",
            "kind": "signature",
            "standard": "NIST FIPS 204",
            "status": "standard"
        },
        {
            "id": "slh-dsa",
            "name": "SLH-DSA",
            "kind": "signature",
            "standard": "NIST FIPS 205",
            "status": "standard"
        },
        {
            "id": "composite-ml-dsa",
            "name": "Composite ML-DSA",
            "kind": "signature",
            "standard": "IETF LAMPS draft",
            "status": "draft"
        },
        {
            "id": "composite-ml-kem",
            "name": "Composite ML-KEM",
            "kind": "kem",
            "standard": "IETF LAMPS draft",
            "status": "draft"
        },
        {
            "id": "x25519mlkem768",
            "name": "X25519MLKEM768",
            "kind": "hybrid-kem",
            "standard": "IETF hybrid ML-KEM key agreement for TLS 1.3",
            "status": "standard"
        },
        {
            "id": "secp256r1mlkem768",
            "name": "SecP256r1MLKEM768",
            "kind": "hybrid-kem",
            "standard": "IETF hybrid ML-KEM key agreement for TLS 1.3",
            "status": "standard"
        },
        {
            "id": "secp384r1mlkem1024",
            "name": "SecP384r1MLKEM1024",
            "kind": "hybrid-kem",
            "standard": "IETF hybrid ML-KEM key agreement for TLS 1.3",
            "status": "standard"
        },
        {
            "id": "x25519kyber768draft00",
            "name": "X25519Kyber768Draft00",
            "kind": "hybrid-kem",
            "standard": "Pre-standard Kyber draft, now obsolete",
            "status": "obsolete"
        },
        {
            "id": "sntrup761x25519-sha512",
            "name": "sntrup761x25519-sha512",
            "kind": "hybrid-kem",
            "standard": "SSH hybrid of Streamlined NTRU Prime and X25519",
            "status": "draft"
        },
        {
            "id": "mlkem768x25519-sha256",
            "name": "mlkem768x25519-sha256",
            "kind": "hybrid-kem",
            "standard": "SSH hybrid of ML-KEM-768 and X25519",
            "status": "draft"
        },
        {
            "id": "lms-hss",
            "name": "HSS/LMS",
            "kind": "stateful-signature",
            "standard": "NIST SP 800-208",
            "status": "standard"
        },
        {
            "id": "xmss",
            "name": "XMSS and XMSS^MT",
            "kind": "stateful-signature",
            "standard": "IETF RFC 8391 and NIST SP 800-208",
            "status": "standard"
        },
        {
            "id": "x-wing",
            "name": "X-Wing (ML-KEM-768 with X25519)",
            "kind": "hybrid-kem",
            "standard": "IETF CFRG X-Wing draft",
            "status": "draft"
        },
        {
            "id": "classic-mceliece",
            "name": "Classic McEliece",
            "kind": "kem",
            "standard": "NIST round 4 candidate, not a NIST standard",
            "status": "draft"
        },
        {
            "id": "kyber-round3",
            "name": "Kyber (round 3, pre-standard)",
            "kind": "kem",
            "standard": "Pre-standard Kyber submission, superseded by ML-KEM",
            "status": "obsolete"
        }
    ],
    "assertions": [
        {
            "id": "windows-server-2025-adcs-ml-dsa",
            "family": "windows-server",
            "release_from": "2025",
            "release_before": null,
            "min_build": null,
            "function": "pki-issuance",
            "role": "ca-issuance",
            "protocol": "X.509 certificates",
            "algorithms": [
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": "KB5087539 (the 2026-05 security update) or later on the AD CS servers.",
            "configuration": "Use CNG key storage providers; AD CS does not support legacy cryptographic service providers for PQC.",
            "limitations": "Phase 1 covers ML-DSA only. Clients named are Windows 11 24H2 and 25H2 with KB5067036 or later; some algorithms may need later versions.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Windows Server 2025 with the 2026-05 security update (KB5087539) or later (AD CS servers)"
                ]
            },
            "evidence": {
                "sources": [
                    "ms-adcs-pqc"
                ],
                "locator": "Sections PQC algorithms supported in AD CS (row ML-DSA, Available, Phase 1) and Platform requirements",
                "note": "Microsoft lists ML-DSA as available in AD CS in a first phase, for CA servers on Windows Server 2025 with the May 2026 security update or later. The page names no earlier Windows Server release."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-05",
                "text": "The 2026-05 security update is named as the minimum."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "windows-server-2025-adcs-phase-2",
            "family": "windows-server",
            "release_from": "2025",
            "release_before": null,
            "min_build": null,
            "function": "pki-issuance",
            "role": "ca-issuance",
            "protocol": "X.509 certificates",
            "algorithms": [
                "ml-kem",
                "composite-ml-dsa",
                "composite-ml-kem"
            ],
            "mode": "pure-and-hybrid",
            "capability": "announced-roadmap",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Planned only, with no release or date. Microsoft also plans PQC across the CEP, CES, NDES and OCSP role services.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "AD CS (Phase 2), on the Windows Server 2025 platform baseline"
                ]
            },
            "evidence": {
                "sources": [
                    "ms-adcs-pqc"
                ],
                "locator": "Section PQC algorithms supported in AD CS (rows marked Planned, Phase 2)",
                "note": "ML-KEM and the composite ML-DSA and ML-KEM forms are listed as planned for a second phase, with no target date. A planned item is not a release."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2026-12-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "windows-server-2022-adcs-no-evidence",
            "family": "windows-server",
            "release_from": "2022",
            "release_before": "2025",
            "min_build": null,
            "function": "pki-issuance",
            "role": "ca-issuance",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Windows Server 2022"
                ]
            },
            "evidence": {
                "sources": [
                    "ms-adcs-pqc"
                ],
                "locator": "Section Platform requirements names Windows Server 2025 only; Windows Server 2022 is not mentioned",
                "note": "The AD CS PQC overview gives Windows Server 2025 with KB5087539 as the starting platform and says nothing about Windows Server 2022: no support, no backport and no date are stated for it."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "windows-server-2025-tls-hybrid-kb5099536",
            "family": "windows-server",
            "release_from": "2025",
            "release_before": null,
            "min_build": "26100.33158",
            "function": "tls-key-establishment",
            "role": "key-establishment",
            "protocol": "TLS 1.3",
            "algorithms": [],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": "KB5099536 (OS build 26100.33158) or a later cumulative update.",
            "configuration": null,
            "limitations": "The update notes name no algorithm or group, no component and no default state; whether it is enabled must be checked in the TLS configuration.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Windows Server 2025, all editions"
                ]
            },
            "evidence": {
                "sources": [
                    "ms-kb5099536"
                ],
                "locator": "Improvements, item [Cryptography]; the explicit scope is the Applies to line under the main heading",
                "note": "The July 2026 update for Windows Server 2025 adds hybrid post-quantum key exchange to TLS 1.3. Windows Server 2022 appears on the page only in the Related topics side menu, not in the article scope."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-07-14",
                "text": "Release date of KB5099536."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "windows-server-2022-tls-no-evidence",
            "family": "windows-server",
            "release_from": "2022",
            "release_before": "2025",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "key-establishment",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Windows Server 2022"
                ]
            },
            "evidence": {
                "sources": [
                    "ms-kb5099536",
                    "ms-adcs-pqc"
                ],
                "locator": "KB5099536 Applies to line (Windows Server 2025, all editions); Windows Server 2022 only in the Related topics menu",
                "note": "The hybrid TLS 1.3 key exchange update is scoped to Windows Server 2025. No reviewed Microsoft page states support, a backport or a date for Windows Server 2022."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssl-3-5-algorithms",
            "family": "openssl",
            "release_from": "3.5.0",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Available in the default and FIPS providers.",
            "limitations": null,
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSL 3.5.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "openssl-35-changes",
                    "openssl-35-release"
                ],
                "locator": "CHANGES.md, Changes between 3.4 and 3.5.0 [8 Apr 2025]; release announcement, list of new features",
                "note": "OpenSSL 3.5.0 adds ML-KEM, ML-DSA and SLH-DSA to its default and FIPS providers. Library support alone does not mean an application is configured to use them."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-04-08",
                "text": "Release date of OpenSSL 3.5.0."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssl-3-5-tls-hybrid",
            "family": "openssl",
            "release_from": "3.5.0",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "X25519MLKEM768 is first in the default TLS groups; the client sends X25519MLKEM768 and X25519 key shares by default.",
            "limitations": "Only X25519MLKEM768 is in the default list; the other hybrid groups need configuration. Applications that set their own group list override the default.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSL 3.5.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "openssl-35-changes"
                ],
                "locator": "CHANGES.md, Changes between 3.4 and 3.5.0 [8 Apr 2025], entry on the default TLS groups",
                "note": "From 3.5.0, OpenSSL offers the hybrid X25519MLKEM768 group by default in TLS 1.3."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-04-08",
                "text": "Release date of OpenSSL 3.5.0."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssl-3-0-to-3-4-algorithms",
            "family": "openssl",
            "release_from": "3.0.0",
            "release_before": "3.5.0",
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "unsupported",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Covers the algorithms built into OpenSSL; third-party providers are outside this scope.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSL 3.0 to 3.4 (built-in providers)"
                ]
            },
            "evidence": {
                "sources": [
                    "openssl-35-changes",
                    "openssl-35-release"
                ],
                "locator": "CHANGES.md, Changes between 3.4 and 3.5.0, entries adding ML-KEM, ML-DSA and SLH-DSA",
                "note": "The 3.5.0 changelog adds the three NIST algorithms, so the built-in providers of 3.0 to 3.4 do not have them."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssl-3-0-to-3-4-tls",
            "family": "openssl",
            "release_from": "3.0.0",
            "release_before": "3.5.0",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "unsupported",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Covers the built-in TLS groups; third-party providers are outside this scope.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSL 3.0 to 3.4 (built-in TLS groups)"
                ]
            },
            "evidence": {
                "sources": [
                    "openssl-35-changes"
                ],
                "locator": "CHANGES.md, Changes between 3.4 and 3.5.0, entry on the default TLS groups",
                "note": "The hybrid ML-KEM TLS groups arrive with 3.5.0; earlier 3.x releases have no built-in post-quantum key exchange group."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssh-9-0-sntrup",
            "family": "openssh",
            "release_from": "9.0",
            "release_before": "10.0",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "sntrup761x25519-sha512"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Streamlined NTRU Prime is not the NIST ML-KEM standard. From 10.0 the default changes to ML-KEM.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSH 9.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "openssh-9-0"
                ],
                "locator": "Release 9.0, section New features",
                "note": "OpenSSH 9.0 makes the hybrid Streamlined NTRU Prime and X25519 key exchange the default, citing store-now-decrypt-later attacks."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2022-04-08",
                "text": "Release date of OpenSSH 9.0."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssh-9-9-mlkem",
            "family": "openssh",
            "release_from": "9.9",
            "release_before": "10.0",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "mlkem768x25519-sha256"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Available and enabled, but not yet the preferred key exchange in 9.9.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSH 9.9"
                ]
            },
            "evidence": {
                "sources": [
                    "openssh-release-notes"
                ],
                "locator": "OpenSSH 9.9, Changes since OpenSSH 9.8, New features",
                "note": "OpenSSH 9.9 adds the hybrid ML-KEM-768 and X25519 key exchange and enables it by default."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-09-19",
                "text": "Release date of OpenSSH 9.9."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "openssh-10-0-mlkem-default",
            "family": "openssh",
            "release_from": "10.0",
            "release_before": null,
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "mlkem768x25519-sha256"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "The peer must offer the same method; otherwise an older key exchange is negotiated.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "OpenSSH 10.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "openssh-release-notes"
                ],
                "locator": "OpenSSH 10.0, Changes since OpenSSH 9.9, New features",
                "note": "OpenSSH 10.0 makes the hybrid ML-KEM key exchange the default."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-04-09",
                "text": "Release date of OpenSSH 10.0."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "chrome-124-kyber",
            "family": "chrome",
            "release_from": "124",
            "release_before": "131",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519kyber768draft00"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "An enterprise policy offers a temporary opt-out for middlebox problems.",
            "limitations": "Desktop platforms only at the time; a pre-standard Kyber draft replaced in Chrome 131.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Chrome 124 on all desktop platforms"
                ]
            },
            "evidence": {
                "sources": [
                    "chrome-124-blog"
                ],
                "locator": "Opening paragraphs of the post",
                "note": "Chrome enabled the hybrid Kyber draft key agreement by default on desktop from version 124. The post gives no ship date for the release."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "chrome-131-mlkem",
            "family": "chrome",
            "release_from": "131",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Kyber support is removed; a server that offers only the Kyber draft falls back to classical key exchange. Platform coverage beyond desktop is not stated by Google.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Chrome 131"
                ]
            },
            "evidence": {
                "sources": [
                    "chrome-kyber-path",
                    "cloudflare-pqc-support"
                ],
                "locator": "Google post, list of Chrome 131 changes; Cloudflare support page, section Browsers (Chromium-based)",
                "note": "Google announced that Chrome 131 switches from Kyber to the final ML-KEM hybrid. Cloudflare documents it as enabled by default from Chrome 131; that is a third-party statement about Chrome."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "firefox-132-mlkem",
            "family": "firefox",
            "release_from": "132",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Desktop edition; HTTP/3 support came later and Android from version 145, according to Cloudflare.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Firefox 132 desktop"
                ]
            },
            "evidence": {
                "sources": [
                    "firefox-132-notes",
                    "cloudflare-pqc-support"
                ],
                "locator": "Firefox 132 notes, section Web Platform; Cloudflare support page, section Browsers (Gecko-based)",
                "note": "Mozilla added a post-quantum key exchange for TLS 1.3 in Firefox 132. Its notes do not say it is on by default; Cloudflare documents it as default on desktop from 132."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-10-29",
                "text": "Release date of Firefox 132."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "cloudflare-visitor-tls-hybrid",
            "family": "cloudflare",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "edge-to-visitor",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Post-quantum only when the visitor client supports the hybrid group; TLS 1.3 only.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Cloudflare: all sites and APIs over TLS 1.3"
                ]
            },
            "evidence": {
                "sources": [
                    "cloudflare-pqc"
                ],
                "locator": "Three connections in the life of a request, 1. Visitor to Cloudflare",
                "note": "Every TLS 1.3 zone offers hybrid ML-KEM key agreement to visitors; the Kyber draft codepoint is marked obsolete."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "cloudflare-origin-tls-hybrid",
            "family": "cloudflare",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "edge-to-origin",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "Cloudflare sends the hybrid key share first; an origin without it answers with a retry at the cost of one round trip.",
            "limitations": "Post-quantum only when the origin server supports the hybrid group.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Cloudflare origin connections (origin pulls)"
                ]
            },
            "evidence": {
                "sources": [
                    "cloudflare-pqc-origin"
                ],
                "locator": "Post-quantum key agreement, ClientHello from Cloudflare",
                "note": "Automatic post-quantum key agreement to origins is on for existing and new zones and is preferred when the origin supports it."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "cloudflare-visitor-certificates",
            "family": "cloudflare",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "certificate-signatures",
            "role": "edge-to-visitor",
            "protocol": null,
            "algorithms": [
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "announced-roadmap",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Post-quantum authentication towards visitors is still under development, with no date.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Cloudflare visitor-facing edge certificates"
                ]
            },
            "evidence": {
                "sources": [
                    "cloudflare-pqc"
                ],
                "locator": "Three building blocks of TLS, Post-quantum signatures",
                "note": "Visitor-facing post-quantum certificates are not yet available; ML-DSA is used only between Cloudflare and origins."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2026-12-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "cloudflare-origin-ml-dsa",
            "family": "cloudflare",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "certificate-signatures",
            "role": "edge-to-origin",
            "protocol": "TLS 1.3",
            "algorithms": [
                "ml-dsa",
                "ml-dsa-44"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Authenticated Origin Pulls with an ML-DSA client certificate, or a custom origin trust store with an ML-DSA CA under Full (strict).",
            "limitations": "Needs OpenSSL 3.5.0 or later and TLS 1.3 at the origin; a custom trust store replaces the public CAs. Cloudflare Tunnel does not yet use post-quantum signatures.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Cloudflare origin connections, available since mid-2026"
                ]
            },
            "evidence": {
                "sources": [
                    "cloudflare-pqc-origin"
                ],
                "locator": "Post-quantum signatures, Requirements",
                "note": "ML-DSA can authenticate both directions between Cloudflare and an origin through mutual TLS and custom trust stores."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026",
                "text": "Stated as mid-2026, without a day."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "aws-kms-ml-dsa-keys",
            "family": "aws-kms",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "managed-keys",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Create keys with the ML_DSA_44, ML_DSA_65 or ML_DSA_87 key spec and use Sign and Verify.",
            "limitations": "Signing keys only; no ML-KEM key spec is listed. Regional availability must be checked.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "AWS KMS key specs ML_DSA_44, ML_DSA_65 and ML_DSA_87"
                ]
            },
            "evidence": {
                "sources": [
                    "aws-kms-key-spec"
                ],
                "locator": "Section ML-DSA key specs",
                "note": "AWS KMS offers three ML-DSA asymmetric signing key specs. The reviewed page gives no launch date."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "aws-kms-endpoint-tls-hybrid",
            "family": "aws-kms",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": "On the client: an SDK and HTTP client that offer the hybrid group, for example the Java SDK v2 with the AWS CRT HTTP client and post-quantum TLS switched on.",
            "configuration": null,
            "limitations": "Non-FIPS endpoints of KMS, ACM and Secrets Manager; FIPS endpoints are excluded. Clients must opt in or upgrade.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "AWS KMS, ACM and Secrets Manager non-FIPS endpoints"
                ]
            },
            "evidence": {
                "sources": [
                    "aws-mlkem-tls"
                ],
                "locator": "Sections How to use hybrid post-quantum key agreement, and Removing support for draft post-quantum standards",
                "note": "The service endpoints choose hybrid ML-KEM when the client offers it; the server side is on, the client side needs configuration."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-04-07",
                "text": "Date of the AWS announcement."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "azure-key-vault-no-pqc-keys",
            "family": "azure-key-vault",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "managed-keys",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Azure Key Vault (vaults)"
                ]
            },
            "evidence": {
                "sources": [
                    "azure-kv-keys"
                ],
                "locator": "Sections Key types and protection methods, and Quantum-resistant, quantum-safe, or post-quantum cryptography",
                "note": "The key types listed are RSA, EC and symmetric keys; no ML-DSA or ML-KEM key type is documented. The page discusses quantum resistance only for 256-bit AES keys."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "strongswan-6-0-ml-kem",
            "family": "strongswan",
            "release_from": "6.0.0",
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "IKEv2 (RFC 9370 multiple key exchanges)",
            "algorithms": [
                "ml-kem-512",
                "ml-kem-768",
                "ml-kem-1024"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Add the additional key exchanges to the proposals with keX_ prefixes, for example x25519-ke1_mlkem768.",
            "limitations": "Needs a plugin that provides ML-KEM: the ml plugin, botan, wolfssl, or openssl built against a library with ML-KEM.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "strongSwan 6.0.0"
                ]
            },
            "evidence": {
                "sources": [
                    "strongswan-6-0-0"
                ],
                "locator": "Sections Support for Multiple Key Exchanges (RFC 9370 and RFC 9242) and Support for ML-KEM (FIPS 203)",
                "note": "strongSwan 6.0.0 can use ML-KEM in IKEv2, alone or after a classical exchange, once configured in the proposals."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-12-03",
                "text": "Release date of strongSwan 6.0.0."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "strongswan-6-0-2-openssl-provider",
            "family": "strongswan",
            "release_from": "6.0.2",
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "IKEv2",
            "algorithms": [
                "ml-kem"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": "OpenSSL 3.5 or later underneath the openssl plugin.",
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "strongSwan 6.0.2"
                ]
            },
            "evidence": {
                "sources": [
                    "strongswan-6-0-2"
                ],
                "locator": "Section Other Notable Features and Fixes",
                "note": "From 6.0.2, mainline OpenSSL 3.5 or later can provide ML-KEM to the openssl plugin."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-07-14",
                "text": "Release date of strongSwan 6.0.2."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "wireguard-no-pq-kem",
            "family": "wireguard",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "WireGuard (Noise IKpsk2)",
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "unsupported",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "An optional pre-shared symmetric key can be mixed into the handshake.",
            "limitations": "The protocol has no ML-KEM or other post-quantum key encapsulation; the optional pre-shared key adds a symmetric layer only.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "WireGuard protocol"
                ]
            },
            "evidence": {
                "sources": [
                    "wireguard-protocol",
                    "wireguard-paper"
                ],
                "locator": "Protocol page, Key Exchange and Data Packets; whitepaper section 5.2 Optional Pre-shared Symmetric Key Mode",
                "note": "WireGuard names post-quantum resistance as one reason to use its optional pre-shared key; the protocol itself has no post-quantum key exchange."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "luna-7-9-0-ml-kem-ml-dsa",
            "family": "thales-luna",
            "release_from": "7.9.0",
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11",
            "algorithms": [
                "ml-kem",
                "ml-dsa"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": "Luna HSM Client 10.9.0 or newer and Appliance Software 7.9.0.",
            "configuration": null,
            "limitations": "In 7.9.0, ML-DSA and ML-KEM keys cannot be wrapped off the HSM (added in 7.9.1). The page does not state FIPS validation for this firmware.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Luna HSM Firmware 7.9.0 (Luna Network HSM 7)"
                ]
            },
            "evidence": {
                "sources": [
                    "luna-7-9-0"
                ],
                "locator": "New Features and Enhancements, ML-KEM and ML-DSA Mechanisms; Advisory Notes, keys not wrappable",
                "note": "Firmware 7.9.0 adds PKCS#11 ML-KEM and ML-DSA mechanisms and hybrid ciphers for cloning."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-07",
                "text": "Month stated on the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "luna-7-9-2-lms",
            "family": "thales-luna",
            "release_from": "7.9.2",
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11",
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "lms-hss"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "HSS/LMS private keys cannot be cloned or backed up. Thales calls 7.9.2 a candidate for FIPS 140 certification, so it was not certified when published.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Luna HSM Firmware 7.9.2"
                ]
            },
            "evidence": {
                "sources": [
                    "luna-7-9-2"
                ],
                "locator": "Introduction; Advisory Notes",
                "note": "Firmware 7.9.2 adds HSS/LMS stateful signatures alongside ML-KEM and ML-DSA."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-02",
                "text": "Month stated on the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "jdk-24-ml-kem",
            "family": "openjdk",
            "release_from": "24",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem-512",
                "ml-kem-768",
                "ml-kem-1024"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "KeyPairGenerator, KEM and KeyFactory APIs and keytool; ML-KEM-768 is the default parameter set.",
            "limitations": "Not integrated into TLS in JDK 24.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "JDK 24"
                ]
            },
            "evidence": {
                "sources": [
                    "jep-496",
                    "jdk-24"
                ],
                "locator": "JEP 496, Status and Release header; Non-Goals",
                "note": "JEP 496 delivers ML-KEM as a Java API in JDK 24, without TLS integration."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-03-18",
                "text": "General availability of JDK 24 (project page schedule)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "jdk-24-ml-dsa",
            "family": "openjdk",
            "release_from": "24",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "KeyPairGenerator, Signature and KeyFactory APIs and keytool; ML-DSA-65 is the default.",
            "limitations": "Not used in TLS or JAR signing in JDK 24.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "JDK 24"
                ]
            },
            "evidence": {
                "sources": [
                    "jep-497",
                    "jdk-24"
                ],
                "locator": "JEP 497, Status and Release header; Non-Goals",
                "note": "JEP 497 delivers ML-DSA signatures as a Java API in JDK 24."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-03-18",
                "text": "General availability of JDK 24 (project page schedule)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "jdk-24-tls-not-integrated",
            "family": "openjdk",
            "release_from": "24",
            "release_before": "27",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "unsupported",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Applies to the JDK TLS implementation; third-party providers are outside this scope.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "JDK 24 (JEP 496 non-goal)"
                ]
            },
            "evidence": {
                "sources": [
                    "jep-496"
                ],
                "locator": "JEP 496, Non-Goals",
                "note": "JEP 496 states that integrating ML-KEM into the JDK TLS implementation is not a goal of that release."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "jdk-27-tls-hybrid",
            "family": "openjdk",
            "release_from": "27",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "X25519MLKEM768 is first in the default named groups; change them with jdk.tls.namedGroups or SSLParameters.",
            "limitations": "Only X25519MLKEM768 is on by default; the two SecP hybrids must be enabled.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "JDK 27 (JEP 527)"
                ]
            },
            "evidence": {
                "sources": [
                    "jep-527",
                    "jdk-27"
                ],
                "locator": "JEP 527, Description, and Using hybrid key exchange schemes",
                "note": "JEP 527 delivers hybrid ML-KEM key exchange for TLS 1.3 in JDK 27; clients offer X25519MLKEM768 by default."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-09-15",
                "text": "General availability of JDK 27 (project page schedule)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "dotnet-10-ml-kem",
            "family": "dotnet",
            "release_from": "10",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Check the IsSupported property at run time.",
            "limitations": "Needs OpenSSL 3.5 or newer on Linux, or Windows CNG with PQC support; some methods remain experimental.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    ".NET 10"
                ]
            },
            "evidence": {
                "sources": [
                    "dotnet-10-libraries",
                    "dotnet-support-policy"
                ],
                "locator": "Section Cryptography, Post-quantum cryptography (PQC)",
                "note": ".NET 10 adds an MLKem type whose core API is not marked experimental; it uses the platform cryptography underneath."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-11-11",
                "text": "Release date of .NET 10 (support policy page)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "dotnet-10-ml-dsa-preview",
            "family": "dotnet",
            "release_from": "10",
            "release_before": null,
            "min_build": null,
            "function": "code-signing",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [
                "ml-dsa",
                "slh-dsa",
                "hash-ml-dsa",
                "composite-ml-dsa"
            ],
            "mode": "pure-and-hybrid",
            "capability": "preview",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "The types are marked experimental (diagnostic SYSLIB5006) and must be opted into.",
            "limitations": "Experimental APIs inside a supported release; composite ML-DSA tracks an IETF draft and only RSA variants are implemented.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    ".NET 10"
                ]
            },
            "evidence": {
                "sources": [
                    "dotnet-10-libraries"
                ],
                "locator": "Section Cryptography, subsections ML-DSA and Composite ML-DSA",
                "note": ".NET 10 ships ML-DSA, SLH-DSA and composite ML-DSA types as experimental APIs."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "dotnet-9-no-pqc",
            "family": "dotnet",
            "release_from": "9",
            "release_before": "10",
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    ".NET 9"
                ]
            },
            "evidence": {
                "sources": [
                    "dotnet-9-libraries"
                ],
                "locator": "Whole page; no mention of ML-KEM, ML-DSA, SLH-DSA or post-quantum cryptography",
                "note": "The .NET 9 library release notes say nothing about post-quantum algorithms."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "go-1-23-kyber",
            "family": "go",
            "release_from": "1.23",
            "release_before": "1.24",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519kyber768draft00"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "Default when Config.CurvePreferences is not set; GODEBUG tlskyber=0 reverts it.",
            "limitations": "A pre-standard Kyber draft, removed in Go 1.24.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Go 1.23"
                ]
            },
            "evidence": {
                "sources": [
                    "go-1-23",
                    "go-release-history"
                ],
                "locator": "Minor changes to the library, crypto/tls",
                "note": "Go 1.23 enables the hybrid Kyber draft by default in crypto/tls."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-08-13",
                "text": "Release date of Go 1.23 (release history)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "go-1-24-tls-mlkem",
            "family": "go",
            "release_from": "1.24",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "Default when Config.CurvePreferences is not set; GODEBUG tlsmlkem=0 reverts it.",
            "limitations": "X25519Kyber768Draft00 is removed.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Go 1.24 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "go-1-24",
                    "go-release-history"
                ],
                "locator": "Minor changes to the library, crypto/tls",
                "note": "Go 1.24 makes the hybrid X25519MLKEM768 key exchange the default in crypto/tls."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-02-11",
                "text": "Release date of Go 1.24 (release history)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "go-1-24-mlkem-package",
            "family": "go",
            "release_from": "1.24",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem-768",
                "ml-kem-1024"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Go 1.24 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "go-1-24"
                ],
                "locator": "New crypto/mlkem package",
                "note": "Go 1.24 adds a crypto/mlkem package with ML-KEM-768 and ML-KEM-1024."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-02-11",
                "text": "Release date of Go 1.24 (release history)."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "go-1-26-secp-hybrids",
            "family": "go",
            "release_from": "1.26",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "Disable with Config.CurvePreferences or GODEBUG tlssecpmlkem=0.",
            "limitations": null,
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Go 1.26 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "go-1-26"
                ],
                "locator": "Section crypto/tls",
                "note": "Go 1.26 adds the NIST-curve hybrid ML-KEM groups to the TLS defaults."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-02-10",
                "text": "Release date of Go 1.26."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "go-1-27-mldsa-package",
            "family": "go",
            "release_from": "1.27",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "No SLH-DSA. Whether the new ML-DSA TLS signature schemes are on by default is not stated.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Go 1.27 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "go-1-27"
                ],
                "locator": "New crypto/mldsa package; crypto/tls",
                "note": "Go 1.27 adds a crypto/mldsa package, ML-DSA in crypto/x509 and TLS 1.3 ML-DSA signature schemes."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-08-19",
                "text": "Release date of Go 1.27."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "lets-encrypt-pq-roadmap",
            "family": "lets-encrypt",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "pki-issuance",
            "role": "ca-issuance",
            "protocol": null,
            "algorithms": [],
            "mode": "pure",
            "capability": "announced-roadmap",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The plan is Merkle Tree Certificates rather than plain ML-DSA certificates; it depends on IETF work, root programs and client support. Nothing changes for current issuance.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Let's Encrypt (roadmap)"
                ]
            },
            "evidence": {
                "sources": [
                    "letsencrypt-pq"
                ],
                "locator": "Article body, timeline paragraph",
                "note": "Let's Encrypt plans post-quantum certificates through Merkle Tree Certificates, with a staging environment targeted for late 2026 and production for 2027."
            },
            "vendor_date": {
                "type": "roadmap-target",
                "value": "2027",
                "text": "Production targeted for 2027, as stated; a target, not a release."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2026-12-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "public-tls-certificates-classical-only",
            "family": "lets-encrypt",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "certificate-signatures",
            "role": "ca-issuance",
            "protocol": "X.509 publicly trusted TLS server certificates",
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "unsupported",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Applies to publicly trusted TLS server certificates under the Baseline Requirements; internal PKI and S/MIME certificates follow other rules.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Publicly trusted TLS server certificates, including those of Let's Encrypt"
                ]
            },
            "evidence": {
                "sources": [
                    "cabf-tls-br",
                    "letsencrypt-pq"
                ],
                "locator": "Baseline Requirements v2.3.1, sections 6.1.5 Key sizes, 7.1.3.1 and 7.1.3.2",
                "note": "The current TLS Baseline Requirements allow only RSA and ECDSA keys and signatures, so publicly trusted TLS certificates with ML-DSA cannot be issued today; Let's Encrypt says current issuance is unchanged."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder and helper agents (AI), pilot research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2026-12-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "botan-3-6-algorithms",
            "family": "botan",
            "release_from": "3.6.0",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The entry names the standards, not the parameter sets.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Botan 3.6.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "botan-news"
                ],
                "locator": "Version 3.6.0, 2024-10-21, first three entries",
                "note": "Botan 3.6.0 adds the final FIPS 203, FIPS 204 and FIPS 205 algorithms ML-KEM, ML-DSA and SLH-DSA."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-10-21",
                "text": "Release date of Botan 3.6.0 on the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "botan-3-7-tls-hybrid-default",
            "family": "botan",
            "release_from": "3.7.0",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "ml-kem"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Pre-standard Kyber round 3 TLS suites are removed in this release, so peers that offer only the Kyber draft fall back to classical key exchange.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Botan 3.7.0 and later"
                ]
            },
            "evidence": {
                "sources": [
                    "botan-news"
                ],
                "locator": "Version 3.7.0, 2025-02-04, TLS entries",
                "note": "Botan 3.7.0 turns on hybrid X25519 with ML-KEM-768 by default for TLS clients and servers and adds pure ML-KEM key exchange."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-02-04",
                "text": "Release date of Botan 3.7.0 on the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "apple-ios-26-tls-hybrid",
            "family": "apple-ios",
            "release_from": "26",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Only for connections made through the system TLS stack. Some legacy servers that cannot read a large ClientHello may fail to connect.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "iOS 26, iPadOS 26, macOS Tahoe 26 and visionOS 26"
                ]
            },
            "evidence": {
                "sources": [
                    "apple-pq-tls"
                ],
                "locator": "Introduction (first two paragraphs) and section Troubleshoot connection issues",
                "note": "Devices on iOS 26 and iPadOS 26 offer the X25519MLKEM768 hybrid group in the TLS 1.3 ClientHello automatically; the server decides whether to use it."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "apple-macos-26-tls-hybrid",
            "family": "apple-macos",
            "release_from": "26",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "nscurl with the TLS diagnostics option, available from macOS Tahoe 26, shows whether a server negotiates the group.",
            "limitations": "Only for connections made through the system TLS stack. Some legacy servers that cannot read a large ClientHello may fail to connect.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "iOS 26, iPadOS 26, macOS Tahoe 26 and visionOS 26"
                ]
            },
            "evidence": {
                "sources": [
                    "apple-pq-tls"
                ],
                "locator": "Introduction (first two paragraphs) and section Check if a web server supports quantum-secure encryption",
                "note": "macOS Tahoe 26 offers the X25519MLKEM768 hybrid group in the TLS 1.3 ClientHello automatically and provides a command to test servers."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rosenpass-wireguard-psk",
            "family": "rosenpass",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "Rosenpass key exchange feeding the WireGuard pre-shared key",
            "algorithms": [
                "classic-mceliece",
                "kyber-round3"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Run Rosenpass next to WireGuard on both peers so that it supplies the WireGuard pre-shared key.",
            "limitations": "The page names Kyber, not ML-KEM, and no parameter sets. Classic McEliece is not a NIST standard. The page ties the capability to no release.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Rosenpass (project home page)"
                ]
            },
            "evidence": {
                "sources": [
                    "rosenpass-home"
                ],
                "locator": "Sections Post-Quantum Secure, Works with WireGuard and What is Rosenpass?",
                "note": "Rosenpass adds a post-quantum key exchange based on Classic McEliece and Kyber on top of WireGuard, which keeps its classical handshake."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "wolfssl-5-7-4-final-standards",
            "family": "wolfssl",
            "release_from": "5.7.4",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Build wolfSSL with its post-quantum options; in this release the code still uses the Kyber and Dilithium names.",
            "limitations": "The entry names the final specifications, not the parameter sets.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "wolfSSL 5.7.4"
                ]
            },
            "evidence": {
                "sources": [
                    "wolfssl-changelog"
                ],
                "locator": "wolfSSL Release 5.7.4 (Oct 24, 2024), entries Dilithium, Kyber: Update to final specification",
                "note": "wolfSSL 5.7.4 updates its Kyber and Dilithium code to the final ML-KEM and ML-DSA specifications."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-10-24",
                "text": "Release date of wolfSSL 5.7.4 in the change log."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "wolfssl-5-9-1-ml-kem-default",
            "family": "wolfssl",
            "release_from": "5.9.1",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "Default of the build configuration; a product that embeds wolfSSL may build it differently.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "wolfSSL 5.9.1"
                ]
            },
            "evidence": {
                "sources": [
                    "wolfssl-changelog"
                ],
                "locator": "wolfSSL Release 5.9.1 (Apr. 8, 2026), New Features, first entry",
                "note": "From wolfSSL 5.9.1, ML-KEM (FIPS 203) is built in by default."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-04-08",
                "text": "Release date of wolfSSL 5.9.1 in the change log."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "liboqs-0-11-ml-kem",
            "family": "liboqs",
            "release_from": "0.11.0",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem-512",
                "ml-kem-768",
                "ml-kem-1024"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The project does not recommend the library for production use or to protect sensitive data; it is meant for research and prototyping.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "liboqs 0.11.0"
                ]
            },
            "evidence": {
                "sources": [
                    "liboqs-0-11-0",
                    "liboqs-readme"
                ],
                "locator": "Release notes 0.11.0, introduction and KEM entries; README, Limitations and Security",
                "note": "liboqs 0.11.0 updates ML-KEM-512, ML-KEM-768 and ML-KEM-1024 to the final FIPS 203 version."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-09-26",
                "text": "Release date of liboqs 0.11.0 stated in its release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "liboqs-0-12-ml-dsa",
            "family": "liboqs",
            "release_from": "0.12.0",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The project does not recommend the library for production use or to protect sensitive data. The ML-DSA API with a context string is new in this release.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "liboqs 0.12.0"
                ]
            },
            "evidence": {
                "sources": [
                    "liboqs-0-12-0",
                    "liboqs-readme"
                ],
                "locator": "Release notes 0.12.0, introduction and signature entries; README, Limitations and Security",
                "note": "liboqs 0.12.0 replaces the draft ML-DSA with the final FIPS 204 version; it is the last release with round 3 Kyber."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-12-09",
                "text": "Release date of liboqs 0.12.0 stated in its release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "bouncy-castle-1-79-pqc",
            "family": "bouncy-castle",
            "release_from": "1.79",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Composite signatures in this release follow drafts that are not final.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Bouncy Castle Java 1.79"
                ]
            },
            "evidence": {
                "sources": [
                    "bc-java-1-79"
                ],
                "locator": "Article body, first paragraphs and the composite signatures paragraph",
                "note": "Bouncy Castle Java 1.79 supports the final ML-KEM, ML-DSA and SLH-DSA standards, including KEMs in CMS."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-10-31",
                "text": "Date of the Bouncy Castle post announcing the 1.79 release."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "gnutls-3-8-8-tls-hybrid",
            "family": "gnutls",
            "release_from": "3.8.8",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768"
            ],
            "mode": "hybrid",
            "capability": "preview",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Build GnuTLS with a post-quantum backend (liboqs 0.11.0 or later in this release).",
            "limitations": "Marked experimental by the project.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "GnuTLS 3.8.8"
                ]
            },
            "evidence": {
                "sources": [
                    "gnutls-news"
                ],
                "locator": "NEWS, Version 3.8.8 (released 2024-11-05), first entry",
                "note": "GnuTLS 3.8.8 adds experimental X25519MLKEM768 and SecP256r1MLKEM768 key exchange for TLS 1.3."
            },
            "vendor_date": {
                "type": "preview-release",
                "value": "2024-11-05",
                "text": "Release date of GnuTLS 3.8.8 in NEWS; the feature is experimental."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "gnutls-3-8-9-ml-dsa",
            "family": "gnutls",
            "release_from": "3.8.9",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "preview",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Build GnuTLS with leancrypto or liboqs.",
            "limitations": "Marked experimental and based on an early draft of the ML-DSA certificate format.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "GnuTLS 3.8.9"
                ]
            },
            "evidence": {
                "sources": [
                    "gnutls-news"
                ],
                "locator": "NEWS, Version 3.8.9 (released 2025-02-07), ML-DSA entry",
                "note": "GnuTLS 3.8.9 and certtool add experimental ML-DSA signatures."
            },
            "vendor_date": {
                "type": "preview-release",
                "value": "2025-02-07",
                "text": "Release date of GnuTLS 3.8.9 in NEWS; the feature is experimental."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "nshield-13-9-ml-kem-slh-dsa",
            "family": "nshield",
            "release_from": "13.9.0",
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "nCore API",
            "algorithms": [
                "ml-kem",
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Only through the nCore API. Security World 13.9 is a Standard-Term Support release; the vendor recommends the 13.6 Long-Term Support release for certified firmware.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "nShield Security World 13.9.0 (Security World 13.9.0 STS release)"
                ]
            },
            "evidence": {
                "sources": [
                    "nshield-13-9-0"
                ],
                "locator": "Features of Security World v13.9, NSE-48335 and NSE-48338; Purpose of Security World v13.9",
                "note": "Security World 13.9 adds ML-KEM key generation, encapsulation and decapsulation and SLH-DSA signing in HSM firmware."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-08-22",
                "text": "Release date of Security World 13.9.0 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "nshield-13-9-pkcs11-ml-dsa",
            "family": "nshield",
            "release_from": "13.9.0",
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11",
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87",
                "hash-ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": "HSM firmware v13.8 or later with the PostQuantum feature enabled.",
            "configuration": null,
            "limitations": "Security World 13.9 is a Standard-Term Support release with a shorter support period.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "nShield Security World 13.9.0 (Security World 13.9.0 STS release)"
                ]
            },
            "evidence": {
                "sources": [
                    "nshield-13-9-0"
                ],
                "locator": "Features of Security World v13.9, NSE-63240 and NSE-69041",
                "note": "Security World 13.9 adds ML-DSA key generation, signing and verification, including pre-hash ML-DSA, to the nShield PKCS#11 library."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-08-22",
                "text": "Release date of Security World 13.9.0 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "utimaco-quantum-protect",
            "family": "utimaco-gp-hsm",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11",
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "lms-hss",
                "xmss"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Activate the Quantum Protect application package on the HSM in the field.",
            "limitations": "An application package on the Se-Series; the announcement names no firmware version and no certification for these algorithms.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "u.trust GP HSM Se-Series with Quantum Protect (Utimaco u.trust General Purpose HSM Se-Series)"
                ]
            },
            "evidence": {
                "sources": [
                    "utimaco-quantum-protect"
                ],
                "locator": "Press release body, list of features and paragraph on in-field activation",
                "note": "Utimaco offers ML-KEM, ML-DSA, LMS and XMSS with stateful key management on its Se-Series HSMs through the Quantum Protect package."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-04-02",
                "text": "Launch date in the press release dateline."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "utimaco-slh-dsa-roadmap",
            "family": "utimaco-gp-hsm",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11",
            "algorithms": [
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "announced-roadmap",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "No date is given for the roadmap.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "u.trust GP HSM Se-Series with Quantum Protect (Utimaco u.trust General Purpose HSM Se-Series)"
                ]
            },
            "evidence": {
                "sources": [
                    "utimaco-quantum-protect"
                ],
                "locator": "Press release body, paragraph on in-field activation and roadmap",
                "note": "Utimaco names SLH-DSA among further post-quantum algorithms on the roadmap for Quantum Protect."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "google-cloud-kms-pq-signing",
            "family": "google-cloud-kms",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "managed-keys",
            "role": "signing-and-verification",
            "protocol": null,
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87",
                "slh-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Create an ASYMMETRIC_SIGN key with a PQ_SIGN_ algorithm.",
            "limitations": "Software protection level only; the HSM, single-tenant HSM and external tables list no post-quantum signing algorithm. SLH-DSA only in the SHA2-128s parameter set.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Google Cloud KMS ASYMMETRIC_SIGN keys, software protection level"
                ]
            },
            "evidence": {
                "sources": [
                    "gcp-kms-algorithms"
                ],
                "locator": "Section Asymmetric signing algorithms, subsection PQC signing algorithms",
                "note": "Cloud KMS offers ML-DSA-44, ML-DSA-65 and ML-DSA-87 (pure and external mu) and SLH-DSA-SHA2-128s signing keys."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "google-cloud-kms-ml-kem",
            "family": "google-cloud-kms",
            "release_from": null,
            "release_before": null,
            "min_build": null,
            "function": "managed-keys",
            "role": "key-establishment",
            "protocol": null,
            "algorithms": [
                "ml-kem-768",
                "ml-kem-1024",
                "x-wing"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Create a KEY_ENCAPSULATION key with ML_KEM_768, ML_KEM_1024 or KEM_XWING.",
            "limitations": "Software protection level only; the HSM and external tables list no key encapsulation algorithm. X-Wing is a draft.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Google Cloud KMS KEY_ENCAPSULATION keys, software protection level"
                ]
            },
            "evidence": {
                "sources": [
                    "gcp-kms-algorithms"
                ],
                "locator": "Section Key encapsulation algorithms",
                "note": "Cloud KMS offers key encapsulation keys with ML-KEM-768, ML-KEM-1024 and the X-Wing hybrid."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "fortios-7-6-5-ipsec-ml-kem",
            "family": "fortios",
            "release_from": "7.6.5",
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "IKEv2 additional key exchanges",
            "algorithms": [
                "ml-kem-512",
                "ml-kem-768",
                "ml-kem-1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Set addke1 to addke7 on the phase 1 and phase 2 interfaces (or Post Quantum Cryptography Additional Key Exchanges in the GUI).",
            "limitations": "Read on the FortiOS 7.6.5 guide only; earlier 7.6 releases are not assessed here.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "FortiOS 7.6.5 (administration guide)"
                ]
            },
            "evidence": {
                "sources": [
                    "fortios-7-6-5-pqc-ipsec"
                ],
                "locator": "Post-Quantum Cryptography for IPsec key exchange, list of FIPS 203 groups and CLI configuration",
                "note": "FortiOS 7.6.5 can add ML-KEM-512, ML-KEM-768 and ML-KEM-1024 as additional key exchanges in IKEv2 IPsec tunnels."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "pan-os-11-2-ikev2-hybrid",
            "family": "pan-os",
            "release_from": "11.2",
            "release_before": null,
            "min_build": null,
            "function": "vpn-key-exchange",
            "role": "key-establishment",
            "protocol": "IKEv2 (RFC 9242 and RFC 9370 additional key exchanges)",
            "algorithms": [],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Enable Post-Quantum Key Exchange on the IKE gateway and add PQC KEMs to the additional key exchange rounds of the IKE and IPsec crypto profiles.",
            "limitations": "The page names no algorithm. Both peers need the same KEMs in each round; IKEv2 fragmentation should be on.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "PAN-OS 11.2 or later"
                ]
            },
            "evidence": {
                "sources": [
                    "panos-pq-ikev2-hybrid"
                ],
                "locator": "Where Can I Use This? (PAN-OS 11.2 or later) and the configuration steps",
                "note": "PAN-OS 11.2 and later can add up to seven post-quantum key exchange rounds to IKEv2 and IPsec, off by default."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ejbca-9-1-pqc-certificates",
            "family": "ejbca",
            "release_from": "9.1.1",
            "release_before": null,
            "min_build": null,
            "function": "pki-issuance",
            "role": "ca-issuance",
            "protocol": "X.509",
            "algorithms": [
                "ml-dsa",
                "ml-kem"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Replaces the earlier Dilithium and Kyber candidates; relying parties must support the new algorithms.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "EJBCA 9.1.1 (EJBCA 9.1; 9.1.0 was internal only)"
                ]
            },
            "evidence": {
                "sources": [
                    "ejbca-9-1"
                ],
                "locator": "Introduction and section NIST Approved Quantum-Safe Algorithms ML-DSA and ML-KEM",
                "note": "EJBCA 9.1 can issue certificates with ML-DSA and ML-KEM keys."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-11",
                "text": "Month of EJBCA 9.1.1 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "nodejs-24-7-ml-kem-ml-dsa",
            "family": "nodejs",
            "release_from": "24.7.0",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": "Use crypto.encapsulate and crypto.decapsulate for ML-KEM and crypto.sign and crypto.verify for ML-DSA.",
            "limitations": "Tied to OpenSSL 3.5 on the 24.x line. Release named Current, not LTS, in the notes.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Node.js 24.7.0 (Current)"
                ]
            },
            "evidence": {
                "sources": [
                    "nodejs-24-7-0"
                ],
                "locator": "Notable Changes, Post-Quantum Cryptography in node:crypto",
                "note": "Node.js 24.7.0 exposes ML-KEM and ML-DSA in node:crypto and in the Web Cryptography API."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-08-27",
                "text": "Release date of Node.js 24.7.0 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "nss-3-105-tls-mlkem",
            "family": "nss",
            "release_from": "3.105",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "ml-kem-768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The entries do not say whether the group is enabled by default; that is set by the application, for example Firefox.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "NSS 3.105"
                ]
            },
            "evidence": {
                "sources": [
                    "nss-3-105"
                ],
                "locator": "Notable Changes in NSS 3.105, bugs 1916525, 1916524 and 1866841",
                "note": "NSS 3.105 adds ML-KEM-768 to its software token and the mlkem768x25519 hybrid to libssl."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2024-09-26",
                "text": "Release date of NSS 3.105 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "nss-3-116-ml-dsa",
            "family": "nss",
            "release_from": "3.116",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": "PKCS#11",
            "algorithms": [
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The entries name no parameter sets.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "NSS 3.116"
                ]
            },
            "evidence": {
                "sources": [
                    "nss-3-116"
                ],
                "locator": "Notable Changes in NSS 3.116, bug 1983320 entries",
                "note": "NSS 3.116 adds ML-DSA keys and mechanisms to its PKCS#11 interface and utilities."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2025-09-11",
                "text": "Release date of NSS 3.116 in the release notes."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "securosys-primus-3-0-ml-dsa",
            "family": "securosys-primus",
            "release_from": "3.0",
            "release_before": null,
            "min_build": null,
            "function": "hsm-keys",
            "role": "key-storage",
            "protocol": "PKCS#11 through the OpenSSL pkcs11-provider",
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": "Primus PKCS#11 Provider 2.6.2, OpenSSL 3.5 and OpenSSL pkcs11-provider 1.1 on the client.",
            "configuration": "Load the pkcs11-provider in OpenSSL and generate ML-DSA keys with the pkcs11 provider property query.",
            "limitations": "The page covers ML-DSA through OpenSSL only; ML-KEM and other interfaces are not covered. Older versions are not supported.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Primus HSM firmware 3.0 or later, with Primus PKCS#11 Provider 2.6.2, OpenSSL 3.5 and pkcs11-provider 1.1"
                ]
            },
            "evidence": {
                "sources": [
                    "securosys-openssl-pqc"
                ],
                "locator": "Supported Software Versions, Installation and Usage",
                "note": "Primus HSMs from firmware 3.0 hold ML-DSA-44, ML-DSA-65 and ML-DSA-87 keys usable from OpenSSL 3.5 through PKCS#11."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "pqshield-pqcryptolib-3-5-1-cavp",
            "family": "pqshield-pqcryptolib",
            "release_from": "3.5.1",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "A commercial library from the vendor. CAVP covers the algorithm implementations, not a FIPS 140-3 module validation; the post names no parameter sets.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "PQCryptoLib-Core 3.5.1"
                ]
            },
            "evidence": {
                "sources": [
                    "pqshield-cavp-3-5-1"
                ],
                "locator": "Post body, first two paragraphs and the certificate reference (A8807)",
                "note": "PQShield reports NIST CAVP certification of ML-KEM and ML-DSA in PQCryptoLib-Core 3.5.1."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), catalogue extension research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-0-tls-mlkem-preview",
            "family": "rhel",
            "release_from": "10.0",
            "release_before": "10.1",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "preview",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Install crypto-policies-pq-preview and crypto-policies-scripts and set the policy DEFAULT:TEST-PQ.",
            "limitations": "Technology Preview in RHEL 10.0; package and policy names may change. SecP384r1MLKEM1024 is not in NSS on 10.0.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.0"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-pqc-blog"
                ],
                "locator": "Sections Post-quantum key exchange in TLS (group table) and Conclusion",
                "note": "RHEL 10.0 offers hybrid ML-KEM TLS 1.3 groups in OpenSSL, GnuTLS and NSS as a Technology Preview, switched on with a preview crypto-policies module."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-0-ssh-mlkem-preview",
            "family": "rhel",
            "release_from": "10.0",
            "release_before": "10.1",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "mlkem768x25519-sha256",
                "sntrup761x25519-sha512"
            ],
            "mode": "hybrid",
            "capability": "preview",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Set the policy DEFAULT:TEST-PQ after installing crypto-policies-pq-preview; that module enables only the ML-KEM method, sntrup761 has to be configured by hand.",
            "limitations": "Technology Preview in RHEL 10.0. libssh, used for example by Ansible, has no ML-KEM in RHEL 10.0.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.0"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-pqc-blog"
                ],
                "locator": "Section Post-quantum key exchange in SSH",
                "note": "OpenSSH in RHEL 10.0 supports the hybrid ML-KEM and sntrup761 SSH key exchanges as a Technology Preview."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-0-ml-dsa-preview",
            "family": "rhel",
            "release_from": "10.0",
            "release_before": "10.1",
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-dsa"
            ],
            "mode": "pure",
            "capability": "preview",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Install oqsprovider to use ML-DSA through OpenSSL.",
            "limitations": "Technology Preview. SLH-DSA and composite ML-DSA are not available in 10.0; keys made with oqsprovider use a pre-standard format that 10.1 asks to convert.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.0"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-pqc-blog",
                    "rhel-10-1-features"
                ],
                "locator": "Blog sections Signature primitives and Signatures in TLS; 10.1 notes, item on the standard key format for ML-KEM and ML-DSA",
                "note": "RHEL 10.0 provides ML-DSA through OpenSSL with oqsprovider as a Technology Preview, the only post-quantum signature in that release."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-1-tls-pq-default",
            "family": "rhel",
            "release_from": "10.1",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "The NO-PQ subpolicy turns post-quantum algorithms off; update-crypto-policies --show prints the active policy.",
            "limitations": "Both ends must offer a hybrid group. In FIPS mode the classical part comes from the FIPS provider.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.1"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-1-overview",
                    "rhel-10-1-features",
                    "rhel-10-1-tech-previews"
                ],
                "locator": "Overview 1.1.2 Security; New features 6.2 Security, crypto-policies and OpenSSL 3.5 items; Technology Preview chapter has no PQC item",
                "note": "RHEL 10.1 system-wide policies enable hybrid ML-KEM key exchange at the highest priority by default, with OpenSSL 3.5 and NSS 3.112; it is not listed as a preview."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-1-tls-ml-dsa",
            "family": "rhel",
            "release_from": "10.1",
            "release_before": null,
            "min_build": null,
            "function": "certificate-signatures",
            "role": "signing-and-verification",
            "protocol": "TLS 1.3",
            "algorithms": [
                "ml-dsa-44",
                "ml-dsa-65",
                "ml-dsa-87"
            ],
            "mode": "pure",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": "Enabled in the LEGACY, DEFAULT, FUTURE and FIPS policies; NO-PQ turns it off.",
            "limitations": "Public certificate authorities do not issue ML-DSA certificates; a private CA is needed. An NSS database password change corrupted ML-DSA seeds until an advisory fixed it.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.1"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-1-features",
                    "rhel-10-1-tech-previews"
                ],
                "locator": "New features 6.2 Security: crypto-policies, NSS 3.112, GnuTLS 3.8.10 and ML-DSA keys in TLS items",
                "note": "RHEL 10.1 enables pure ML-DSA signatures and ML-DSA certificates in TLS 1.3 for GnuTLS and NSS through the default policies."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-10-1-openssl-pqc",
            "family": "rhel",
            "release_from": "10.1",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "Keys created with oqsprovider on 10.0 must be converted to the standard format with openssl pkcs8.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 10.1"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-10-1-overview",
                    "rhel-10-1-features"
                ],
                "locator": "Overview 1.1.2 Security; New features 6.2 Security, OpenSSL rebased to 3.5",
                "note": "RHEL 10.1 rebases OpenSSL to 3.5, which adds ML-KEM, ML-DSA and SLH-DSA to the system cryptographic library."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-9-7-tls-pq-subpolicy",
            "family": "rhel",
            "release_from": "9.7",
            "release_before": "10.0",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768",
                "secp256r1mlkem768",
                "secp384r1mlkem1024"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": false,
            "required_patch": null,
            "configuration": "Apply the PQ subpolicy, for example update-crypto-policies --set DEFAULT:PQ, or FIPS:PQ in FIPS mode.",
            "limitations": "Not enabled by default by the system policy. Applies to OpenSSL and NSS; the notes say nothing about OpenSSH.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 9.7"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-9-7-overview",
                    "rhel-9-7-features",
                    "rhel-9-7-tech-previews"
                ],
                "locator": "Overview 1.1 Security; New features 4.2 Security, crypto-policies PQ subpolicy, OpenSSL 3.5 and NSS 3.112 items",
                "note": "RHEL 9.7 ships OpenSSL 3.5 and NSS 3.112 with hybrid ML-KEM groups, enabled through a PQ subpolicy of the system-wide policies; not listed as a preview."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-9-7-openssl-pqc",
            "family": "rhel",
            "release_from": "9.7",
            "release_before": "10.0",
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Red Hat Enterprise Linux 9.7"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-9-7-overview",
                    "rhel-9-7-features"
                ],
                "locator": "Overview 1.1 Security; New features 4.2 Security, OpenSSL 3.5 item",
                "note": "RHEL 9.7 rebases OpenSSL to 3.5, adding ML-KEM, ML-DSA and SLH-DSA to the system library."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "rhel-9-6-tls-no-evidence",
            "family": "rhel",
            "release_from": "9.6",
            "release_before": "9.7",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Red Hat Enterprise Linux 9.6"
                ]
            },
            "evidence": {
                "sources": [
                    "rhel-9-6-overview",
                    "rhel-9-6-tech-previews"
                ],
                "locator": "Overview, Security highlights (OpenSSL 3.2.2); Technology Previews chapter has no PQC item",
                "note": "The RHEL 9.6 notes name OpenSSL 3.2.2 and no post-quantum TLS group or preview for the system TLS libraries."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-24-04-tls-no-evidence",
            "family": "ubuntu",
            "release_from": "24.04",
            "release_before": "25.10",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Ubuntu 24.04 LTS"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-24-04-notes",
                    "ubuntu-26-04-summary"
                ],
                "locator": "24.04 notes, Security Improvements; 26.04 summary, Post-quantum cryptography support (added in 25.10)",
                "note": "The 24.04 notes say nothing about post-quantum TLS; the 26.04 summary lists post-quantum algorithms among OpenSSL changes made since 24.04."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-24-04-ssh-no-evidence",
            "family": "ubuntu",
            "release_from": "24.04",
            "release_before": "25.10",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Ubuntu 24.04 LTS"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-24-04-notes",
                    "ubuntu-26-04-summary"
                ],
                "locator": "24.04 notes, OpenSSH entries; 26.04 summary, Server, OpenSSH (upgrade from 1:9.6p1)",
                "note": "Ubuntu documents no post-quantum SSH key exchange for 24.04; the 26.04 summary gives OpenSSH 9.6p1 as the 24.04 LTS version."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-25-10-tls-hybrid-default",
            "family": "ubuntu",
            "release_from": "25.10",
            "release_before": "26.04",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "The notes speak of hybrid PQC KEM groups without naming them. Ubuntu 25.10 support ended in July 2026.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Ubuntu 25.10"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-25-10-notes"
                ],
                "locator": "Ubuntu Foundations, Cryptography, Libraries: OpenSSL 3.5.3 entry",
                "note": "Ubuntu 25.10 ships OpenSSL 3.5.3 with ML-KEM, ML-DSA and SLH-DSA, and its default TLS group list includes and prefers hybrid post-quantum groups."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-25-10-ssh-hybrid-default",
            "family": "ubuntu",
            "release_from": "25.10",
            "release_before": "26.04",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "The notes do not name the method; upstream OpenSSH 10.0 makes mlkem768x25519-sha256 the default. Support ended in July 2026.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Ubuntu 25.10"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-25-10-notes"
                ],
                "locator": "Ubuntu Server, OpenSSH: update to 10.0",
                "note": "Ubuntu 25.10 updates OpenSSH to 10.0, which uses a hybrid post-quantum key agreement by default."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-26-04-ssh-mlkem-default",
            "family": "ubuntu",
            "release_from": "26.04",
            "release_before": null,
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "mlkem768x25519-sha256"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "The peer must offer the method; OpenSSH warns when a connection uses a key agreement that is not post-quantum.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Ubuntu 26.04 LTS"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-26-04-summary",
                    "ubuntu-26-04-security-blog"
                ],
                "locator": "Summary, Server, OpenSSH; blog, OpenSSH section",
                "note": "Ubuntu 26.04 LTS ships OpenSSH 10.2p1 with the hybrid ML-KEM key exchange on by default and no migration switch needed."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "ubuntu-26-04-openssl-pqc",
            "family": "ubuntu",
            "release_from": "26.04",
            "release_before": null,
            "min_build": null,
            "function": "crypto-api",
            "role": "library",
            "protocol": null,
            "algorithms": [
                "ml-kem",
                "ml-dsa",
                "slh-dsa"
            ],
            "mode": "pure-and-hybrid",
            "capability": "generally-available",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": "The summary does not state the OpenSSL version.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "Ubuntu 26.04 LTS"
                ]
            },
            "evidence": {
                "sources": [
                    "ubuntu-26-04-summary"
                ],
                "locator": "Security, Post-quantum cryptography support (added in 25.10)",
                "note": "For users coming from 24.04, the 26.04 LTS summary lists OpenSSL support for ML-KEM, ML-DSA and SLH-DSA."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "debian-13-tls-no-evidence",
            "family": "debian",
            "release_from": "13",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Debian 13 (trixie)"
                ]
            },
            "evidence": {
                "sources": [
                    "debian-13-whats-new"
                ],
                "locator": "Section 2.2.10 Desktops and well known packages, package version table (OpenSSL)",
                "note": "The Debian 13 release notes make no post-quantum statement; their package table lists OpenSSL 3.5, up from 3.0 in Debian 12."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "debian-13-ssh-no-evidence",
            "family": "debian",
            "release_from": "13",
            "release_before": null,
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Debian 13 (trixie)"
                ]
            },
            "evidence": {
                "sources": [
                    "debian-13-whats-new"
                ],
                "locator": "Section 2.2.10 Desktops and well known packages, package version table (OpenSSH)",
                "note": "The Debian 13 release notes make no post-quantum statement; their package table lists OpenSSH 10.0p1, up from 9.2p1 in Debian 12."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "debian-12-tls-no-evidence",
            "family": "debian",
            "release_from": "12",
            "release_before": "13",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "Debian 12 (bookworm)"
                ]
            },
            "evidence": {
                "sources": [
                    "debian-13-whats-new"
                ],
                "locator": "Section 2.2.10 Desktops and well known packages, package version table (OpenSSL, bookworm column)",
                "note": "No Debian post-quantum statement was found for Debian 12; the Debian 13 notes list OpenSSL 3.0 in Debian 12."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "sles-15-7-ssh-pq-default",
            "family": "sles",
            "release_from": "15.7",
            "release_before": "16.0",
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "sntrup761x25519-sha512",
                "mlkem768x25519-sha256"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "sntrup761 is enabled in DEFAULT, FUTURE and LEGACY; the ML-KEM method only in DEFAULT and FUTURE.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "SUSE Linux Enterprise Server 15 SP7"
                ]
            },
            "evidence": {
                "sources": [
                    "sles-15-7-notes"
                ],
                "locator": "Sections 5.10.2 PQC key exchange enabled by default and 5.10.3 Support for mlkem768x25519-sha256",
                "note": "In SLES 15 SP7 the system-wide policies enable the sntrup761 and hybrid ML-KEM SSH key exchanges by default (OpenSSH 9.6p1)."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "sles-15-7-tls-openssl-3-5-update",
            "family": "sles",
            "release_from": "15.7",
            "release_before": "16.0",
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": "TLS 1.3",
            "algorithms": [
                "x25519mlkem768"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": "SUSE-SU-2026:3835-1 (openssl-3 3.5.0-150700.5.45.2 in the Basesystem Module 15-SP7)",
            "configuration": null,
            "limitations": "Before this update SLES 15 SP7 used OpenSSL 3.2.3 by default, which has no post-quantum groups.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "SUSE Linux Enterprise Server 15 SP7"
                ]
            },
            "evidence": {
                "sources": [
                    "suse-su-2026-3835",
                    "sles-15-7-notes"
                ],
                "locator": "Advisory description (jsc#PED-16072) and the 3.5.0 change list; release notes 5.10.10 OpenSSL 3.2.3 is now default",
                "note": "A SUSE security update moves SLES 15 SP7 to OpenSSL 3.5.0, enabling post-quantum TLS with X25519MLKEM768 offered by default."
            },
            "vendor_date": {
                "type": "vendor-release",
                "value": "2026-08-27",
                "text": "Release date of advisory SUSE-SU-2026:3835-1."
            },
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "sles-16-0-ssh-pq-default",
            "family": "sles",
            "release_from": "16.0",
            "release_before": null,
            "min_build": null,
            "function": "ssh-key-exchange",
            "role": "client-and-server",
            "protocol": "SSH",
            "algorithms": [
                "mlkem768x25519-sha256",
                "sntrup761x25519-sha512"
            ],
            "mode": "hybrid",
            "capability": "generally-available",
            "enabled_by_default": true,
            "required_patch": null,
            "configuration": null,
            "limitations": "The peer must offer one of the methods.",
            "scope": {
                "source": "main-document",
                "applies_to": [
                    "SUSE Linux Enterprise Server 16.0"
                ]
            },
            "evidence": {
                "sources": [
                    "sles-16-0-notes"
                ],
                "locator": "Section 5.14 Post-quantum cryptography (PQC) key exchange enabled by default",
                "note": "SLES 16.0 system-wide policies enable post-quantum SSH key exchange by default, allowing the hybrid ML-KEM and sntrup761 methods."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        },
        {
            "id": "sles-16-0-tls-no-evidence",
            "family": "sles",
            "release_from": "16.0",
            "release_before": null,
            "min_build": null,
            "function": "tls-key-establishment",
            "role": "client-and-server",
            "protocol": null,
            "algorithms": [],
            "mode": "not-applicable",
            "capability": "no-verified-information",
            "enabled_by_default": null,
            "required_patch": null,
            "configuration": null,
            "limitations": null,
            "scope": {
                "source": "no-statement-found",
                "applies_to": [
                    "SUSE Linux Enterprise Server 16.0"
                ]
            },
            "evidence": {
                "sources": [
                    "sles-16-0-notes"
                ],
                "locator": "Whole release notes; OpenSSL 3 is mentioned only for live patching and IBM Z items",
                "note": "The SLES 16.0 release notes state no post-quantum TLS support and no OpenSSL version for the system library."
            },
            "vendor_date": null,
            "review": {
                "state": "reviewed",
                "by": "Claude builder (AI), Linux distribution research; not an independent human review",
                "date": "2026-10-22",
                "next_review": "2027-01-22",
                "note": "Read on the official page on 22 October 2026; the claim, scope and locator match the page.",
                "superseded_by": null
            },
            "conflicts": []
        }
    ],
    "edges": [
        {
            "id": "chrome-mlkem-replaces-kyber",
            "from": "algorithm:x25519mlkem768",
            "to": "algorithm:x25519kyber768draft00",
            "type": "replaces",
            "scope": "Chrome 131 and later",
            "conditions": null,
            "evidence": "chrome-131-mlkem",
            "confirmed": true
        },
        {
            "id": "go-mlkem-replaces-kyber",
            "from": "algorithm:x25519mlkem768",
            "to": "algorithm:x25519kyber768draft00",
            "type": "replaces",
            "scope": "Go 1.24 and later crypto/tls",
            "conditions": null,
            "evidence": "go-1-24-tls-mlkem",
            "confirmed": true
        },
        {
            "id": "openssh-mlkem-replaces-sntrup-default",
            "from": "algorithm:mlkem768x25519-sha256",
            "to": "algorithm:sntrup761x25519-sha512",
            "type": "replaces",
            "scope": "Default SSH key exchange from OpenSSH 10.0",
            "conditions": null,
            "evidence": "openssh-10-0-mlkem-default",
            "confirmed": true
        },
        {
            "id": "cloudflare-needs-visitor-support",
            "from": "family:cloudflare",
            "to": "counterpart:tls-peer",
            "type": "depends-on",
            "scope": "Visitor connections to the Cloudflare edge",
            "conditions": "Hybrid key agreement happens only when the visitor client offers it.",
            "evidence": "cloudflare-visitor-tls-hybrid",
            "confirmed": true
        },
        {
            "id": "cloudflare-needs-origin-support",
            "from": "family:cloudflare",
            "to": "counterpart:origin-server",
            "type": "depends-on",
            "scope": "Connections from Cloudflare to the origin",
            "conditions": "Post-quantum only when the origin server supports X25519MLKEM768.",
            "evidence": "cloudflare-origin-tls-hybrid",
            "confirmed": true
        },
        {
            "id": "cloudflare-origin-ml-dsa-needs-openssl-3-5",
            "from": "family:cloudflare",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "ML-DSA authentication between Cloudflare and the origin",
            "conditions": "The origin needs OpenSSL 3.5.0 or later and TLS 1.3.",
            "evidence": "cloudflare-origin-ml-dsa",
            "confirmed": true
        },
        {
            "id": "openssh-needs-peer",
            "from": "family:openssh",
            "to": "counterpart:ssh-peer",
            "type": "depends-on",
            "scope": "SSH key exchange",
            "conditions": "Both ends must offer the same post-quantum method; this follows from SSH negotiation and is not stated as such in the release notes.",
            "evidence": "openssh-10-0-mlkem-default",
            "confirmed": false
        },
        {
            "id": "strongswan-needs-ike-peer",
            "from": "family:strongswan",
            "to": "counterpart:ike-peer",
            "type": "depends-on",
            "scope": "IKEv2 additional key exchanges",
            "conditions": "Both IKEv2 peers must support the additional ML-KEM exchange; not stated as such on the page.",
            "evidence": "strongswan-6-0-ml-kem",
            "confirmed": false
        },
        {
            "id": "strongswan-needs-crypto-plugin",
            "from": "family:strongswan",
            "to": "counterpart:crypto-provider",
            "type": "depends-on",
            "scope": "ML-KEM in strongSwan",
            "conditions": "A plugin that provides ML-KEM must be loaded.",
            "evidence": "strongswan-6-0-ml-kem",
            "confirmed": true
        },
        {
            "id": "strongswan-6-0-2-uses-openssl-3-5",
            "from": "release:strongswan@6.0.2",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "The openssl plugin of strongSwan 6.0.2 and later",
            "conditions": "Only when the openssl plugin provides ML-KEM.",
            "evidence": "strongswan-6-0-2-openssl-provider",
            "confirmed": true
        },
        {
            "id": "dotnet-10-uses-openssl-3-5",
            "from": "release:dotnet@10",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "Post-quantum algorithms of .NET 10 on Linux",
            "conditions": "On Linux; on Windows CNG provides them.",
            "evidence": "dotnet-10-ml-kem",
            "confirmed": true
        },
        {
            "id": "adcs-ml-dsa-needs-relying-parties",
            "from": "release:windows-server@2025",
            "to": "counterpart:relying-parties",
            "type": "depends-on",
            "scope": "ML-DSA certificates issued by AD CS",
            "conditions": "Every relying party in the chain must validate ML-DSA; Microsoft names Windows 11 24H2 and 25H2 with KB5067036 or later as clients.",
            "evidence": "windows-server-2025-adcs-ml-dsa",
            "confirmed": true
        },
        {
            "id": "aws-endpoints-need-client-opt-in",
            "from": "family:aws-kms",
            "to": "counterpart:tls-peer",
            "type": "depends-on",
            "scope": "TLS to the KMS, ACM and Secrets Manager endpoints",
            "conditions": "The calling SDK and HTTP client must offer the hybrid group.",
            "evidence": "aws-kms-endpoint-tls-hybrid",
            "confirmed": true
        },
        {
            "id": "chrome-needs-server-support",
            "from": "family:chrome",
            "to": "counterpart:tls-peer",
            "type": "depends-on",
            "scope": "TLS connections from Chrome",
            "conditions": "The server must support X25519MLKEM768; not stated as such by Google.",
            "evidence": "chrome-131-mlkem",
            "confirmed": false
        },
        {
            "id": "luna-needs-client-10-9",
            "from": "release:thales-luna@7.9.0",
            "to": "counterpart:crypto-provider",
            "type": "requires-version",
            "scope": "Use of the PQC mechanisms of firmware 7.9.0",
            "conditions": "Luna HSM Client 10.9.0 or newer and Appliance Software 7.9.0.",
            "evidence": "luna-7-9-0-ml-kem-ml-dsa",
            "confirmed": true
        },
        {
            "id": "public-certificates-blocked-by-br",
            "from": "family:lets-encrypt",
            "to": "counterpart:relying-parties",
            "type": "blocked-by",
            "scope": "Publicly trusted TLS certificates with post-quantum signatures",
            "conditions": "The Baseline Requirements permit only RSA and ECDSA today; browsers and root programs would have to accept new algorithms.",
            "evidence": "public-tls-certificates-classical-only",
            "confirmed": true
        },
        {
            "id": "nodejs-24-7-uses-openssl-3-5",
            "from": "release:nodejs@24.7.0",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "Node.js 24.7.0 on the 24.x line",
            "conditions": "The release notes tie the algorithms to OpenSSL 3.5; builds linked against an older system OpenSSL are not covered.",
            "evidence": "nodejs-24-7-ml-kem-ml-dsa",
            "confirmed": true
        },
        {
            "id": "gnutls-3-8-8-needs-liboqs-0-11",
            "from": "release:gnutls@3.8.8",
            "to": "release:liboqs@0.11.0",
            "type": "requires-version",
            "scope": "GnuTLS 3.8.8 builds with liboqs",
            "conditions": "GnuTLS 3.8.10 removed liboqs in favour of leancrypto.",
            "evidence": "gnutls-3-8-8-tls-hybrid",
            "confirmed": true
        },
        {
            "id": "rosenpass-needs-wireguard",
            "from": "family:rosenpass",
            "to": "family:wireguard",
            "type": "depends-on",
            "scope": "Rosenpass with WireGuard",
            "conditions": "Rosenpass supplies the pre-shared key; WireGuard keeps the classical handshake.",
            "evidence": "rosenpass-wireguard-psk",
            "confirmed": true
        },
        {
            "id": "pan-os-needs-ike-peer",
            "from": "family:pan-os",
            "to": "counterpart:ike-peer",
            "type": "depends-on",
            "scope": "PAN-OS 11.2 and later",
            "conditions": "The peer must offer the same KEMs in each additional key exchange round.",
            "evidence": "pan-os-11-2-ikev2-hybrid",
            "confirmed": true
        },
        {
            "id": "fortios-needs-ike-peer",
            "from": "family:fortios",
            "to": "counterpart:ike-peer",
            "type": "depends-on",
            "scope": "FortiOS 7.6.5",
            "conditions": "The peer must support RFC 9370 additional key exchanges with ML-KEM.",
            "evidence": "fortios-7-6-5-ipsec-ml-kem",
            "confirmed": false
        },
        {
            "id": "apple-ios-needs-server-support",
            "from": "family:apple-ios",
            "to": "counterpart:tls-peer",
            "type": "depends-on",
            "scope": "iOS 26",
            "conditions": "The server must support X25519MLKEM768; otherwise a classical group is used.",
            "evidence": "apple-ios-26-tls-hybrid",
            "confirmed": true
        },
        {
            "id": "nshield-pkcs11-needs-firmware-13-8",
            "from": "release:nshield@13.9.0",
            "to": "counterpart:crypto-provider",
            "type": "requires-version",
            "scope": "PKCS#11 ML-DSA in Security World 13.9.0",
            "conditions": "HSM firmware v13.8 or later with the PostQuantum feature enabled.",
            "evidence": "nshield-13-9-pkcs11-ml-dsa",
            "confirmed": true
        },
        {
            "id": "securosys-primus-uses-openssl-3-5",
            "from": "release:securosys-primus@3.0",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "Primus HSM firmware 3.0 used through OpenSSL",
            "conditions": "With Primus PKCS#11 Provider 2.6.2 and OpenSSL pkcs11-provider 1.1.",
            "evidence": "securosys-primus-3-0-ml-dsa",
            "confirmed": true
        },
        {
            "id": "rhel-10-1-uses-openssl-3-5",
            "from": "release:rhel@10.1",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "System TLS and post-quantum algorithms of RHEL 10.1 and later RHEL 10 minor releases",
            "conditions": "Applications that use the system OpenSSL; NSS and GnuTLS are separate libraries.",
            "evidence": "rhel-10-1-tls-pq-default",
            "confirmed": true
        },
        {
            "id": "ubuntu-25-10-uses-openssl-3-5",
            "from": "release:ubuntu@25.10",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "System OpenSSL of Ubuntu 25.10 (3.5.3) and, per the 26.04 summary, Ubuntu 26.04 LTS",
            "conditions": "Applications that use the system OpenSSL.",
            "evidence": "ubuntu-25-10-tls-hybrid-default",
            "confirmed": true
        },
        {
            "id": "ubuntu-25-10-uses-openssh-10-0",
            "from": "release:ubuntu@25.10",
            "to": "release:openssh@10.0",
            "type": "depends-on",
            "scope": "OpenSSH 10.0 in Ubuntu 25.10 and 10.2p1 in Ubuntu 26.04 LTS",
            "conditions": null,
            "evidence": "ubuntu-25-10-ssh-hybrid-default",
            "confirmed": true
        },
        {
            "id": "debian-13-uses-openssl-3-5",
            "from": "release:debian@13",
            "to": "release:openssl@3.5.0",
            "type": "depends-on",
            "scope": "System OpenSSL of Debian 13 (3.5, package table of the release notes)",
            "conditions": "Debian documents no post-quantum default of its own; the OpenSSL 3.5 entries apply to applications using the system library.",
            "evidence": "debian-13-tls-no-evidence",
            "confirmed": true
        },
        {
            "id": "debian-13-uses-openssh-10-0",
            "from": "release:debian@13",
            "to": "release:openssh@10.0",
            "type": "depends-on",
            "scope": "OpenSSH 10.0p1 in Debian 13 (package table of the release notes)",
            "conditions": "Debian documents no post-quantum default of its own; the OpenSSH 10.0 entry applies to the packaged version.",
            "evidence": "debian-13-ssh-no-evidence",
            "confirmed": true
        }
    ],
    "lifecycle": [
        {
            "family": "openssl",
            "release": "3.4.0",
            "type": "end-of-support",
            "date": "2026-10-22",
            "text": "End of support for OpenSSL 3.4.",
            "source": "openssl-release-strategy",
            "locator": "Release Strategy, list of supported versions"
        },
        {
            "family": "openssl",
            "release": "3.5.0",
            "type": "end-of-support",
            "date": "2030-04-08",
            "text": "End of support for OpenSSL 3.5 (long-term support).",
            "source": "openssl-release-strategy",
            "locator": "Release Strategy, list of supported versions"
        },
        {
            "family": "dotnet",
            "release": "9",
            "type": "end-of-support",
            "date": "2026-11-10",
            "text": "End of support for .NET 9 (standard-term support).",
            "source": "dotnet-support-policy",
            "locator": "Support policy, release table"
        },
        {
            "family": "dotnet",
            "release": "10",
            "type": "end-of-support",
            "date": "2028-11-14",
            "text": "End of support for .NET 10 (long-term support).",
            "source": "dotnet-support-policy",
            "locator": "Support policy, release table"
        },
        {
            "family": "ubuntu",
            "release": "25.10",
            "type": "end-of-support",
            "date": "2026-07",
            "text": "End of support for Ubuntu 25.10 (interim release).",
            "source": "ubuntu-25-10-notes",
            "locator": "Introduction, support period of the release"
        }
    ],
    "obligations": []
}