{
  "date": "2026-11-08",
  "observed_at": "2026-11-08T09:07:11.968077+08:00",
  "source_files": [
    {
      "url": "https://reeltowords.com/app.js",
      "status": 200,
      "sha256": "d257840d398768892888357c3d36d918a6a250424ca4a2f8265bcb310b76415d"
    },
    {
      "url": "https://reeltowords.com/analytics.js",
      "status": 200,
      "sha256": "a3ca16cbfc346c2bbe7482f30d2332ea64f15daacd83d6dd7237eec67d979498"
    },
    {
      "url": "https://reeltowords.com/transcribe-worker.js",
      "status": 200,
      "sha256": "faeb51e42e7c1376c58f1545dc2694413d7d2f9e5c9e47ad2b60ff3201843246"
    },
    {
      "url": "https://reeltowords.com/privacy",
      "status": 200,
      "sha256": "667df8dc77de8a26e33fe1b0dc460f8d9952c9c1c369896061fb6e8e97c7dea6"
    },
    {
      "url": "https://reeltowords.com/",
      "status": 200,
      "sha256": "38049718509847d8d17206185ea741bb98e5dcdb5e27c6613b1a305c91420826"
    },
    {
      "url": "https://reeltowords.com/sitemap.xml",
      "status": 200,
      "sha256": "f91379e3f02c681baa3e7c7bbcd830ca32e28d10765b1013b6b7d28c1c56b526"
    },
    {
      "url": "https://reeltowords.com/style.css",
      "status": 200,
      "sha256": "1ec136027c01ac0b52e9e8022d87f9b02d0d170d922253aff61c3f60080ec70f"
    }
  ],
  "method": "Read current publicly served first-party scripts, byte-compare against delivery bundle, inspect exact functions, then run the unmodified analytics script in a local synthetic JavaScript harness. No browser network capture or external media upload.",
  "claims": [
    {
      "file": "app.js",
      "lines": [
        11,
        12,
        13
      ],
      "finding": "decode uses file.arrayBuffer and decodeAudioData; engine transfers audio.buffer to the same-site module worker with postMessage."
    },
    {
      "file": "transcribe-worker.js",
      "lines": [
        23,
        24,
        25,
        26,
        27,
        28,
        29
      ],
      "finding": "Remote models disabled; local model and WASM paths configured relative to this worker. BrowserCache disabled here does not establish absence of ordinary HTTP caching."
    },
    {
      "file": "analytics.js",
      "lines": [
        8,
        10,
        14,
        21,
        23,
        29,
        32,
        33,
        35,
        36,
        37,
        39
      ],
      "finding": "Saved yes enables analytics; false branch returns before script creation; true branch queues config and appends Google tag."
    },
    {
      "file": "app.js",
      "lines": [
        17,
        18
      ],
      "finding": "Copy writes the textarea to clipboard; downloads use Blob/object URL. No analytics invocation in these handlers."
    }
  ]
}