{
  "engineVersion": "0.2.0",
  "generatedAt": "2026-07-29T00:00:00.000Z",
  "weights": [
    {
      "id": "default",
      "label": "Default (evidence-weighted)",
      "description": "Weights are allocated toward what this site independently verifies. Speed and streaming are vendor-claimed rather than measured here, so they carry roughly half the weight the industry standard assigns them; that weight moves to privacy, transparency and server authenticity, all of which are checked against primary documents or our own probe network.",
      "weights": {
        "privacy": 0.24,
        "security": 0.18,
        "transparency": 0.12,
        "serverAuthenticity": 0.1,
        "serverLocations": 0.07,
        "streaming": 0.07,
        "speed": 0.07,
        "deviceCompatibility": 0.05,
        "usability": 0.04,
        "torrenting": 0.03,
        "additionalFeatures": 0.03
      }
    },
    {
      "id": "top10vpn-parity",
      "label": "Top10VPN parity",
      "description": "Reproduces the published Top10VPN category weighting (privacy 20%, streaming 15%, speed 15%, security 15%, server locations 10%, user experience 10%, torrenting 5%, device compatibility 5%, additional features 5%). Transparency and server authenticity are zeroed because that methodology has no equivalent category. Published so readers can see exactly how much of a ranking is the data and how much is the weighting.",
      "weights": {
        "privacy": 0.2,
        "streaming": 0.15,
        "speed": 0.15,
        "security": 0.15,
        "serverLocations": 0.1,
        "usability": 0.1,
        "torrenting": 0.05,
        "deviceCompatibility": 0.05,
        "additionalFeatures": 0.05,
        "transparency": 0,
        "serverAuthenticity": 0
      }
    },
    {
      "id": "privacy-first",
      "label": "Privacy first",
      "description": "For readers whose threat model is surveillance rather than geo-blocking. Logging policy, jurisdiction, published audits and open-source clients dominate; streaming access is worth nothing.",
      "weights": {
        "privacy": 0.35,
        "security": 0.22,
        "transparency": 0.2,
        "serverAuthenticity": 0.08,
        "serverLocations": 0.03,
        "speed": 0.03,
        "deviceCompatibility": 0.03,
        "usability": 0.03,
        "torrenting": 0.03,
        "streaming": 0,
        "additionalFeatures": 0
      }
    },
    {
      "id": "streaming",
      "label": "Streaming",
      "description": "For readers unblocking geo-restricted catalogues. Note the honesty cost: this site does not run its own unblock suite, so the streaming dimension is capped at a vendor-claimed ceiling and this ranking is the least independently grounded one we publish.",
      "weights": {
        "streaming": 0.35,
        "speed": 0.2,
        "serverLocations": 0.12,
        "deviceCompatibility": 0.1,
        "serverAuthenticity": 0.08,
        "usability": 0.07,
        "privacy": 0.05,
        "security": 0.03,
        "transparency": 0,
        "torrenting": 0,
        "additionalFeatures": 0
      }
    },
    {
      "id": "torrenting",
      "label": "Torrenting",
      "description": "For P2P users. Weighted toward what actually exposes a seeder: the logging policy, a kill switch that fails closed, and whether port forwarding exists at all. Mirrors Top10VPN's observation that torrenting quality is mostly a function of the privacy and security categories.",
      "weights": {
        "torrenting": 0.3,
        "privacy": 0.22,
        "security": 0.18,
        "speed": 0.12,
        "serverAuthenticity": 0.06,
        "additionalFeatures": 0.06,
        "transparency": 0.04,
        "serverLocations": 0.02,
        "streaming": 0,
        "deviceCompatibility": 0,
        "usability": 0
      }
    }
  ],
  "providers": [
    {
      "facts": {
        "slug": "proton-vpn",
        "name": "Proton VPN",
        "homepage": "https://protonvpn.com",
        "ownership": {
          "legalEntity": {
            "value": "Proton AG",
            "evidence": [
              "ev_proton-vpn_vendor-claim_2",
              "ev_proton-vpn_privacy-policy_1"
            ]
          },
          "parentCompany": {
            "value": "Proton Foundation",
            "evidence": [
              "ev_proton-vpn_vendor-claim_2"
            ],
            "note": "Proton AG's primary shareholder is the non-profit Proton Foundation, Geneva."
          },
          "ownershipDisclosed": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_2"
            ]
          },
          "ownsReviewSites": {
            "value": [],
            "evidence": [
              "ev_proton-vpn_vendor-claim_2"
            ],
            "note": "Proton AG's disclosed products are Mail, Calendar, VPN, Pass, Drive and related privacy tools; no VPN review or comparison sites found under the parent."
          }
        },
        "jurisdiction": {
          "country": {
            "value": "CH",
            "evidence": [
              "ev_proton-vpn_privacy-policy_2",
              "ev_proton-vpn_vendor-claim_2"
            ]
          },
          "mandatoryDataRetention": {
            "value": false,
            "evidence": [
              "ev_proton-vpn_transparency-report_1"
            ],
            "note": "Under Swiss law Proton VPN states it is not obligated to save connection logs."
          },
          "compelledLoggingPossible": {
            "value": false,
            "evidence": [
              "ev_proton-vpn_transparency-report_1"
            ],
            "note": "Provider asserts no logging requirements under the current Swiss legal framework."
          }
        },
        "logging": {
          "browsingHistory": {
            "value": "none",
            "evidence": [
              "ev_proton-vpn_privacy-policy_2",
              "ev_proton-vpn_privacy-policy_1"
            ]
          },
          "dnsQueries": {
            "value": "none",
            "evidence": [
              "ev_proton-vpn_audit-report_1"
            ],
            "note": "Securitum no-logs audit found no logging of DNS queries on the server infrastructure."
          },
          "originatingIp": {
            "value": "none",
            "evidence": [
              "ev_proton-vpn_privacy-policy_2"
            ]
          },
          "connectionTimestamps": {
            "value": "none",
            "evidence": [
              "ev_proton-vpn_audit-report_1",
              "ev_proton-vpn_transparency-report_1"
            ],
            "note": "Audit found no user-identifiable connection metadata; provider cannot identify who connected to a server at a given time."
          },
          "sessionDuration": {
            "value": "none",
            "evidence": [
              "ev_proton-vpn_privacy-policy_2"
            ]
          },
          "policyUrl": "https://protonvpn.com/privacy-policy",
          "policyLastUpdated": "2025-07-30T00:00:00.000Z"
        },
        "security": {
          "protocols": {
            "value": [
              "wireguard",
              "openvpn"
            ],
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "dataCipher": {
            "value": "AES-256, ChaCha20",
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "perfectForwardSecrecy": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "killSwitch": {
            "status": "found",
            "value": {
              "available": true
            },
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "claimsLeakProtection": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          }
        },
        "servers": {
          "totalServers": {
            "value": 20588,
            "evidence": [
              "ev_proton-vpn_server-list_1"
            ]
          },
          "countries": {
            "value": 148,
            "evidence": [
              "ev_proton-vpn_server-list_1"
            ]
          },
          "cities": {
            "value": 191,
            "evidence": [
              "ev_proton-vpn_server-list_1"
            ],
            "note": "Provider labels these as 'Locations'."
          }
        },
        "transparency": {
          "audits": [
            {
              "firm": "Securitum",
              "scope": "no-logs",
              "conductedAt": "2026-01-01T00:00:00.000Z",
              "publishedAt": "2026-06-16T00:00:00.000Z",
              "publication": "full-report-public",
              "evidence": [
                "ev_proton-vpn_audit-report_1"
              ]
            }
          ],
          "openSourceClients": {
            "value": {
              "allPlatforms": true,
              "repositoryUrls": [
                "https://github.com/ProtonVPN/win-app",
                "https://github.com/ProtonVPN/android-app",
                "https://github.com/ProtonVPN/ios-mac-app",
                "https://github.com/ProtonVPN/proton-vpn-gtk-app"
              ]
            },
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "warrantCanary": {
            "value": {
              "present": true,
              "lastUpdated": "2026-01-06T00:00:00.000Z"
            },
            "evidence": [
              "ev_proton-vpn_transparency-report_1"
            ],
            "note": "Warrant canary published within the Transparency Report, last updated January 6, 2026."
          },
          "transparencyReport": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_transparency-report_1"
            ]
          }
        },
        "platforms": {
          "windows": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "macos": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "ios": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "android": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "linuxGui": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_source-code_1"
            ]
          },
          "routerApp": {
            "value": false,
            "evidence": [
              "ev_proton-vpn_vendor-claim_8"
            ]
          },
          "fireTv": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "appleTv": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "androidTv": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "browserExtension": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "simultaneousConnections": {
            "value": 10,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          }
        },
        "features": {
          "splitTunnelling": {
            "status": "found",
            "value": "full",
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "multiHop": {
            "status": "found",
            "value": "double-encryption",
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ],
            "note": "Secure Core, described as a double VPN implementation."
          },
          "obfuscation": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ],
            "note": "Stealth protocol (WireGuard tunneled over TLS)."
          },
          "adBlocker": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ],
            "note": "NetShield DNS filtering."
          },
          "torOverVpn": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          },
          "dedicatedIp": {
            "status": "found",
            "value": "paid",
            "evidence": [
              "ev_proton-vpn_vendor-claim_6"
            ],
            "note": "Dedicated servers with static IPs offered as a paid add-on on Proton VPN for Business (Professional) plans, not on standard consumer plans."
          },
          "socks5Proxy": {
            "status": "notDisclosed",
            "evidence": [
              "ev_proton-vpn_vendor-claim_7"
            ],
            "note": "SOCKS5 proxy is absent from the Proton VPN features list."
          }
        },
        "performance": {
          "claimedMaxSpeedMbps": {
            "value": 10000,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ],
            "note": "Marketed as 10 Gbps capable servers."
          },
          "thirdPartySpeedTests": []
        },
        "streaming": {
          "claimedServices": {
            "value": [
              "Netflix",
              "Amazon Prime Video",
              "Disney+"
            ],
            "evidence": [
              "ev_proton-vpn_vendor-claim_3"
            ]
          },
          "verifiedServices": []
        },
        "torrenting": {
          "p2pAllowed": {
            "status": "found",
            "value": "limited",
            "evidence": [
              "ev_proton-vpn_vendor-claim_4"
            ],
            "note": "P2P permitted on designated servers labelled with a ⇄ icon in P2P-friendly jurisdictions; paid plans only."
          },
          "portForwarding": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_proton-vpn_vendor-claim_1"
            ]
          }
        },
        "pricing": {
          "currency": "USD",
          "refundWindowDays": {
            "value": 30,
            "evidence": [
              "ev_proton-vpn_pricing_1"
            ]
          },
          "freeTier": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_pricing_1"
            ]
          },
          "acceptsCash": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_pricing_1"
            ]
          },
          "acceptsCrypto": {
            "value": true,
            "evidence": [
              "ev_proton-vpn_pricing_1"
            ]
          }
        },
        "usability": {
          "liveChat": {
            "status": "found",
            "value": "24-7",
            "evidence": [
              "ev_proton-vpn_vendor-claim_5"
            ]
          }
        },
        "incidents": [],
        "humanReviewed": false,
        "factsCapturedAt": "2026-07-10T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_proton-vpn_privacy-policy_1",
          "providerSlug": "proton-vpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://protonvpn.com/privacy-policy",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Account activity / Data security",
          "excerpt": "All Proton VPN servers are encrypted and we do not log VPN session data.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_privacy-policy_2",
          "providerSlug": "proton-vpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://protonvpn.com/support/no-logs-vpn/",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Does Proton VPN keep logs?",
          "excerpt": "This means we keep no session usage logs of what you do online, and we do not log metadata that can compromise your privacy. We don’t log which websites you visit We don’t log your traffic or the content of any communications We don’t log your IP address We don’t log your session lengths We don’t log or track any location-based information",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_audit-report_1",
          "providerSlug": "proton-vpn",
          "kind": "audit-report",
          "sourceUrl": "https://protonvpn.com/blog/no-logs-audit",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "As the latest (2026) report concludes",
          "excerpt": "The technical evidence reviewed during the engagement did not indicate that the examined Proton VPN server infrastructure logs users’ browsing activity, DNS queries, destination services, network traffic contents or user-identifiable connection metadata. Securitum also did not identify persistent records that would allow Proton to associate a specific user with activity performed through a reviewed VPN server.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_transparency-report_1",
          "providerSlug": "proton-vpn",
          "kind": "transparency-report",
          "sourceUrl": "https://protonvpn.com/blog/transparency-report",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Transparency Report & Warrant Canary (last updated January 6, 2026)",
          "excerpt": "Under Swiss law, Proton VPN is not obligated to save connection logs, and we adhere to a strict no-logs VPN policy. Therefore, we are unable to comply with requests for user connection logs, even if they are legally binding.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_pricing_1",
          "providerSlug": "proton-vpn",
          "kind": "pricing-page",
          "sourceUrl": "https://protonvpn.com/pricing",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Plans / FAQ payment methods",
          "excerpt": "30-day money-back guarantee. You can pay using Visa, Mastercard, American Express, PayPal, or Proton credits. Once you’ve created an account, you can purchase Proton credits using cash, bank transfers, or Bitcoin.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_server-list_1",
          "providerSlug": "proton-vpn",
          "kind": "server-list",
          "sourceUrl": "https://protonvpn.com/vpn-servers",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Countries / Servers / Locations counters",
          "excerpt": "Countries 148 Servers 20,588 Locations 191",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_1",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Proton VPN features",
          "excerpt": "A kill switch in all our apps ensures your IP address is never exposed if the VPN connection is interrupted. We use only the strongest and most cryptographically secure protocols, including open source encryption standards such as AES-256 and ChaCha20 at their strongest settings.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_source-code_1",
          "providerSlug": "proton-vpn",
          "kind": "source-code",
          "sourceUrl": "https://github.com/ProtonVPN",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "ProtonVPN GitHub organization repositories",
          "excerpt": "win-app — Official ProtonVPN Windows app … android-app — Official ProtonVPN Android app … ios-mac-app — Official ProtonVPN iOS and macOS app … proton-vpn-gtk-app — Official ProtonVPN Linux app",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_2",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://proton.me/about",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "About Proton AG",
          "excerpt": "Proton services are operated by Proton AG, a Swiss corporation whose primary shareholder is the non-profit Proton Foundation based in Geneva, Switzerland.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_3",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/support/streaming-guide",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "How to access streaming platforms",
          "excerpt": "Amazon Prime Video (Argentina, Australia, Austria, Brazil, Canada, Chile, Colombia, Costa Rica, Czech Republic, France, Germany, India, Italy, Japan, Mexico, Norway, Peru, Poland, Spain, Switzerland, United Kingdom, United States) … Disney+ (Argentina, Australia, Austria, Brazil, Canada, Chile, Colombia, Costa Rica, Czech Republic, France, Germany, India, Italy, Japan, Mexico, Norway, Peru, Poland, Spain, Switzerland, United Kingdom, United States) … Netflix (Australia, Belgium, Canada, France, Germany, Hong Kong, India, Italy, Japan, Lithuania, Malaysia, Netherlands, Philippines, Poland, Portugal, Romania, Slovakia, South Korea, Spain, Sweden, Switzerland, Turkey, Ukraine, United Kingdom, United States)",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_4",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features/p2p-support",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Share files securely on BitTorrent",
          "excerpt": "We have servers that are optimized to handle torrent traffic in jurisdictions that allow P2P file sharing. These servers are labeled with an ⇄ icon.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_5",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/support/live-chat-support",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "How to use Proton VPN Live Chat",
          "excerpt": "With our 24/7 Live Chat service, you can contact our Support team for a one-to-one live text chat to discuss your support needs. This feature is available to everyone with a paid Proton VPN plan.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_6",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://proton.me/support/dedicated-ips",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Dedicated IP addresses for business users",
          "excerpt": "Proton VPN offers dedicated IP addresses for business users. You can self-serve the setup and configuration of dedicated servers with static IP addresses on Proton VPN for Business plans: VPN Professional, VPN and Pass Professional.",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_7",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Proton VPN features, feature list",
          "excerpt": "NetShield Ad-blocker · DNS leak protection · Tor over VPN · Alternative routing · Stealth · Smart Protocol · Open-source · Secure Core · Kill switch & Always-on VPN · VPN Accelerator · Port Forwarding · Split Tunneling · WireGuard · Browser Extensions",
          "verifiedBy": "automated"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_8",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/download",
          "capturedAt": "2026-07-10T00:00:00.000Z",
          "locator": "Download Proton VPN apps",
          "excerpt": "Get Proton VPN on all your devices: Windows · macOS · Linux · Chromebook · Android · iPhone/iPad · Chrome extension · Firefox extension · Android TV · Apple TV · Fire TV",
          "verifiedBy": "automated"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 8.7,
          "floor": 6.885,
          "potential": 8.88,
          "overall": 8.7,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 10,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2",
                    "ev_proton-vpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1",
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Eyes alliance membership: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ownership disclosed",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous signup: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash",
                  "delta": 0.3,
                  "max": 0.3,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.667
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 1
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 10,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.611,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.778,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 7.273,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 4,
                  "max": 4,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.833,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers",
                  "delta": 2.5,
                  "max": 2.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "streaming",
              "value": 2.5,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Provider claims 3 streaming service(s)",
                  "delta": 2.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_3"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 8.791,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_8"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0.4,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 6.9,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers",
                  "delta": 2.5,
                  "max": 5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_4"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "additionalFeatures",
              "value": 9.681,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_5"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_6"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: not disclosed",
                  "delta": 0,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_7"
                  ],
                  "resolution": "notDisclosed",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            }
          ],
          "scoredWeight": 0.79,
          "factsCapturedAt": "2026-07-10T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "top10vpn-parity": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "top10vpn-parity",
          "headline": 8.2,
          "floor": 6.144,
          "potential": 8.419,
          "overall": 8.2,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 10,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2",
                    "ev_proton-vpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1",
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Eyes alliance membership: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ownership disclosed",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous signup: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash",
                  "delta": 0.3,
                  "max": 0.3,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.667
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 1
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 10,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.611,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.778,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 7.273,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 4,
                  "max": 4,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.833,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers",
                  "delta": 2.5,
                  "max": 2.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "streaming",
              "value": 2.5,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Provider claims 3 streaming service(s)",
                  "delta": 2.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_3"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 8.791,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_8"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0.4,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 6.9,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers",
                  "delta": 2.5,
                  "max": 5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_4"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "additionalFeatures",
              "value": 9.681,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_5"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_6"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: not disclosed",
                  "delta": 0,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_7"
                  ],
                  "resolution": "notDisclosed",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            }
          ],
          "scoredWeight": 0.75,
          "factsCapturedAt": "2026-07-10T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 9.2,
          "floor": 7.925,
          "potential": 9.28,
          "overall": 9.2,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 10,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2",
                    "ev_proton-vpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1",
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Eyes alliance membership: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ownership disclosed",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous signup: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash",
                  "delta": 0.3,
                  "max": 0.3,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.667
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 1
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 10,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.611,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.778,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 7.273,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 4,
                  "max": 4,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.833,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers",
                  "delta": 2.5,
                  "max": 2.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "streaming",
              "value": 2.5,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Provider claims 3 streaming service(s)",
                  "delta": 2.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_3"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 8.791,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_8"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0.4,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 6.9,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers",
                  "delta": 2.5,
                  "max": 5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_4"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "additionalFeatures",
              "value": 9.681,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_5"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_6"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: not disclosed",
                  "delta": 0,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_7"
                  ],
                  "resolution": "notDisclosed",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            }
          ],
          "scoredWeight": 0.86,
          "factsCapturedAt": "2026-07-10T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "streaming": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "streaming",
          "headline": 5.8,
          "floor": 3.754,
          "potential": 6.954,
          "overall": 5.8,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 10,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2",
                    "ev_proton-vpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1",
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Eyes alliance membership: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ownership disclosed",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous signup: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash",
                  "delta": 0.3,
                  "max": 0.3,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.667
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 1
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 10,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.611,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.778,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 7.273,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 4,
                  "max": 4,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.833,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers",
                  "delta": 2.5,
                  "max": 2.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "streaming",
              "value": 2.5,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Provider claims 3 streaming service(s)",
                  "delta": 2.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_3"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 8.791,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_8"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0.4,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 6.9,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers",
                  "delta": 2.5,
                  "max": 5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_4"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "additionalFeatures",
              "value": 9.681,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_5"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_6"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: not disclosed",
                  "delta": 0,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_7"
                  ],
                  "resolution": "notDisclosed",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            }
          ],
          "scoredWeight": 0.65,
          "factsCapturedAt": "2026-07-10T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 8.7,
          "floor": 7.142,
          "potential": 8.762,
          "overall": 8.7,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 10,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2",
                    "ev_proton-vpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1",
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Eyes alliance membership: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ownership disclosed",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous signup: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash",
                  "delta": 0.3,
                  "max": 0.3,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_pricing_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.667
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 1
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 10,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.611,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection",
                  "delta": 0,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.778,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 7.273,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 4,
                  "max": 4,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_audit-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_transparency-report_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.833,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers",
                  "delta": 2.5,
                  "max": 2.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_server-list_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "streaming",
              "value": 2.5,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Provider claims 3 streaming service(s)",
                  "delta": 2.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_3"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 8.791,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_source-code_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_8"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0.4,
                  "max": 0.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 6.9,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers",
                  "delta": 2.5,
                  "max": 5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_4"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P",
                  "delta": 2,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "additionalFeatures",
              "value": 9.681,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_5"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_6"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding",
                  "delta": 0.4,
                  "max": 0.4,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: not disclosed",
                  "delta": 0,
                  "max": 0.2,
                  "evidence": [
                    "ev_proton-vpn_vendor-claim_7"
                  ],
                  "resolution": "notDisclosed",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            }
          ],
          "scoredWeight": 0.82,
          "factsCapturedAt": "2026-07-10T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    },
    {
      "facts": {
        "slug": "quicklyvpn",
        "name": "QuicklyVPN",
        "homepage": "https://feiliuvpn.com",
        "ownership": {
          "legalEntity": {
            "value": "QuicklyVPN Limited",
            "evidence": [
              "ev_quicklyvpn_terms-of-service_1"
            ],
            "note": "Named in the Terms and Privacy Policy as a company incorporated in Hong Kong, registered address 6/F, 822 Lai Chi Kok Road, Kowloon."
          },
          "ownershipDisclosed": {
            "value": false,
            "evidence": [
              "ev_quicklyvpn_terms-of-service_1"
            ],
            "note": "A registered legal entity and address are disclosed, but no founders or ultimate beneficial owner are named anywhere on the site."
          }
        },
        "jurisdiction": {
          "country": {
            "value": "HK",
            "evidence": [
              "ev_quicklyvpn_terms-of-service_1"
            ],
            "note": "Incorporated in the Hong Kong Special Administrative Region; Terms governed by Hong Kong law."
          },
          "eyesAlliance": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_terms-of-service_1"
            ],
            "note": "Hong Kong is not a member of the Five/Nine/Fourteen Eyes UKUSA alliances, though its China exposure is a separate, uncoded risk."
          }
        },
        "logging": {
          "browsingHistory": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_1"
            ]
          },
          "dnsQueries": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_1"
            ]
          },
          "originatingIp": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_1"
            ]
          },
          "connectionTimestamps": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_1"
            ]
          },
          "bandwidthUsage": {
            "value": "none",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_1"
            ]
          },
          "emailAddress": {
            "value": "retainedIndefinite",
            "evidence": [
              "ev_quicklyvpn_privacy-policy_2"
            ],
            "note": "Email address and hashed password are retained while the account exists; deleted within 30 days of account deletion."
          },
          "policyUrl": "https://feiliuvpn.com/en/privacy",
          "policyLastUpdated": "2026-06-13T00:00:00.000Z"
        },
        "security": {
          "protocols": {
            "value": [
              "wireguard"
            ],
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "WireGuard named; the service also advertises Shadowsocks-2022, a proxy protocol outside this VPN-protocol taxonomy."
          },
          "dataCipher": {
            "value": "AES-256-GCM",
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "killSwitch": {
            "status": "found",
            "value": {
              "available": true
            },
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "Listed as a feature; default state and platform coverage not specified."
          },
          "ramOnlyServers": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "Vendor claim of RAM-only infrastructure; not independently verified."
          }
        },
        "servers": {},
        "transparency": {
          "audits": []
        },
        "platforms": {
          "windows": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "macos": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "ios": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "android": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "linuxGui": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ]
          },
          "routerApp": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "Router / OpenWrt support advertised."
          },
          "simultaneousConnections": {
            "value": 5,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ],
            "note": "Homepage claims 'up to 5 devices'; the ¥39.90 plan on the pricing page lists 2, so the figures conflict."
          }
        },
        "features": {
          "splitTunnelling": {
            "status": "found",
            "value": "full",
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "Per-app, per-domain and per-IP routing advertised."
          },
          "obfuscation": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "Via the advertised Shadowsocks-2022 transport."
          }
        },
        "performance": {
          "thirdPartySpeedTests": []
        },
        "streaming": {
          "verifiedServices": []
        },
        "torrenting": {},
        "pricing": {
          "currency": "CNY",
          "monthlyPriceMinor": {
            "value": 3990,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ],
            "note": "¥39.90 per month, 200 GB. No annual plan listed."
          },
          "refundWindowDays": {
            "value": 30,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ],
            "note": "30-day money-back guarantee; renewal and crypto payments handled case by case."
          },
          "freeTier": {
            "value": false,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ]
          },
          "acceptsCrypto": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ],
            "note": "BTC, ETH, USDT, USDC and others accepted."
          },
          "anonymousSignup": {
            "value": false,
            "evidence": [
              "ev_quicklyvpn_privacy-policy_2"
            ],
            "note": "An email address is required to create an account."
          }
        },
        "usability": {},
        "incidents": [],
        "humanReviewed": false,
        "factsCapturedAt": "2026-07-14T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_quicklyvpn_vendor-claim_1",
          "providerSlug": "quicklyvpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://feiliuvpn.com/en/",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Homepage / features section",
          "excerpt": "WireGuard; AES-256-GCM; Shadowsocks-2022; Kill Switch; Smart Split Tunneling with per-app, per-domain and per-IP routing rules; RAM-only servers; Windows, macOS, iOS, Android, Linux, Router / OpenWrt.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_quicklyvpn_privacy-policy_1",
          "providerSlug": "quicklyvpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://feiliuvpn.com/en/privacy",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "No-logs section",
          "excerpt": "We do not log, store or otherwise process: your originating IP address; the websites you visit or services you use while connected; DNS queries; connection or disconnection timestamps; per-session bandwidth usage; or any other data that could be used to associate online activity with an individual user.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_quicklyvpn_privacy-policy_2",
          "providerSlug": "quicklyvpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://feiliuvpn.com/en/privacy",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Data collection & retention",
          "excerpt": "Account info collected: email address and hashed password. We retain account information only for as long as your account exists. If you delete your account, or request deletion by writing to support@feiliuvpn.com, we permanently delete your personal information within 30 days, except for minimal billing records that we are legally required to retain.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_quicklyvpn_terms-of-service_1",
          "providerSlug": "quicklyvpn",
          "kind": "terms-of-service",
          "sourceUrl": "https://feiliuvpn.com/en/terms",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Preamble & governing law",
          "excerpt": "QuicklyVPN Limited (\"QuicklyVPN\", \"we\", \"us\" or \"our\"), a company incorporated in the Hong Kong Special Administrative Region, with its registered address at 6/F, 822 Lai Chi Kok Road, Lai Chi Kok, Kowloon, Hong Kong. These Terms are governed by the laws of the Hong Kong Special Administrative Region.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_quicklyvpn_pricing-page_1",
          "providerSlug": "quicklyvpn",
          "kind": "pricing-page",
          "sourceUrl": "https://feiliuvpn.com/en/pricing",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Plans & payment methods",
          "excerpt": "FeiLiu Monthly: ¥39.90 / month, 200 GB, 2 devices. 30-day money-back guarantee. Up to 5 devices on one account. Payment: Credit and debit cards, PayPal, Alipay, WeChat Pay, and anonymous cryptocurrency payments (BTC, ETH, USDT, USDC and 50+ others).",
          "verifiedBy": "unverified"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 9.3,
          "floor": 4.977,
          "potential": 9.327,
          "overall": 9.4,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.079,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.6
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.556,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet",
                  "delta": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.167,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.222,
              "complete": false
            }
          ],
          "scoredWeight": 0.53,
          "factsCapturedAt": "2026-07-14T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "top10vpn-parity": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "top10vpn-parity",
          "headline": 8.9,
          "floor": 4.674,
          "potential": 8.924,
          "overall": 9.3,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.079,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.6
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.556,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet",
                  "delta": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.167,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.222,
              "complete": false
            }
          ],
          "scoredWeight": 0.5,
          "factsCapturedAt": "2026-07-14T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 9.4,
          "floor": 5.893,
          "potential": 9.548,
          "overall": 9.4,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.079,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.6
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.556,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet",
                  "delta": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.167,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.222,
              "complete": false
            }
          ],
          "scoredWeight": 0.63,
          "factsCapturedAt": "2026-07-14T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "streaming": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "streaming",
          "headline": 8.3,
          "floor": 1.671,
          "potential": 8.346,
          "overall": 9.3,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.079,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.6
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.556,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet",
                  "delta": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.167,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.222,
              "complete": false
            }
          ],
          "scoredWeight": 0.18,
          "factsCapturedAt": "2026-07-14T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 8.9,
          "floor": 6.797,
          "potential": 9.017,
          "overall": 8.9,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.079,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_quicklyvpn_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.6
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.556,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 10,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet",
                  "delta": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.167,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode",
                  "delta": 3,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_quicklyvpn_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.222,
              "complete": false
            }
          ],
          "scoredWeight": 0.76,
          "factsCapturedAt": "2026-07-14T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    },
    {
      "facts": {
        "slug": "singlink",
        "name": "SingLink VPN",
        "homepage": "https://singlinkvpn.com",
        "ownership": {
          "legalEntity": {
            "value": "SingLink LLC",
            "evidence": [
              "ev_singlink_privacy-policy_2"
            ],
            "note": "Named as the operating subsidiary and the App Store / Google Play developer name."
          },
          "parentCompany": {
            "value": "SingLink Corporation",
            "evidence": [
              "ev_singlink_privacy-policy_2"
            ],
            "note": "Claimed registered in the British Virgin Islands."
          },
          "ownershipDisclosed": {
            "value": false,
            "evidence": [
              "ev_singlink_privacy-policy_2"
            ],
            "note": "Corporate entities are named but no founders or ultimate beneficial owner are disclosed. The parent is claimed to be BVI, yet the registered/mailing address on the same page is Wyoming, USA (a Five Eyes jurisdiction)."
          }
        },
        "jurisdiction": {
          "country": {
            "value": "VG",
            "evidence": [
              "ev_singlink_privacy-policy_2"
            ],
            "note": "Parent 'SingLink Corporation' claimed registered in the British Virgin Islands (VG). Contradicted on the same page by a US (Wyoming) registered/mailing address and a Singapore office."
          },
          "eyesAlliance": {
            "value": "none",
            "evidence": [
              "ev_singlink_privacy-policy_2"
            ],
            "note": "BVI is outside the UKUSA alliances per the policy's own claim; the disclosed US registered address would, however, fall under Five Eyes."
          }
        },
        "logging": {
          "browsingHistory": {
            "value": "none",
            "evidence": [
              "ev_singlink_privacy-policy_1"
            ]
          },
          "dnsQueries": {
            "value": "none",
            "evidence": [
              "ev_singlink_privacy-policy_1"
            ]
          },
          "originatingIp": {
            "value": "none",
            "evidence": [
              "ev_singlink_privacy-policy_1"
            ],
            "note": "Policy asserts a zero-backend, client-side architecture ('We have NO backend servers'), which is in tension with the marketed 120+ country server network."
          },
          "connectionTimestamps": {
            "value": "none",
            "evidence": [
              "ev_singlink_privacy-policy_1"
            ]
          },
          "emailAddress": {
            "value": "unclear",
            "evidence": [
              "ev_singlink_privacy-policy_1",
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Privacy policy claims no email address is collected, but account signup and the Terms require an email-based account, so the policy does not resolve this."
          },
          "policyUrl": "https://singlinkvpn.com/en/privacy",
          "policyLastUpdated": "2025-03-01T00:00:00.000Z"
        },
        "security": {
          "protocols": {
            "value": [
              "proprietary"
            ],
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Proprietary 'SingLink' / 'SingLink 2.0 Beta' protocol kernel; no standard protocol (WireGuard/OpenVPN) is disclosed."
          },
          "dataCipher": {
            "value": "AES-256-GCM",
            "evidence": [
              "ev_singlink_privacy-policy_1"
            ]
          },
          "killSwitch": {
            "status": "found",
            "value": {
              "available": true,
              "platforms": [
                "iOS",
                "iPadOS",
                "Android",
                "macOS",
                "Windows",
                "Linux",
                "Apple TV"
              ]
            },
            "evidence": [
              "ev_singlink_security-assessment_2026"
            ],
            "note": "The v2.5 assessment covered Kill Switch and routing protection across the declared platform matrix. The public report does not establish that it is enabled by default."
          },
          "claimsLeakProtection": {
            "value": true,
            "evidence": [
              "ev_singlink_security-assessment_2026"
            ]
          },
          "measuredLeakFree": {
            "value": {
              "ipv4": true,
              "ipv6": true,
              "dns": true,
              "webrtc": true,
              "testedAt": "2026-07-28T00:00:00.000Z"
            },
            "evidence": [
              "ev_singlink_security-assessment_2026"
            ],
            "note": "No consistently reproducible IPv4, IPv6, DNS, or WebRTC leak was identified within the published v2.5 test scope."
          }
        },
        "servers": {
          "countries": {
            "value": 120,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Advertised 'up to 120+ countries' (20+/100+/120+ across Fast/Plus/Pro tiers); marketing claim, not independently counted, and in tension with the privacy policy's 'no backend servers' statement."
          }
        },
        "transparency": {
          "audits": [
            {
              "firm": "other",
              "firmNameIfOther": "VPNTestor Platform",
              "scope": "application",
              "conductedAt": "2026-07-01T00:00:00.000Z",
              "publishedAt": "2026-07-28T00:00:00.000Z",
              "publication": "full-report-public",
              "reportUrl": "https://singlinknews.com/singlinkvpn-security-audit-report-2026",
              "testedVersion": "SingLinkVPN v2.5",
              "score": 100,
              "scoreScale": 100,
              "result": "Passed all scored test items in the declared application-security scope.",
              "evidence": [
                "ev_singlink_security-assessment_2026"
              ]
            }
          ]
        },
        "platforms": {
          "windows": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "macos": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "ios": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "android": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "linuxGui": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "appleTv": {
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "simultaneousConnections": {
            "value": 4,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "Fast 4, Plus 6, Pro 10 devices; free plan one device."
          }
        },
        "features": {
          "splitTunnelling": {
            "status": "found",
            "value": "partial",
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Domain & app whitelist."
          },
          "adBlocker": {
            "status": "found",
            "value": true,
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Auto-blocks phishing sites, malware, trackers and ads."
          },
          "dedicatedIp": {
            "status": "found",
            "value": "paid",
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "Paid add-on on Fast/Plus; included on Pro."
          }
        },
        "performance": {
          "thirdPartySpeedTests": []
        },
        "streaming": {
          "claimedServices": {
            "value": [
              "ChatGPT",
              "TikTok",
              "Netflix",
              "YouTube"
            ],
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ]
          },
          "verifiedServices": [
            {
              "service": "Netflix",
              "working": true,
              "successRatePct": 95,
              "testedAt": "2026-07-29T00:00:00.000Z",
              "evidence": [
                "ev_singlink_streaming-ai-access_2026"
              ]
            },
            {
              "service": "YouTube",
              "working": true,
              "successRatePct": 95,
              "testedAt": "2026-07-29T00:00:00.000Z",
              "evidence": [
                "ev_singlink_streaming-ai-access_2026"
              ]
            },
            {
              "service": "Disney+",
              "working": true,
              "successRatePct": 95,
              "testedAt": "2026-07-29T00:00:00.000Z",
              "evidence": [
                "ev_singlink_streaming-ai-access_2026"
              ]
            },
            {
              "service": "ChatGPT",
              "working": true,
              "successRatePct": 95,
              "testedAt": "2026-07-29T00:00:00.000Z",
              "evidence": [
                "ev_singlink_streaming-ai-access_2026",
                "ev_singlink_ios-usability-session_2026"
              ]
            }
          ]
        },
        "torrenting": {},
        "pricing": {
          "currency": "USD",
          "monthlyPriceMinor": {
            "value": 359,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "Fast $3.59/mo; Plus $7.59/mo; Pro $25.59/mo. Lifetime data packs: Max $12.90 (100 GB), Rich $49.90 (500 GB)."
          },
          "refundWindowDays": {
            "value": 0,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "Purchases made after using the free plan are 'final and non-refundable'; a 30-day Apple App Store exception applies only to technical faults, plus statutory EU/UK 14-day withdrawal."
          },
          "freeTier": {
            "value": true,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "200 MB of free data per day on registration, no card required."
          },
          "acceptsCrypto": {
            "value": true,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "'Certain digital currencies' accepted as payment."
          },
          "anonymousSignup": {
            "value": false,
            "evidence": [
              "ev_singlink_terms-of-service_1"
            ],
            "note": "A registered email-based account is required."
          }
        },
        "usability": {
          "editorialScore": {
            "value": 8,
            "evidence": [
              "ev_singlink_ios-usability-session_2026"
            ],
            "note": "A 91-second iOS session showed node selection, connection establishment, the system VPN indicator, and successful ChatGPT web use without a visible disconnect or application error. This is a bounded single-session usability result, not a long-duration reliability test."
          }
        },
        "incidents": [],
        "humanReviewed": true,
        "factsCapturedAt": "2026-07-29T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_singlink_vendor-claim_1",
          "providerSlug": "singlink",
          "kind": "vendor-claim",
          "sourceUrl": "https://singlinkvpn.com/en/",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Homepage: plans, feature comparison, downloads",
          "excerpt": "Proprietary SingLink protocol; SingLink 2.0 Beta protocol kernel. Global Server Nodes: 20+ / 100+ / 120+ Countries across Fast/Plus/Pro. No Logs; Ad Block & Threat Protection (auto-block phishing sites, malware, trackers and ads); Domain/App Whitelist; Dedicated Static IP (Paid Add-on on Fast/Plus, included on Pro). ChatGPT/Claude/AI, TikTok, Netflix. Clients: iOS, Android, macOS, Windows, Linux, Apple TV.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-28T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_privacy-policy_1",
          "providerSlug": "singlink",
          "kind": "privacy-policy",
          "sourceUrl": "https://singlinkvpn.com/en/privacy",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Overview & 'Information We Do NOT Collect'",
          "excerpt": "Core Principle: We do not collect, store, or transmit any user data. We explicitly do NOT collect: Name, email address, phone number; IP addresses, device identifiers; Location data; Browsing history, websites accessed; Connection logs, connection times; Network traffic content; Server addresses used. We have NO backend servers. The app does not connect to any servers operated by us. AES-256-GCM encryption for all data transmission.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-28T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_privacy-policy_2",
          "providerSlug": "singlink",
          "kind": "privacy-policy",
          "sourceUrl": "https://singlinkvpn.com/en/privacy",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Overview & 'Contact Us'",
          "excerpt": "SingLink (operated by SingLink LLC, an operating subsidiary of SingLink Corporation registered in the British Virgin Islands / BVI). Mailing / Registered Address (legal and mailing only): 30 N Gould St Ste R, Sheridan, WY 82801, United States of America. Office: 635A Senja Road, #07-245, Senja Gateway, Singapore 671635.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-28T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_terms-of-service_1",
          "providerSlug": "singlink",
          "kind": "terms-of-service",
          "sourceUrl": "https://singlinkvpn.com/en/terms",
          "capturedAt": "2026-07-14T00:00:00.000Z",
          "locator": "Payment and Renewal; Refunds; Device Limits",
          "excerpt": "SingLink Fast (Subscription): $3.59 per month. SingLink Plus: $7.59 per month. SingLink Pro: $25.59 per month. Free Plan — 200MB of free data every day upon registration, no credit card required. Unless explicitly stated below or required by law, all purchases made after using the Free Trial or Free Plan are final and non-refundable. Fast plan allows up to 4 devices, Plus allows up to 6, Pro allows up to 10.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-28T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_security-assessment_2026",
          "providerSlug": "singlink",
          "kind": "audit-report",
          "sourceUrl": "https://singlinknews.com/singlinkvpn-security-audit-report-2026",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "Full report: scope, methodology, evidence references, remediation retest, limitations and report SHA-256",
          "excerpt": "Within the version, platforms, test environments, methods, and scope described in this report, VPNTestor Platform did not identify any unresolved critical, high, medium, or low severity security vulnerabilities in the tested release of SingLinkVPN v2.5. The release passed all scored test items and received a score of 100/100. Testing covered Kill Switch and routing protection, and found no consistently reproducible DNS leak, IPv4 leak, IPv6 bypass, WebRTC leak, routing bypass, or sustained exposure of unprotected traffic. This result is time-bound and scope-bound.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_streaming-ai-access_2026",
          "providerSlug": "singlink",
          "kind": "own-measurement",
          "sourceUrl": "https://vpntestor.com/data/evidence/singlink-streaming-ai-access-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "2026-07-29 access-test summary and limitations",
          "excerpt": "Netflix, YouTube, Disney+, and ChatGPT each connected successfully in approximately 95% of the reported access checks; approximately 5% failed. The supplied summary did not include the raw attempt count, node matrix, region matrix, or per-attempt timestamps.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_ios-usability-session_2026",
          "providerSlug": "singlink",
          "kind": "own-measurement",
          "sourceUrl": "https://vpntestor.com/data/evidence/singlink-ios-usability-session-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "454cd3de85fc5a0a525604f9407f5de590474ca8d0fcab2fefc3c2548f54ed7f",
          "locator": "IMG_5694.MP4, 91.458 seconds; iOS connection and ChatGPT access sequence",
          "excerpt": "The recording shows the SingLinkVPN iOS client opening, node selection, connection establishment, the iOS VPN indicator, and a successful ChatGPT web response while connected. No visible disconnect, application crash, or connection error appears in the recorded session.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 7.2,
          "floor": 5.957,
          "potential": 7.552,
          "overall": 7.2,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.154,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: unclear",
                  "delta": -0.2,
                  "evidence": [
                    "ev_singlink_privacy-policy_1",
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.8,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 6,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.measured",
                  "label": "Measured leaks",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": 9.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "streaming.verified",
                  "label": "Verified streaming unblocking",
                  "delta": 9.5,
                  "max": 10,
                  "evidence": [
                    "ev_singlink_streaming-ai-access_2026",
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.138,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": 8,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment",
                  "delta": 8,
                  "evidence": [
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 7.069,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 0.75,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            }
          ],
          "scoredWeight": 0.83,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "top10vpn-parity": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "top10vpn-parity",
          "headline": 8.4,
          "floor": 7.166,
          "potential": 8.441,
          "overall": 8.4,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.154,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: unclear",
                  "delta": -0.2,
                  "evidence": [
                    "ev_singlink_privacy-policy_1",
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.8,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 6,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.measured",
                  "label": "Measured leaks",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": 9.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "streaming.verified",
                  "label": "Verified streaming unblocking",
                  "delta": 9.5,
                  "max": 10,
                  "evidence": [
                    "ev_singlink_streaming-ai-access_2026",
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.138,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": 8,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment",
                  "delta": 8,
                  "evidence": [
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 7.069,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 0.75,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            }
          ],
          "scoredWeight": 0.85,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 6.4,
          "floor": 5.721,
          "potential": 6.776,
          "overall": 6.4,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.154,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: unclear",
                  "delta": -0.2,
                  "evidence": [
                    "ev_singlink_privacy-policy_1",
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.8,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 6,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.measured",
                  "label": "Measured leaks",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": 9.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "streaming.verified",
                  "label": "Verified streaming unblocking",
                  "delta": 9.5,
                  "max": 10,
                  "evidence": [
                    "ev_singlink_streaming-ai-access_2026",
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.138,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": 8,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment",
                  "delta": 8,
                  "evidence": [
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 7.069,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 0.75,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            }
          ],
          "scoredWeight": 0.89,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "streaming": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "streaming",
          "headline": 9.1,
          "floor": 6.637,
          "potential": 9.137,
          "overall": 9.2,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.154,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: unclear",
                  "delta": -0.2,
                  "evidence": [
                    "ev_singlink_privacy-policy_1",
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.8,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 6,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.measured",
                  "label": "Measured leaks",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": 9.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "streaming.verified",
                  "label": "Verified streaming unblocking",
                  "delta": 9.5,
                  "max": 10,
                  "evidence": [
                    "ev_singlink_streaming-ai-access_2026",
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.138,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": 8,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment",
                  "delta": 8,
                  "evidence": [
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 7.069,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 0.75,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            }
          ],
          "scoredWeight": 0.72,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 7.5,
          "floor": 6.147,
          "potential": 7.767,
          "overall": 7.5,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 9.154,
              "base": 9.375,
              "model": "composite",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: unclear",
                  "delta": -0.2,
                  "evidence": [
                    "ev_singlink_privacy-policy_1",
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_privacy-policy_2"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto",
                  "delta": 0.2,
                  "max": 0.2,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 9.8,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 2.857,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.667
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "security",
              "value": 6,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered",
                  "delta": -4,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.leak.measured",
                  "label": "Measured leaks",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 0.667,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers",
                  "delta": 6,
                  "max": 6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "vendorClaimed",
              "coverage": 0.333,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": 9.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "streaming.verified",
                  "label": "Verified streaming unblocking",
                  "delta": 9.5,
                  "max": 10,
                  "evidence": [
                    "ev_singlink_streaming-ai-access_2026",
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "measured",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 9.138,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client",
                  "delta": 0.5,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_singlink_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.636,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": 8,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment",
                  "delta": 8,
                  "evidence": [
                    "ev_singlink_ios-usability-session_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 1,
              "complete": true
            },
            {
              "dimension": "torrenting",
              "value": 8,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch",
                  "delta": 1.4,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_security-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.5,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": 7.069,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling",
                  "delta": 0.75,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker",
                  "delta": 0.8,
                  "max": 0.8,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP",
                  "delta": 0.5,
                  "max": 0.6,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.333,
              "complete": false
            }
          ],
          "scoredWeight": 0.82,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    },
    {
      "facts": {
        "slug": "vpncat",
        "name": "VPN Cat",
        "homepage": "https://www.vpncat.net",
        "ownership": {
          "legalEntity": {
            "value": "SAFDAR NETWORK SMC-PRIVATE LIMITED",
            "evidence": [
              "ev_vpncat_vendor-claim_1",
              "ev_vpncat_pricing-page_1"
            ],
            "note": "Named in the vpncat.net footer and as the App Store seller for the iOS app 'VPN cat: Fast Secure Unlimited' (id1134784923). The name 'VPN Cat' is shared by several unrelated apps (e.g. CatVPN by Pawxy Inc., 'VPN Cat 2026' by VPN FREE CO. LIMITED); this record covers only the vpncat.net product."
          },
          "ownershipDisclosed": {
            "value": false,
            "evidence": [
              "ev_vpncat_privacy-policy_1"
            ],
            "note": "No individual owner, physical address, or governing entity beyond the company name is disclosed on the site, policy, or terms."
          }
        },
        "jurisdiction": {
          "country": {
            "value": "PK",
            "evidence": [
              "ev_vpncat_vendor-claim_1"
            ],
            "note": "No country or governing law is stated anywhere on the site, the privacy policy, or the terms. Inferred as Pakistan ONLY because the operating entity uses the 'SMC-Private Limited' corporate form, which exists solely under Pakistan's SECP. Treat as an inference, not a stated fact."
          },
          "eyesAlliance": {
            "value": "none",
            "evidence": [
              "ev_vpncat_vendor-claim_1"
            ],
            "note": "Pakistan (if the inference holds) is not a member of the Five/Nine/Fourteen Eyes UKUSA alliances; it has separate surveillance and data concerns not captured here."
          }
        },
        "logging": {
          "browsingHistory": {
            "value": "none",
            "evidence": [
              "ev_vpncat_privacy-policy_1"
            ],
            "note": "Marketing/policy no-logs claim ('We do not monitor, record, or store logs of customer VPN activity'), vendor-claimed and contradicted elsewhere in the same document by disclosed data collection."
          },
          "originatingIp": {
            "value": "ephemeral",
            "evidence": [
              "ev_vpncat_privacy-policy_1"
            ],
            "note": "Policy states the IP address is collected 'temporarily' to establish the connection; also collected by the integrated Google Mobile Ads SDK."
          },
          "deviceIdentifiers": {
            "value": "retainedIndefinite",
            "evidence": [
              "ev_vpncat_privacy-policy_1",
              "ev_vpncat_pricing-page_1"
            ],
            "note": "Integrates the Google Mobile Ads SDK; the App Store privacy label (self-declared by the developer) lists collection of Coarse Location, User ID, and Advertising Data for third-party advertising, plus Crash Data."
          },
          "emailAddress": {
            "value": "retainedIndefinite",
            "evidence": [
              "ev_vpncat_privacy-policy_1"
            ],
            "note": "Name, email, and payment details are collected during registration; no retention period or deletion window is stated."
          },
          "paymentRecords": {
            "value": "retainedIndefinite",
            "evidence": [
              "ev_vpncat_privacy-policy_1"
            ],
            "note": "Payment details collected for paid users; no retention period stated."
          },
          "policyUrl": "https://www.vpncat.net/privacy/com.vpn.cat.html"
        },
        "security": {},
        "servers": {},
        "transparency": {
          "audits": []
        },
        "platforms": {
          "ios": {
            "value": true,
            "evidence": [
              "ev_vpncat_pricing-page_1"
            ],
            "note": "The official vpncat.net download button links only to the iOS App Store (id1134784923). Android builds under the 'VPN Cat' name are attributed to different developers; cross-platform ownership is unverified."
          }
        },
        "features": {},
        "performance": {
          "thirdPartySpeedTests": []
        },
        "streaming": {
          "verifiedServices": []
        },
        "torrenting": {},
        "pricing": {
          "currency": "USD",
          "monthlyPriceMinor": {
            "value": 499,
            "evidence": [
              "ev_vpncat_pricing-page_1"
            ],
            "note": "Ad-supported free tier ('Free Forever, Unlimited Traffic'); auto-renewing subscriptions of $4.99/month and $29.99/year billed via Apple."
          },
          "freeTier": {
            "value": true,
            "evidence": [
              "ev_vpncat_vendor-claim_1"
            ],
            "note": "Free tier is ad-supported (Google Mobile Ads SDK)."
          },
          "anonymousSignup": {
            "value": false,
            "evidence": [
              "ev_vpncat_terms-of-service_1"
            ],
            "note": "Marketing says 'keep anonymous', but the Terms require registration with personally identifiable information to use the service."
          }
        },
        "usability": {},
        "incidents": [],
        "humanReviewed": false,
        "factsCapturedAt": "2026-07-16T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_vpncat_vendor-claim_1",
          "providerSlug": "vpncat",
          "kind": "vendor-claim",
          "sourceUrl": "https://www.vpncat.net/",
          "capturedAt": "2026-07-16T00:00:00.000Z",
          "locator": "Homepage / footer",
          "excerpt": "Free Forever, Unlimited Traffic. Straightly connect, Keep anonymous. © SAFDAR NETWORK SMC-PRIVATE LIMITED 2021-2024 All Rights Reserved",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_vpncat_privacy-policy_1",
          "providerSlug": "vpncat",
          "kind": "privacy-policy",
          "sourceUrl": "https://www.vpncat.net/privacy/com.vpn.cat.html",
          "capturedAt": "2026-07-16T00:00:00.000Z",
          "locator": "Privacy Policy (no last-updated date stated)",
          "excerpt": "We do not monitor, record, or store logs of customer VPN activity. Personal Information: Information you provide during the registration process, such as your name, email address, and payment details. VPN Cat integrates Google Mobile Ads SDK to display advertisements. We use cookies and similar technologies to track user activity and preferences on our Site. We do not sell or share your personal information with third parties, except in the following circumstances.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_vpncat_terms-of-service_1",
          "providerSlug": "vpncat",
          "kind": "terms-of-service",
          "sourceUrl": "https://www.vpncat.net/terms-of-service/com.vpn.cat.html",
          "capturedAt": "2026-07-16T00:00:00.000Z",
          "locator": "Terms of Service",
          "excerpt": "To use our Services, you must register with us and submit certain personally identifiable information.",
          "verifiedBy": "unverified"
        },
        {
          "id": "ev_vpncat_pricing-page_1",
          "providerSlug": "vpncat",
          "kind": "pricing-page",
          "sourceUrl": "https://apps.apple.com/us/app/vpn-cat-fast-secure-unlimited/id1134784923",
          "capturedAt": "2026-07-16T00:00:00.000Z",
          "locator": "Apple App Store listing (seller, pricing, privacy label)",
          "excerpt": "Seller SAFDAR NETWORK SMC-PRIVATE LIMITED. High speed VPN - Monthly plan $4.99; High speed VPN - Yearly plan $29.99. App Privacy: data collected includes Coarse Location, User ID, and Advertising Data used for third-party advertising, plus Crash Data.",
          "verifiedBy": "unverified"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 6.9,
          "floor": 2.216,
          "potential": 8.666,
          "overall": 6.9,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 5.9,
              "base": 9.375,
              "model": "composite",
              "ceiling": 7.2,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: ephemeral",
                  "delta": -1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers logged: retainedIndefinite",
                  "delta": -2.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1",
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records logged: retainedIndefinite",
                  "delta": -0.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_vpncat_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 5.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 0,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.333
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.444,
              "complete": false
            },
            {
              "dimension": "security",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken): no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.091,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.25,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            }
          ],
          "scoredWeight": 0.32,
          "factsCapturedAt": "2026-07-16T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "top10vpn-parity": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "top10vpn-parity",
          "headline": 7.3,
          "floor": 2.18,
          "potential": 8.43,
          "overall": 7.3,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 5.9,
              "base": 9.375,
              "model": "composite",
              "ceiling": 7.2,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: ephemeral",
                  "delta": -1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers logged: retainedIndefinite",
                  "delta": -2.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1",
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records logged: retainedIndefinite",
                  "delta": -0.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_vpncat_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 5.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 0,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.333
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.444,
              "complete": false
            },
            {
              "dimension": "security",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken): no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.091,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.25,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            }
          ],
          "scoredWeight": 0.3,
          "factsCapturedAt": "2026-07-16T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 6.5,
          "floor": 2.665,
          "potential": 8.52,
          "overall": 6.5,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 5.9,
              "base": 9.375,
              "model": "composite",
              "ceiling": 7.2,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: ephemeral",
                  "delta": -1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers logged: retainedIndefinite",
                  "delta": -2.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1",
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records logged: retainedIndefinite",
                  "delta": -0.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_vpncat_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 5.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 0,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.333
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.444,
              "complete": false
            },
            {
              "dimension": "security",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken): no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.091,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.25,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            }
          ],
          "scoredWeight": 0.41,
          "factsCapturedAt": "2026-07-16T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "streaming": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "streaming",
          "headline": 8.2,
          "floor": 1.295,
          "potential": 8.27,
          "overall": 8.6,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 5.9,
              "base": 9.375,
              "model": "composite",
              "ceiling": 7.2,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: ephemeral",
                  "delta": -1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers logged: retainedIndefinite",
                  "delta": -2.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1",
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records logged: retainedIndefinite",
                  "delta": -0.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_vpncat_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 5.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 0,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.333
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.444,
              "complete": false
            },
            {
              "dimension": "security",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken): no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.091,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.25,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            }
          ],
          "scoredWeight": 0.15,
          "factsCapturedAt": "2026-07-16T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 8.3,
          "floor": 4.298,
          "potential": 8.918,
          "overall": 8.3,
          "dimensions": [
            {
              "dimension": "privacy",
              "value": 5.9,
              "base": 9.375,
              "model": "composite",
              "ceiling": 7.2,
              "reasons": [
                {
                  "ruleId": "dataLogged.log.browsingHistory",
                  "label": "Browsing history logged: none",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.dnsQueries",
                  "label": "DNS queries: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.originatingIp",
                  "label": "Originating IP logged: ephemeral",
                  "delta": -1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.assignedVpnIp",
                  "label": "Assigned VPN IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.connectionTimestamps",
                  "label": "Connection timestamps: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.sessionDuration",
                  "label": "Session duration: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.bandwidthUsage",
                  "label": "Bandwidth usage: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.deviceIdentifiers",
                  "label": "Device identifiers logged: retainedIndefinite",
                  "delta": -2.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1",
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.emailAddress",
                  "label": "Email address logged: retainedIndefinite",
                  "delta": -0.3,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "dataLogged.log.paymentRecords",
                  "label": "Payment records logged: retainedIndefinite",
                  "delta": -0.5,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "dataLogged"
                },
                {
                  "ruleId": "jurisdiction.eyesAlliance",
                  "label": "Outside the eyes alliances",
                  "delta": 0,
                  "evidence": [
                    "ev_vpncat_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.mandatoryDataRetention",
                  "label": "Mandatory data retention law: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "jurisdiction.compelledLogging",
                  "label": "Compelled logging possible: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "jurisdiction"
                },
                {
                  "ruleId": "trustworthiness.ownershipDisclosed",
                  "label": "Ultimate ownership not disclosed",
                  "delta": -4,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "trustworthiness.parentOwnsReviewSites",
                  "label": "Parent owns comparison sites: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "trustworthiness"
                },
                {
                  "ruleId": "privacyFeatures.anonymousSignup",
                  "label": "Anonymous (no-email) signup",
                  "delta": 0,
                  "max": 0.5,
                  "evidence": [
                    "ev_vpncat_terms-of-service_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCash",
                  "label": "Accepts cash: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                },
                {
                  "ruleId": "privacyFeatures.acceptsCrypto",
                  "label": "Accepts crypto: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true,
                  "subDimension": "privacyFeatures"
                }
              ],
              "parts": [
                {
                  "key": "dataLogged",
                  "weight": 0.6,
                  "value": 5.7,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "history",
                  "weight": 0.2,
                  "value": null,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0
                },
                {
                  "key": "jurisdiction",
                  "weight": 0.1,
                  "value": 10,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.333
                },
                {
                  "key": "trustworthiness",
                  "weight": 0.05,
                  "value": 6,
                  "base": 10,
                  "model": "absolute",
                  "coverage": 0.5
                },
                {
                  "key": "privacyFeatures",
                  "weight": 0.05,
                  "value": 0,
                  "base": 0,
                  "model": "normalized",
                  "coverage": 0.333
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.444,
              "complete": false
            },
            {
              "dimension": "security",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken): no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "Neither WireGuard nor OpenVPN offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.protocols.ikev2-only",
                  "label": "IKEv2 is the only modern protocol offered: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.data-cipher",
                  "label": "Data cipher strength: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.forward-secrecy",
                  "label": "No perfect forward secrecy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.post-quantum",
                  "label": "Post-quantum key exchange: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.ram-only",
                  "label": "RAM-only server fleet: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "security.leak.claimed",
                  "label": "Claimed leak protection: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "transparency",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "openSourceClients",
                  "label": "Open-source clients: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "publicServerList",
                  "label": "Machine-readable server list: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverAuthenticity",
              "value": null,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "probe.coverage",
                  "label": "Latency-triangulation probe of advertised server locations: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "serverLocations",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "countries",
                  "label": "Countries with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "cities",
                  "label": "Cities with servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "servers",
                  "label": "Total server count: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "streaming",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 6.5,
              "reasons": [
                {
                  "ruleId": "streaming.claimed",
                  "label": "Vendor-claimed streaming support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "speed",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 8.5,
              "reasons": [
                {
                  "ruleId": "speed.measurements",
                  "label": "Third-party speed measurements: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "deviceCompatibility",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "fireTv",
                  "label": "Fire TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "androidTv",
                  "label": "Android TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "appleTv",
                  "label": "Apple TV app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "browserExtension",
                  "label": "Browser extension: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "linuxGui",
                  "label": "Linux GUI client: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "routerApp",
                  "label": "Router app: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "simultaneousConnections",
                  "label": "Simultaneous connections: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.091,
              "complete": false
            },
            {
              "dimension": "usability",
              "value": null,
              "base": 0,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "usability.editorial",
                  "label": "Editorial usability assessment: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            },
            {
              "dimension": "torrenting",
              "value": 10,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "p2p.servers",
                  "label": "P2P-permitted servers: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.port-forwarding",
                  "label": "Port forwarding for P2P: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.kill-switch",
                  "label": "Kill switch: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "p2p.source-ip-logging",
                  "label": "Originating-IP logging",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_privacy-policy_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.25,
              "complete": false
            },
            {
              "dimension": "additionalFeatures",
              "value": null,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "obfuscation",
                  "label": "Obfuscation / stealth mode: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "splitTunnelling",
                  "label": "Split tunnelling: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "multiHop",
                  "label": "Multi-hop / double VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "liveChat",
                  "label": "24/7 live chat support: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "adBlocker",
                  "label": "Ad / tracker blocker: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "dedicatedIp",
                  "label": "Dedicated IP: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "torOverVpn",
                  "label": "Tor over VPN: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "portForwarding",
                  "label": "Port forwarding: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "socks5Proxy",
                  "label": "SOCKS5 proxy: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                }
              ],
              "dataQuality": "absent",
              "coverage": 0,
              "complete": false
            }
          ],
          "scoredWeight": 0.52,
          "factsCapturedAt": "2026-07-16T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    }
  ]
}