{
  "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": "t-me",
  "domain": "t.me",
  "url": "https://t.me",
  "runs": [
    {
      "id": "headful-f6477e661661",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-20T06:01:14.474374Z",
      "scannerVersion": "0.3",
      "browserVersion": "156.0.8078.4",
      "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": [
        "telegram.org"
      ],
      "requestCount": 59,
      "scriptsCaptured": 4,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headful/t-me-20261020T060114.json",
        "sha256": "f6477e661661c1bc9f153fb5d18237e360f24edf095d830e0216d633b761445d"
      },
      "scanUrl": "https://t.me",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "headful-94ba50b46af9",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:40:17.849478Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "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/t-me-20261022T164017.json",
        "sha256": "94ba50b46af94f6ad771ccb1f443e3a1003dab72b7181a2921285795bf3f8095"
      }
    },
    {
      "id": "headful-752afe223ba2",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:40:18.738196Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "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": [
        "telegram.org"
      ],
      "requestCount": 59,
      "scriptsCaptured": 4,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headful/t-me-20261022T164018.json",
        "sha256": "752afe223ba2634d82ed6d2d14c90604ddb901cf764de294600552373bc6a1a5"
      }
    },
    {
      "id": "research-e960e2765726",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-20T05:43:27.657461Z",
      "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/t-me-20261020T054327.json",
        "sha256": "e960e27657263ed478a06c4a1ea5f4fef1f9de16e24ff3fee2df9b32b994979d"
      },
      "scanUrl": "https://t.me",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "research-d236b0e5b0ef",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T19:02:48.445285Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "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/headless/t-me-20261022T190248.json",
        "sha256": "d236b0e5b0ef07582c70fd4a8b260026dae1ea51dbbf9365fc05b694b949c316"
      }
    },
    {
      "id": "research-f3336e0488d5",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T19:02:49.449579Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "supplementary": false,
      "partial": false,
      "navigationStatus": "error",
      "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": [
        {
          "api": "canvas.getContext",
          "count": 1,
          "callers": [],
          "inlineCaller": true,
          "frame": null
        }
      ],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 1,
      "scriptsCaptured": 0,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headless/t-me-20261022T190249.json",
        "sha256": "f3336e0488d55c8335c9c2c876b1beb0fe90aed3af812c7d82d6a96ec641c81c"
      }
    },
    {
      "id": "research-01cacb163f8e",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-23T00:06:02.827007Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "supplementary": false,
      "partial": false,
      "navigationStatus": "error",
      "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": [
        {
          "api": "canvas.getContext",
          "count": 1,
          "callers": [],
          "inlineCaller": true,
          "frame": null
        }
      ],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [],
      "requestCount": 1,
      "scriptsCaptured": 0,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headless/t-me-20261023T000602.json",
        "sha256": "01cacb163f8edf2165744e82051997dabdefcb65f7d948e31c2c4056a7e563bd"
      }
    },
    {
      "id": "research-9e69b64a75c5",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-23T00:29:54.226203Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://t.me",
      "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": [
        "telegram.org"
      ],
      "requestCount": 55,
      "scriptsCaptured": 4,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headless/t-me-20261023T002954.json",
        "sha256": "9e69b64a75c5d76916aa3708f63a24a3c4dcc2256a918fe6992c3e5c72aea34a"
      }
    }
  ]
}
