{
  "lab": "link-check",
  "network": "none",
  "storage": "none",
  "input": "Links you paste; they are read as text in the browser tab and never opened.",
  "statement": "This page sends nothing anywhere. If an AI agent or browser extension is reading your screen, it can see what's shown here.",
  "enforcedBy": "content-security-policy: connect-src 'self' (the browser blocks any request to another site)",
  "check": [
    "curl -sI https://lab.hopperlabs.ai/labs/link-check/run | grep -i content-security-policy",
    "Compare each file below with its sha256, and read the source at the commit given.",
    "Once the page has loaded, turn off Wi-Fi: the lab keeps working."
  ],
  "source": {
    "repository": "hopperlabs-ai-dev/hopper-lab",
    "commit": "fcb56962e61de9ef456ebdea32d13ab1fc56e882",
    "files": [
      {
        "path": "/link-check/app.js",
        "sha256": "03ff502723bbbb04b57aa75c18a34b1c66bb4724342739fc1557a18c483c22a6"
      },
      {
        "path": "/link-check/chrome.css",
        "sha256": "abeaecb0b75fd9f80d6380f840ddadf1a76a1eaf9cd5bde90c9e69d785a73bb3"
      },
      {
        "path": "/link-check/index.html",
        "sha256": "54e65f8506c580bebf3038e608aba0877495e155c15971b3fae7ddbcd84857e3"
      },
      {
        "path": "/link-check/lab-kit.js",
        "sha256": "d6dd870a1b38a807637070750eb57d7d31c57b25541bd2a7f8dbab093e261407"
      },
      {
        "path": "/link-check/lab.css",
        "sha256": "44854c6f79b909aae19c44f28e43ad1a8b035528d94c580ab4741b3de905b9f5"
      },
      {
        "path": "/link-check/link-analysis.js",
        "sha256": "a44df07bce15492f862bb7a3fec6082bd55b53a5eb71f6473257b29745762db6"
      },
      {
        "path": "/link-check/vendor/tldts/LICENSE",
        "sha256": "c64182d48160db948b6aa97a984f1a32974ce4d2053900361264cd33853796cb"
      },
      {
        "path": "/link-check/vendor/tldts/SOURCE.txt",
        "sha256": "9ed483eabbcc7db1a7cb13bf3d03c7f59d63ea61b427429c2b12783f1164d347"
      },
      {
        "path": "/link-check/vendor/tldts/index.esm.min.js",
        "sha256": "60cec86c8311957068cf056226740108547f57abd3489be7e320e13b1341b847"
      }
    ]
  }
}
