{
  "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",
              "reportUrl": "https://drive.proton.me/urls/DZVEJZFYHM#FPSKdUEykprb",
              "testedVersion": "Production VPN server infrastructure reviewed in 2026",
              "result": "Securitum reported no evidence that the examined infrastructure logged browsing activity, DNS queries, destination services, traffic contents or user-identifiable connection metadata.",
              "evidence": [
                "ev_proton-vpn_audit-report_1"
              ]
            },
            {
              "firm": "other",
              "firmNameIfOther": "Openscore VPN team · verified by VPNTestor",
              "scope": "application",
              "conductedAt": "2026-07-29T00:00:00.000Z",
              "publishedAt": "2026-07-29T00:00:00.000Z",
              "publication": "full-report-public",
              "reportUrl": "https://vpntestor.com/en/news/proton-vpn-client-security-assessment-2026",
              "testedVersion": "Android 5.19.61.0 and Windows 5.1.5 x64",
              "result": "Static client, supply-chain and public security evidence assessment: 92/100. Official hashes matched, Android v2/v3 signatures verified, Windows EV Authenticode signer identified as Proton AG, and public transparency checks passed. Runtime leakage, Kill Switch and backend penetration testing were not performed.",
              "evidence": [
                "ev_proton-vpn_static-supply-chain-assessment_2026"
              ]
            }
          ],
          "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-07-14T00:00:00.000Z"
            },
            "evidence": [
              "ev_proton-vpn_transparency-report_1"
            ],
            "note": "Transparency report updated 14 July 2026; it reports 47 of 47 legally binding orders denied through June 2026 because identifying VPN connection logs were unavailable."
          },
          "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": true,
        "factsCapturedAt": "2026-07-29T00: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-29T00:00:00.000Z",
          "locator": "Account activity / Data security",
          "excerpt": "All Proton VPN servers are encrypted and we do not log VPN session data.",
          "verifiedBy": "human"
        },
        {
          "id": "ev_proton-vpn_privacy-policy_2",
          "providerSlug": "proton-vpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://protonvpn.com/support/no-logs-vpn/",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_audit-report_1",
          "providerSlug": "proton-vpn",
          "kind": "audit-report",
          "sourceUrl": "https://protonvpn.com/blog/no-logs-audit",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_transparency-report_1",
          "providerSlug": "proton-vpn",
          "kind": "transparency-report",
          "sourceUrl": "https://protonvpn.com/blog/transparency-report",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_pricing_1",
          "providerSlug": "proton-vpn",
          "kind": "pricing-page",
          "sourceUrl": "https://protonvpn.com/pricing",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_server-list_1",
          "providerSlug": "proton-vpn",
          "kind": "server-list",
          "sourceUrl": "https://protonvpn.com/vpn-servers",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "Countries / Servers / Locations counters",
          "excerpt": "Countries 148 Servers 20,588 Locations 191",
          "verifiedBy": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_1",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_source-code_1",
          "providerSlug": "proton-vpn",
          "kind": "source-code",
          "sourceUrl": "https://github.com/ProtonVPN",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_2",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://proton.me/about",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_3",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/support/streaming-guide",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_4",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features/p2p-support",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_5",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/support/live-chat-support",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_6",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://proton.me/support/dedicated-ips",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_7",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/features",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_vendor-claim_8",
          "providerSlug": "proton-vpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://protonvpn.com/download",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_proton-vpn_static-supply-chain-assessment_2026",
          "providerSlug": "proton-vpn",
          "kind": "audit-report",
          "sourceUrl": "https://vpntestor.com/en/news/proton-vpn-client-security-assessment-2026",
          "archiveUrl": "https://vpntestor.com/data/evidence/proton-vpn-client-security-assessment-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "VPNTestor static client and public security evidence assessment",
          "excerpt": "Android 5.19.61.0 and Windows 5.1.5 official release hashes matched GitHub digests. Android APK Signature Schemes v2 and v3 verified; Windows carried an EV Authenticode certificate for Proton AG. Static and public-evidence scope: 92/100; runtime controls remain untested.",
          "verifiedBy": "human"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 8.8,
          "floor": 6.939,
          "potential": 8.934,
          "overall": 8.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": "No independently standardised modern protocol 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.727,
              "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.5,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_static-supply-chain-assessment_2026"
                  ],
                  "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-29T00: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": "No independently standardised modern protocol 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.727,
              "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.5,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_static-supply-chain-assessment_2026"
                  ],
                  "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "proton-vpn",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 9.3,
          "floor": 8.016,
          "potential": 9.371,
          "overall": 9.3,
          "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": "No independently standardised modern protocol 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.727,
              "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.5,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_static-supply-chain-assessment_2026"
                  ],
                  "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-29T00: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": "No independently standardised modern protocol 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.727,
              "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.5,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_static-supply-chain-assessment_2026"
                  ],
                  "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-29T00: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.16,
          "potential": 8.78,
          "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": "No independently standardised modern protocol 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.727,
              "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.5,
                  "max": 3,
                  "evidence": [
                    "ev_proton-vpn_static-supply-chain-assessment_2026"
                  ],
                  "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    },
    {
      "facts": {
        "slug": "quicklyvpn",
        "name": "SunsonVPN",
        "homepage": "https://sunsonvpn.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",
              "ev_quicklyvpn_vendor-claim_1"
            ],
            "note": "The reviewed public homepage and legal terms name the operating company and address but do not identify founders or ultimate beneficial owners."
          }
        },
        "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://sunsonvpn.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": [
            {
              "firm": "other",
              "firmNameIfOther": "Openscore VPN team · verified by VPNTestor",
              "scope": "application",
              "conductedAt": "2026-07-29T00:00:00.000Z",
              "publishedAt": "2026-07-29T00:00:00.000Z",
              "publication": "full-report-public",
              "reportUrl": "https://vpntestor.com/en/news/sunsonvpn-openflyx-v101-static-security-audit-2026",
              "testedVersion": "OpenFlyX 1.0.1",
              "result": "Static package and supply-chain assessment: 55/100. macOS signed and notarized; Android APK v2-signed with broad permissions requiring explanation; Windows installer unsigned. This is not a final VPN application-security or overall provider score; isolated runtime tests remain incomplete.",
              "evidence": [
                "ev_quicklyvpn_openflyx_static-audit_2026"
              ]
            }
          ]
        },
        "platforms": {
          "windows": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_download-page_2026"
            ]
          },
          "macos": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_download-page_2026"
            ]
          },
          "ios": {
            "value": false,
            "evidence": [
              "ev_quicklyvpn_download-page_2026"
            ],
            "note": "The public download page marks iOS as Coming Soon and provides no package."
          },
          "android": {
            "value": true,
            "evidence": [
              "ev_quicklyvpn_download-page_2026"
            ]
          },
          "linuxGui": {
            "value": false,
            "evidence": [
              "ev_quicklyvpn_download-page_2026"
            ],
            "note": "The public download page marks Linux as Coming Soon and provides no package."
          },
          "simultaneousConnections": {
            "value": 2,
            "evidence": [
              "ev_quicklyvpn_pricing-page_1"
            ],
            "note": "The ¥39.90 monthly plan explicitly lists 2 devices. The homepage separately claims up to 5, so the lower plan-specific figure is used."
          }
        },
        "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": true,
        "factsCapturedAt": "2026-07-29T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_quicklyvpn_vendor-claim_1",
          "providerSlug": "quicklyvpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://sunsonvpn.com/en/",
          "sourceNote": "Current website address updated editorially on 2026-11-01. Capture date, original capture hash and quoted evidence remain historical; this is not a new capture at the current address.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "6cccaa7ea6a43a7153d2ce61b1610ead383dc30a392093b24737f2a23f586d2a",
          "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": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_privacy-policy_1",
          "providerSlug": "quicklyvpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://sunsonvpn.com/en/privacy/",
          "sourceNote": "Current website address updated editorially on 2026-11-01; the quote and capture hash refer to the historical policy, not a new verification of the current website.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "664dfca4395a0375ce789f9177a8ab1d79fb1823f89f1316cadc17f5575f0fec",
          "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": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_privacy-policy_2",
          "providerSlug": "quicklyvpn",
          "kind": "privacy-policy",
          "sourceUrl": "https://sunsonvpn.com/en/privacy/",
          "sourceNote": "Current website address updated editorially on 2026-11-01. The historical quote is shortened before the old support address; the original capture hash is retained, not recalculated as a current-policy hash.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "664dfca4395a0375ce789f9177a8ab1d79fb1823f89f1316cadc17f5575f0fec",
          "locator": "Data collection & retention",
          "excerpt": "We collect only the minimum information necessary to operate the Service: (a) Account information — the email address you register with and your hashed password. We retain account information only for as long as your account exists.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_terms-of-service_1",
          "providerSlug": "quicklyvpn",
          "kind": "terms-of-service",
          "sourceUrl": "https://sunsonvpn.com/en/terms/",
          "sourceNote": "Current website address updated editorially on 2026-11-01; the legal entity quote and capture hash retain the original historical scope.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "7d233ab299548f09abf748e023c2f80556d0a30ddb68b8412046db6a395a52a9",
          "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": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_pricing-page_1",
          "providerSlug": "quicklyvpn",
          "kind": "pricing-page",
          "sourceUrl": "https://sunsonvpn.com/en/#pricing",
          "sourceNote": "Current website address updated editorially on 2026-11-01. The historical quote starts after the former plan name and is not a statement of the current offer.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "3f76725e4be85385fc96449a03e150f7e4a8916a14eb983b7d1f0257ed7a0be8",
          "locator": "Plans & payment methods",
          "excerpt": "¥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": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_download-page_2026",
          "providerSlug": "quicklyvpn",
          "kind": "vendor-claim",
          "sourceUrl": "https://sunsonvpn.com/en/",
          "sourceNote": "Current website address updated editorially on 2026-11-01. Versions, availability and capture hash describe the historical download page only.",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "ca6dc263f2f0029a3ea7b6391575803553483fef27c84aa3ef2960553159d383",
          "locator": "Platform download cards and embedded download manifest",
          "excerpt": "Android, Windows and macOS have enabled download URLs for version 1.0.1. iOS and Linux are disabled and marked Coming Soon. The page offers help installing on a router, console or smart TV but publishes no router package.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_quicklyvpn_openflyx_static-audit_2026",
          "providerSlug": "quicklyvpn",
          "kind": "audit-report",
          "sourceUrl": "https://vpntestor.com/data/evidence/sunsonvpn-openflyx-static-audit-2026.json",
          "sourceNote": "Editorial brand revision dated 2026-11-01. This hash identifies the revised public JSON; test date, tested artifacts and security conclusions are unchanged.",
          "archiveUrl": "https://vpntestor.com/data/evidence/sunsonvpn-openflyx-static-audit-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "71bd1fd6aae043a27ad84bf58f024852574865bce19b97c955bc38937f769fa9",
          "locator": "Artifact table, findings and limitations",
          "excerpt": "The completed static package and supply-chain scope receives 55/100: artifact integrity and provenance 13/30, platform signing 18/30, permissions and production hardening 16/20, and public security transparency 8/20. This is not a final VPN application-security or overall provider score.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 7.5,
          "floor": 4.905,
          "potential": 8.055,
          "overall": 7.5,
          "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",
                    "ev_quicklyvpn_vendor-claim_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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_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": 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": 6,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.545,
              "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.65,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "top10vpn-parity": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "top10vpn-parity",
          "headline": 8.7,
          "floor": 4.516,
          "potential": 8.766,
          "overall": 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",
                    "ev_quicklyvpn_vendor-claim_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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_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": 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": 6,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.545,
              "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 7.2,
          "floor": 5.94,
          "potential": 7.595,
          "overall": 7.2,
          "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",
                    "ev_quicklyvpn_vendor-claim_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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_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": 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": 6,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.545,
              "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.83,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "streaming": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "streaming",
          "headline": 7.5,
          "floor": 1.354,
          "potential": 8.029,
          "overall": 7.5,
          "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",
                    "ev_quicklyvpn_vendor-claim_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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_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": 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": 6,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.545,
              "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "quicklyvpn",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 8.5,
          "floor": 6.826,
          "potential": 8.646,
          "overall": 8.5,
          "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",
                    "ev_quicklyvpn_vendor-claim_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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_quicklyvpn_openflyx_static-audit_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": 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": 6,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "windows",
                  "label": "Windows app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "macos",
                  "label": "macOS app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "ios",
                  "label": "iOS app",
                  "delta": 0,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "android",
                  "label": "Android app",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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,
                  "max": 0.5,
                  "evidence": [
                    "ev_quicklyvpn_download-page_2026"
                  ],
                  "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_quicklyvpn_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                }
              ],
              "dataQuality": "documented",
              "coverage": 0.545,
              "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.8,
          "factsCapturedAt": "2026-07-29T00: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",
              "ev_singlink_protocol-whitepaper_2026"
            ],
            "note": "Proprietary SingLink 2.0 protocol with a public architecture whitepaper. The page describes authentication, encrypted sessions, DNS, routing and transport boundaries but says exact cipher suites, handshake fields and rotation periods remain for a future public specification."
          },
          "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://vpntestor.com/en/news/singlink-vpn-v25-security-audit-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"
              ]
            },
            {
              "firm": "other",
              "firmNameIfOther": "Openscore VPN / VPNTestor Platform",
              "scope": "no-logs",
              "conductedAt": "2026-07-29T00:00:00.000Z",
              "publishedAt": "2026-07-29T00:00:00.000Z",
              "publication": "full-report-public",
              "reportUrl": "https://vpntestor.com/zh-Hans/news/singlinkvpn-no-logs-verification-2026",
              "testedVersion": "Production environment as of 2026-07-29",
              "result": "Passed the scope-bound, read-only technical verification. No persistent fields, interfaces, or log systems for user browsing activity, DNS queries, originating IP history, per-session connection history, or user-to-destination activity mapping were identified within the inspected production scope.",
              "evidence": [
                "ev_singlink_no-logs-verification_2026"
              ]
            }
          ],
          "openSourceClients": {
            "value": {
              "allPlatforms": false,
              "repositoryUrls": [
                "https://github.com/SingLinkLabs/singlink-vpn-open-source"
              ]
            },
            "evidence": [
              "ev_singlink_open-source-community_2026"
            ],
            "note": "Phase one publishes documentation, data formats, reports and validation tools. Complete VPN client source is explicitly not yet included, so this receives partial—not full—open-source credit."
          },
          "transparencyReport": {
            "value": true,
            "evidence": [
              "ev_singlink_transparency-center_2026"
            ],
            "note": "The public transparency center collects the operating disclosure, open-source plan and third-party security audit. It is a provider publication, not an infrastructure no-logs audit."
          }
        },
        "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": "full",
            "evidence": [
              "ev_singlink_vendor-claim_1",
              "ev_singlink_macos-speed-features_2026"
            ],
            "note": "The product documentation lists domain and application whitelisting; the macOS client screenshot separately shows domain and IP proxy-bypass controls."
          },
          "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."
          },
          "liveChat": {
            "status": "found",
            "value": "24-7",
            "evidence": [
              "ev_singlink_vendor-claim_1"
            ],
            "note": "The public product and plan page states that 24/7 VIP support is included."
          }
        },
        "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://vpntestor.com/en/news/singlink-vpn-v25-security-audit-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"
        },
        {
          "id": "ev_singlink_open-source-community_2026",
          "providerSlug": "singlink",
          "kind": "source-code",
          "sourceUrl": "https://singlinknews.com/singlink-vpn-open-source-plan",
          "archiveUrl": "https://github.com/SingLinkLabs/singlink-vpn-open-source",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "137fca6590144e1b60c221c99049bf45aab82a4317bcec96df6d7e3d651c21f6",
          "locator": "Phase-one repository scope and community participation sections",
          "excerpt": "The official repository now contains docs, data, reports, tools, tests, and GitHub automation directories. Developers, security researchers, and community members can improve documentation, translations, reproducibility, public-data quality, accessibility, research tools, validation and test design. The complete VPN client source is not included in phase one.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_transparency-center_2026",
          "providerSlug": "singlink",
          "kind": "transparency-report",
          "sourceUrl": "https://singlinknews.com/zh-Hans/category/transparency",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "1411315c4b8d19e0c51a11dfffcd68ef79989ffac7234955b072d52c5bdc9555",
          "locator": "Transparency center collection and three listed disclosures",
          "excerpt": "查看星连VPN运营信息、隐私承诺、安全审计、技术披露与透明度报告。公开条目包括星连VPN安全审计报告、星连VPN开源计划正式启动、谁在运营星连VPN？",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_protocol-whitepaper_2026",
          "providerSlug": "singlink",
          "kind": "source-code",
          "sourceUrl": "https://singlinkvpn.com/cn/tech/singlink-protocol/",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "50b69e32c5e458b72b9a0db318eb3206f3205b6078cf98b58105b5e7bc2f9473",
          "locator": "Protocol scope, lifecycle, authentication and encrypted-session sections",
          "excerpt": "SingLink 2.0是星连VPN自行研发的正式网络传输协议。公开说明覆盖控制面、数据面、DNS、智能分流、身份验证、加密会话、TCP与UDP传输、Session、Stream与断线恢复；具体密码套件、握手字段和轮换周期须以未来公开规范为准。",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_macos-speed-features_2026",
          "providerSlug": "singlink",
          "kind": "own-measurement",
          "sourceUrl": "https://vpntestor.com/data/evidence/singlink-macos-speed-features-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "contentHash": "757de1cd5260ddbcfcce427e534131ec0de6c9f4bd9b95d156cbccc372a953aa",
          "locator": "Two supplied macOS screenshots and their SHA-256 records",
          "excerpt": "The connected macOS session visibly reached 616.28 Mbps during the Ookla download phase with 64 ms visible idle latency. A separate settings screenshot shows launch-at-login, global mode, ad and tracker blocking, and domain/IP proxy bypass. No upload result, unprotected baseline, repeated sample set, or port-forwarding test was supplied.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        },
        {
          "id": "ev_singlink_no-logs-verification_2026",
          "providerSlug": "singlink",
          "kind": "audit-report",
          "sourceUrl": "https://vpntestor.com/zh-Hans/news/singlinkvpn-no-logs-verification-2026",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "Full independent no-logs policy verification report v1.0: scope, methods, findings, retention matrix, limitations and signature",
          "excerpt": "Within the read-only production scope as of 2026-07-29, the Openscore VPN audit team and VPNTestor Platform found no persistent fields, reporting interfaces, or log systems for websites visited, destination domains, full URLs, DNS queries, browsing or communications content, originating IP history, node-use history, per-session connection history, or account-to-network-activity mappings. Limited service data and its stated retention periods are separately disclosed. The conclusion is time-bound and scope-bound.",
          "verifiedBy": "human",
          "verifiedAt": "2026-07-29T00:00:00.000Z"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "singlink",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 8.4,
          "floor": 6.941,
          "potential": 8.536,
          "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": 8.5,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "No independently standardised modern protocol offered",
                  "delta": -1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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": 4.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 2,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_no-logs-verification_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",
                  "delta": 1,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_open-source-community_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_transparency-center_2026"
                  ],
                  "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.667,
              "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": 9.744,
              "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": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_macos-speed-features_2026"
                  ],
                  "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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.444,
              "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.9,
          "floor": 7.675,
          "potential": 8.95,
          "overall": 9,
          "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": 8.5,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "No independently standardised modern protocol offered",
                  "delta": -1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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": 4.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 2,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_no-logs-verification_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",
                  "delta": 1,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_open-source-community_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_transparency-center_2026"
                  ],
                  "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.667,
              "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": 9.744,
              "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": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_macos-speed-features_2026"
                  ],
                  "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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.444,
              "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": 7.9,
          "floor": 7.028,
          "potential": 8.083,
          "overall": 7.9,
          "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": 8.5,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "No independently standardised modern protocol offered",
                  "delta": -1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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": 4.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 2,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_no-logs-verification_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",
                  "delta": 1,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_open-source-community_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_transparency-center_2026"
                  ],
                  "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.667,
              "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": 9.744,
              "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": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_macos-speed-features_2026"
                  ],
                  "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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.444,
              "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.2,
          "floor": 6.712,
          "potential": 9.212,
          "overall": 9.3,
          "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": 8.5,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "No independently standardised modern protocol offered",
                  "delta": -1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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": 4.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 2,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_no-logs-verification_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",
                  "delta": 1,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_open-source-community_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_transparency-center_2026"
                  ],
                  "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.667,
              "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": 9.744,
              "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": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_macos-speed-features_2026"
                  ],
                  "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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.444,
              "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": 8.4,
          "floor": 6.909,
          "potential": 8.529,
          "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": 8.5,
              "base": 10,
              "model": "absolute",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "security.protocols.pptp",
                  "label": "PPTP offered (cryptographically broken)",
                  "delta": 0,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "security.protocols.no-modern-core",
                  "label": "No independently standardised modern protocol offered",
                  "delta": -1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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",
                    "ev_singlink_protocol-whitepaper_2026"
                  ],
                  "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": 4.5,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No-logs audit",
                  "delta": 2,
                  "max": 4,
                  "evidence": [
                    "ev_singlink_no-logs-verification_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",
                  "delta": 1,
                  "max": 2,
                  "evidence": [
                    "ev_singlink_open-source-community_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "warrantCanary",
                  "label": "Warrant canary: no evidence collected",
                  "delta": 0,
                  "evidence": [],
                  "resolution": "notAssessed",
                  "onMissingData": true
                },
                {
                  "ruleId": "transparencyReport",
                  "label": "Transparency report",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_transparency-center_2026"
                  ],
                  "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.667,
              "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": 9.744,
              "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": 1.5,
                  "max": 1.5,
                  "evidence": [
                    "ev_singlink_vendor-claim_1",
                    "ev_singlink_macos-speed-features_2026"
                  ],
                  "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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_singlink_vendor-claim_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.444,
              "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": [
            {
              "firm": "other",
              "firmNameIfOther": "Openscore VPN team · verified by VPNTestor",
              "scope": "application",
              "conductedAt": "2026-07-29T00:00:00.000Z",
              "publishedAt": "2026-07-29T00:00:00.000Z",
              "publication": "full-report-public",
              "reportUrl": "https://vpntestor.com/en/news/vpn-cat-v2125-public-security-assessment-2026",
              "testedVersion": "2.12.5",
              "result": "Public-distribution security assessment: 34/100. Official App Store identity and current metadata verified; binary, permissions, entitlements, tunnel behavior, leaks, kill switch, update path and backend controls remain unverified because no independently downloadable package or test evidence was available. This is not an overall VPN score.",
              "evidence": [
                "ev_vpncat_public-distribution-assessment_2026"
              ]
            }
          ]
        },
        "platforms": {
          "macos": {
            "value": true,
            "evidence": [
              "ev_vpncat_pricing-page_1"
            ],
            "note": "Apple lists the iOS/iPadOS app as compatible with Apple-silicon Macs running macOS 13 or later; this is not evidence of a separate native macOS build."
          },
          "ios": {
            "value": true,
            "evidence": [
              "ev_vpncat_pricing-page_1"
            ],
            "note": "The official vpncat.net download button links to Apple App Store id1134784923. Apple lists iPhone and iPad support. Android apps using the VPN Cat name are attributed to other 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": true,
        "factsCapturedAt": "2026-07-29T00:00:00.000Z"
      },
      "evidence": [
        {
          "id": "ev_vpncat_vendor-claim_1",
          "providerSlug": "vpncat",
          "kind": "vendor-claim",
          "sourceUrl": "https://www.vpncat.net/",
          "capturedAt": "2026-07-29T00: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": "human"
        },
        {
          "id": "ev_vpncat_privacy-policy_1",
          "providerSlug": "vpncat",
          "kind": "privacy-policy",
          "sourceUrl": "https://www.vpncat.net/privacy/com.vpn.cat.html",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "Privacy Policy (no last-updated date stated)",
          "excerpt": "We do not monitor, record, or store logs of customer VPN activity. IP Address: Temporarily used by the API to establish the VPN connection, discarded after the session is closed. Usage Data: Information about how you interact with our Services, including IP addresses, device information, and access times. VPN Cat integrates Google Mobile Ads SDK; the SDK may collect IP address, Device ID, advertising data and user interactions.",
          "verifiedBy": "human"
        },
        {
          "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-29T00:00:00.000Z",
          "locator": "Terms of Service",
          "excerpt": "To use our Services, you must register with us and submit certain personally identifiable information. The terms do not identify a governing-law country or a legal address.",
          "verifiedBy": "human"
        },
        {
          "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-29T00:00:00.000Z",
          "locator": "Apple App Store listing and Apple lookup API (seller, version, compatibility, pricing, privacy label)",
          "excerpt": "Seller SAFDAR NETWORK SMC-PRIVATE LIMITED; bundle ID com.vpn.cat; version 2.12.5 released 18 March 2026; requires iOS 15.0; supports iPhone, iPad and compatible Apple-silicon Mac. App Privacy, as declared by the developer and not verified by Apple, lists Coarse Location and Advertising Data for third-party advertising, User ID for app functionality, and Crash Data.",
          "verifiedBy": "human"
        },
        {
          "id": "ev_vpncat_public-distribution-assessment_2026",
          "providerSlug": "vpncat",
          "kind": "audit-report",
          "sourceUrl": "https://vpntestor.com/en/news/vpn-cat-v2125-public-security-assessment-2026",
          "archiveUrl": "https://vpntestor.com/data/evidence/vpncat-public-distribution-assessment-2026.json",
          "capturedAt": "2026-07-29T00:00:00.000Z",
          "locator": "VPNTestor public-distribution security assessment for version 2.12.5",
          "excerpt": "Scope-limited public-source assessment: 34/100. Official App Store identity and current version were verified, but Apple does not expose the IPA for independent hashing and static inspection; no public independent audit, source code, protocol specification, checksum, permission inventory, leak test or runtime evidence was available.",
          "verifiedBy": "human"
        }
      ],
      "runs": {
        "default": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "default",
          "headline": 5.2,
          "floor": 2.302,
          "potential": 7.552,
          "overall": 5.2,
          "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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_vpncat_public-distribution-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_vpncat_public-distribution-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": 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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.182,
              "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.44,
          "factsCapturedAt": "2026-07-29T00: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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_vpncat_public-distribution-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_vpncat_public-distribution-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": 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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.182,
              "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "privacy-first": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "privacy-first",
          "headline": 4.6,
          "floor": 2.808,
          "potential": 6.663,
          "overall": 4.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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_vpncat_public-distribution-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_vpncat_public-distribution-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": 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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.182,
              "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.61,
          "factsCapturedAt": "2026-07-29T00: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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_vpncat_public-distribution-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_vpncat_public-distribution-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": 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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.182,
              "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-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        },
        "torrenting": {
          "providerSlug": "vpncat",
          "engineVersion": "0.2.0",
          "weightsId": "torrenting",
          "headline": 7.7,
          "floor": 4.327,
          "potential": 8.547,
          "overall": 7.7,
          "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": "No independently standardised modern protocol 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": 0.714,
              "base": 0,
              "model": "normalized",
              "ceiling": 10,
              "reasons": [
                {
                  "ruleId": "audits.no-logs",
                  "label": "No no-logs audit",
                  "delta": 0,
                  "max": 4,
                  "evidence": [
                    "ev_vpncat_public-distribution-assessment_2026"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "ruleId": "audits.technical",
                  "label": "Technical audits",
                  "delta": 0.5,
                  "max": 3,
                  "evidence": [
                    "ev_vpncat_public-distribution-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": 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",
                  "delta": 1,
                  "max": 1,
                  "evidence": [
                    "ev_vpncat_pricing-page_1"
                  ],
                  "resolution": "found",
                  "onMissingData": false
                },
                {
                  "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.182,
              "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.56,
          "factsCapturedAt": "2026-07-29T00:00:00.000Z",
          "computedAt": "2026-07-29T00:00:00.000Z"
        }
      }
    }
  ]
}