{
  "schemaVersion": 3,
  "importerVersion": "404-observations-6",
  "redactions": [
    "Request URLs and bodies, cookies, extracted values and hashes, WebSocket payloads, push endpoints, raw errors, local paths, and unknown fields are omitted.",
    "Caller and frame URL queries, fragments, credentials, ports, and identifier-like path segments are omitted."
  ],
  "id": "telegram-org",
  "domain": "telegram.org",
  "url": "https://telegram.org",
  "runs": [
    {
      "id": "headful-972039f60bdd",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-21T23:25:21.740408Z",
      "scannerVersion": "0.3",
      "browserVersion": "156.0.8078.4",
      "finalUrl": null,
      "httpStatus": null,
      "pageTitle": null,
      "pageState": "unmeasured",
      "measurementStatus": "navigation_failed",
      "finding": "unmeasured",
      "signals": {
        "canvas": null,
        "webgl": null,
        "audio": null,
        "fonts": null,
        "device": null
      },
      "collectionCallers": [],
      "apiCalls": [],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 0,
      "scriptsCaptured": 0,
      "framesSeen": null,
      "googleAdsObserved": null,
      "source": {
        "file": "results/headful/telegram-org-20261021T232521.json",
        "sha256": "972039f60bdd1cb8714e5909fd1af33b72c0c3bd2ceab6781013cc95217787b7"
      },
      "scanUrl": "https://telegram.org",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "headful-0442344e821b",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:42:17.627861Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://telegram.org",
      "supplementary": false,
      "partial": false,
      "navigationStatus": "attempt_started",
      "finalUrl": null,
      "httpStatus": null,
      "pageTitle": null,
      "pageState": "unmeasured",
      "measurementStatus": "scanner_error",
      "finding": "unmeasured",
      "signals": {
        "canvas": null,
        "webgl": null,
        "audio": null,
        "fonts": null,
        "device": null
      },
      "collectionCallers": [],
      "apiCalls": [],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 0,
      "scriptsCaptured": 0,
      "framesSeen": null,
      "googleAdsObserved": null,
      "source": {
        "file": "results/headful/telegram-org-20261022T164217.json",
        "sha256": "0442344e821bd89f833a6e4b7210006686b53a946f66fb1e6aa0ae43489c0417"
      }
    },
    {
      "id": "headful-0b4894dc4ae4",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:42:18.666505Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://telegram.org",
      "supplementary": false,
      "partial": false,
      "navigationStatus": "domcontentloaded",
      "finalUrl": "https://telegram.org/",
      "httpStatus": 200,
      "pageTitle": "Telegram Messenger",
      "pageState": "document",
      "measurementStatus": "ok",
      "finding": "not_observed",
      "signals": {
        "canvas": false,
        "webgl": false,
        "audio": false,
        "fonts": false,
        "device": false
      },
      "collectionCallers": [],
      "apiCalls": [
        {
          "api": "canvas.getContext",
          "count": 11,
          "callers": [
            {
              "url": "https://telegram.org/js/main-theme.js",
              "line": null,
              "column": null
            },
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": true,
          "frame": "https://telegram.org/"
        },
        {
          "api": "navigator.userAgent",
          "count": 1,
          "callers": [
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": false,
          "frame": "https://telegram.org/"
        },
        {
          "api": "window.devicePixelRatio",
          "count": 2,
          "callers": [
            {
              "url": "https://telegram.org/js/main.js",
              "line": null,
              "column": null
            },
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": false,
          "frame": "https://telegram.org/"
        }
      ],
      "evidenceSnippets": [
        {
          "url": "https://telegram.org/js/tgsticker.js",
          "excerpts": [
            "oxy = proxies[proxyId];\n    var item = proxy.itemsMap[wReqId];\n    var frameNo = realFrameNo;\n    if (item.framesAlign == 'right') {\n      frameNo = realFrameNo + (proxy.frameCount - item.frameCount);\n    }\n    // console.log(dT(), '['+proxy.playerId+'.'+item.reqId+']', 'onframe#'+frameNo+' (worker)');\n    item.frameLoaded[frameNo] = frame;\n    var finished = true;\n    for (var i = 0; i < proxy.items.length; i++) {\n      var item = proxy.items[i];\n      var loadedFrame = item.frameLoaded[frameNo];\n      if (!loadedFrame) {\n        finished = false;\n        break;\n      }\n    }\n    if (finished) {\n      if (proxy.items.length == 1) {\n        var loadedFrame = proxy.items[0].frameLoaded[frameNo];\n        proxy.onFrame(proxy.playerId, frameNo, loadedFrame);\n        delete proxy.items[0].frameLoaded[frameNo];\n      } else {\n        var promises = [];\n        for (var i = 0; i < proxy.items.length; i++) {\n          var item = proxy.items[i];\n          var loadedFrame = item.frameLoaded[frameNo];\n          proxy.imageData.data.set(loadedFrame);\n          var promise = createImageBitmap(proxy.imageData);\n          promises.push(promise);\n          delete item.frameLoaded[frameNo];\n        }\n        Promise.all(promises).then(function(bitmaps) {\n          proxy.context.clearRect(0, 0, proxy.canvas.width, proxy.canvas.height);\n          for (var i = 0; i < bitmaps.length; i++) {\n            proxy.context.drawImage(bitmaps[i], 0, 0);\n          }\n          var imageData = proxy.context.getImageData(0, 0, proxy.canvas.width, proxy.canvas.height);\n          proxy.onFrame(proxy.playerId, frameNo, imageData.data);\n        });\n      }\n    } else {\n      delete frameDatas;\n    }\n  }\n\n  function onLoaded(wReqId, frameCount, fps) {\n    var proxyId = wrMap[wReqId];\n    var proxy = proxies[proxyId];\n    var item = proxy.itemsMap[wReqId];\n    item.loaded = true;\n    item.frameCount = frameCount;\n    item.fps = fps;\n    var finished = true;\n    frameCount = null; fps = null;\n    for (var i = 0; i < proxy.items.length; i++) {\n      var item = proxy.items[i];\n      if (!item.framesAlign) {\n        if (frameCount === null) {\n          frameCount = item.frameCount;\n        } else if (frameCount !== false && frameCount !== item.frameCount) {\n          frameCount = false;\n        }\n      }\n      if (fps === null) {\n        fps = item.fps;\n      } else if (fps !== false && fps !== item.fps) {\n        fps = false;\n      }\n      if (!item.loaded) {\n        finished = false;\n        break;\n      }\n    }\n    if (finished) {\n      if (frameCount === null) {\n        console.warn('Frame count not defined'); return;\n      }\n      if (frameCount === false) {\n        console.warn('Frame count is different'); return;\n      }\n      if (fps === null) {\n        console.warn('FPS not defined'); return;\n      }\n      if (fps === false) {\n        console.warn('FPS is different'); return;\n      }\n      proxy.frameCount = frameCount;\n      proxy.fps = fps;\n      proxy.onLoaded(proxy.playerId, f"
          ],
          "sanitized": true
        }
      ],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 58,
      "scriptsCaptured": 4,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headful/telegram-org-20261022T164218.json",
        "sha256": "0b4894dc4ae4c14b61f2988bd9e42b11584877241d6e8fedc180a0aa478d38d8"
      }
    },
    {
      "id": "research-350ab1fe5668",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-21T21:33:06.901061Z",
      "scannerVersion": "0.3",
      "browserVersion": "156.0.8078.4",
      "finalUrl": null,
      "httpStatus": null,
      "pageTitle": null,
      "pageState": "unmeasured",
      "measurementStatus": "navigation_failed",
      "finding": "unmeasured",
      "signals": {
        "canvas": null,
        "webgl": null,
        "audio": null,
        "fonts": null,
        "device": null
      },
      "collectionCallers": [],
      "apiCalls": [],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 0,
      "scriptsCaptured": 0,
      "framesSeen": null,
      "googleAdsObserved": null,
      "source": {
        "file": "results/headless/telegram-org-20261021T213306.json",
        "sha256": "350ab1fe56689985f3e9f3d369b5a7b4503f56fae76a01bb5b60ea5630816fb2"
      },
      "scanUrl": "https://telegram.org",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "research-ad6a82b15935",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T19:04:59.347013Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://telegram.org",
      "supplementary": false,
      "partial": false,
      "navigationStatus": "domcontentloaded",
      "finalUrl": "https://telegram.org/",
      "httpStatus": 200,
      "pageTitle": "Telegram Messenger",
      "pageState": "document",
      "measurementStatus": "ok",
      "finding": "not_observed",
      "signals": {
        "canvas": false,
        "webgl": false,
        "audio": false,
        "fonts": false,
        "device": false
      },
      "collectionCallers": [],
      "apiCalls": [
        {
          "api": "canvas.getContext",
          "count": 11,
          "callers": [
            {
              "url": "https://telegram.org/js/main-theme.js",
              "line": null,
              "column": null
            },
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": true,
          "frame": "https://telegram.org/"
        },
        {
          "api": "navigator.userAgent",
          "count": 1,
          "callers": [
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": false,
          "frame": "https://telegram.org/"
        },
        {
          "api": "window.devicePixelRatio",
          "count": 2,
          "callers": [
            {
              "url": "https://telegram.org/js/main.js",
              "line": null,
              "column": null
            },
            {
              "url": "https://telegram.org/js/tgsticker.js",
              "line": null,
              "column": null
            }
          ],
          "inlineCaller": false,
          "frame": "https://telegram.org/"
        }
      ],
      "evidenceSnippets": [
        {
          "url": "https://telegram.org/js/tgsticker.js",
          "excerpts": [
            "oxy = proxies[proxyId];\n    var item = proxy.itemsMap[wReqId];\n    var frameNo = realFrameNo;\n    if (item.framesAlign == 'right') {\n      frameNo = realFrameNo + (proxy.frameCount - item.frameCount);\n    }\n    // console.log(dT(), '['+proxy.playerId+'.'+item.reqId+']', 'onframe#'+frameNo+' (worker)');\n    item.frameLoaded[frameNo] = frame;\n    var finished = true;\n    for (var i = 0; i < proxy.items.length; i++) {\n      var item = proxy.items[i];\n      var loadedFrame = item.frameLoaded[frameNo];\n      if (!loadedFrame) {\n        finished = false;\n        break;\n      }\n    }\n    if (finished) {\n      if (proxy.items.length == 1) {\n        var loadedFrame = proxy.items[0].frameLoaded[frameNo];\n        proxy.onFrame(proxy.playerId, frameNo, loadedFrame);\n        delete proxy.items[0].frameLoaded[frameNo];\n      } else {\n        var promises = [];\n        for (var i = 0; i < proxy.items.length; i++) {\n          var item = proxy.items[i];\n          var loadedFrame = item.frameLoaded[frameNo];\n          proxy.imageData.data.set(loadedFrame);\n          var promise = createImageBitmap(proxy.imageData);\n          promises.push(promise);\n          delete item.frameLoaded[frameNo];\n        }\n        Promise.all(promises).then(function(bitmaps) {\n          proxy.context.clearRect(0, 0, proxy.canvas.width, proxy.canvas.height);\n          for (var i = 0; i < bitmaps.length; i++) {\n            proxy.context.drawImage(bitmaps[i], 0, 0);\n          }\n          var imageData = proxy.context.getImageData(0, 0, proxy.canvas.width, proxy.canvas.height);\n          proxy.onFrame(proxy.playerId, frameNo, imageData.data);\n        });\n      }\n    } else {\n      delete frameDatas;\n    }\n  }\n\n  function onLoaded(wReqId, frameCount, fps) {\n    var proxyId = wrMap[wReqId];\n    var proxy = proxies[proxyId];\n    var item = proxy.itemsMap[wReqId];\n    item.loaded = true;\n    item.frameCount = frameCount;\n    item.fps = fps;\n    var finished = true;\n    frameCount = null; fps = null;\n    for (var i = 0; i < proxy.items.length; i++) {\n      var item = proxy.items[i];\n      if (!item.framesAlign) {\n        if (frameCount === null) {\n          frameCount = item.frameCount;\n        } else if (frameCount !== false && frameCount !== item.frameCount) {\n          frameCount = false;\n        }\n      }\n      if (fps === null) {\n        fps = item.fps;\n      } else if (fps !== false && fps !== item.fps) {\n        fps = false;\n      }\n      if (!item.loaded) {\n        finished = false;\n        break;\n      }\n    }\n    if (finished) {\n      if (frameCount === null) {\n        console.warn('Frame count not defined'); return;\n      }\n      if (frameCount === false) {\n        console.warn('Frame count is different'); return;\n      }\n      if (fps === null) {\n        console.warn('FPS not defined'); return;\n      }\n      if (fps === false) {\n        console.warn('FPS is different'); return;\n      }\n      proxy.frameCount = frameCount;\n      proxy.fps = fps;\n      proxy.onLoaded(proxy.playerId, f"
          ],
          "sanitized": true
        }
      ],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 58,
      "scriptsCaptured": 4,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headless/telegram-org-20261022T190459.json",
        "sha256": "ad6a82b159352aab0828065808d8f78225073a7033bdd4a20162d3508e199bf1"
      }
    }
  ]
}
