{
  "lab": "skill-safety-check",
  "network": "none",
  "storage": "none",
  "input": "A SKILL.md you paste, or skill files and zips you choose; they are read in the browser tab, never uploaded, installed or run.",
  "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/skill-safety-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": "/skill-safety-check/app.js",
        "sha256": "f5dba8014714a058b6c2223027ea160ebb70b19459e3a5ab63d573a1bdb223ef"
      },
      {
        "path": "/skill-safety-check/check.js",
        "sha256": "7d43b5d57acfb51871a916bcd1674ebb1522903c21d2bd67bfb92d423848ffd8"
      },
      {
        "path": "/skill-safety-check/chrome.css",
        "sha256": "abeaecb0b75fd9f80d6380f840ddadf1a76a1eaf9cd5bde90c9e69d785a73bb3"
      },
      {
        "path": "/skill-safety-check/entries.js",
        "sha256": "80b5047085b0b0b991512b9f9a44cb0e31c3258b74a056e195dd1329a5e3df6e"
      },
      {
        "path": "/skill-safety-check/example.js",
        "sha256": "6dc0e5678cb07171e1232bbcbfe26a1e597a8b406fda36440f5077c3a97b4990"
      },
      {
        "path": "/skill-safety-check/index.html",
        "sha256": "9b06fb3806d7cb03fe55b8619707d402f4921b8cd062a9b3723fb7909fdd3b73"
      },
      {
        "path": "/skill-safety-check/lab-kit.js",
        "sha256": "d6dd870a1b38a807637070750eb57d7d31c57b25541bd2a7f8dbab093e261407"
      },
      {
        "path": "/skill-safety-check/lab.css",
        "sha256": "c9ed4bc3c7c7a49de74c1a47045030cbee5fc955009c130fb2550a82716ae569"
      },
      {
        "path": "/skill-safety-check/rules.js",
        "sha256": "14b12bf2227725285cb9ca7e7d9f4368a5a45fb2765ca6a26a29a611adcc67de"
      },
      {
        "path": "/skill-safety-check/unzip.js",
        "sha256": "1dab53fc4564a3111329b17433863cb45a4c17306981caa3010cfd2135f43615"
      }
    ]
  }
}
