{
  "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": "roblox-com",
  "domain": "roblox.com",
  "url": "https://roblox.com",
  "runs": [
    {
      "id": "headful-cf60e2420f4a",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-19T01:31:15.575001Z",
      "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/roblox-com-20261019T013115.json",
        "sha256": "cf60e2420f4aeb3f2ac796ae10bc4379e04e264d3fb48dad66f103149ad97056"
      },
      "scanUrl": "https://roblox.com",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "headful-71b655d5dafe",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:26:36.964278Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://roblox.com",
      "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/roblox-com-20261022T162636.json",
        "sha256": "71b655d5dafe133f53f4ce1b917ef69da6cccf5e49a3084145612029983972dd"
      }
    },
    {
      "id": "headful-e651b3f7d261",
      "mode": "headful",
      "modeInferred": false,
      "scannedAt": "2026-10-22T16:26:38.042254Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://roblox.com",
      "supplementary": false,
      "partial": true,
      "navigationStatus": "committed",
      "finalUrl": "https://www.roblox.com/",
      "httpStatus": 200,
      "pageTitle": "Play Free Online Games on Roblox - Sign Up to Play!",
      "pageState": "document",
      "measurementStatus": "ok",
      "finding": "signals",
      "signals": {
        "canvas": false,
        "webgl": false,
        "audio": false,
        "fonts": false,
        "device": true
      },
      "collectionCallers": [],
      "apiCalls": [
        {
          "api": "canvas.getContext",
          "count": 1,
          "callers": [],
          "inlineCaller": true,
          "frame": "https://www.roblox.com/"
        },
        {
          "api": "document.cookie.read",
          "count": 6,
          "callers": [
            {
              "url": "https://js.rbxcdn.com/50fc9b1cd8481cba36f39a8a3241048d.js",
              "line": 64,
              "column": 277
            },
            {
              "url": "https://js.rbxcdn.com/50fc9b1cd8481cba36f39a8a3241048d.js",
              "line": 64,
              "column": 294
            },
            {
              "url": "https://js.rbxcdn.com/50fc9b1cd8481cba36f39a8a3241048d.js",
              "line": 64,
              "column": 327
            }
          ],
          "inlineCaller": false,
          "frame": "https://www.roblox.com/"
        },
        {
          "api": "navigator.doNotTrack",
          "count": 1,
          "callers": [
            {
              "url": "https://www.roblox.com/",
              "line": 258,
              "column": 29
            }
          ],
          "inlineCaller": false,
          "frame": "https://www.roblox.com/"
        },
        {
          "api": "navigator.platform",
          "count": 3,
          "callers": [
            {
              "url": "https://js.rbxcdn.com/69792ba68738c4df0266885d6e3f59a121c1a727d1399b3fb83590023892b9b7-HeaderScripts.js",
              "line": 1,
              "column": 3196
            },
            {
              "url": "https://js.rbxcdn.com/69792ba68738c4df0266885d6e3f59a121c1a727d1399b3fb83590023892b9b7-HeaderScripts.js",
              "line": 1,
              "column": 3271
            },
            {
              "url": "https://js.rbxcdn.com/69792ba68738c4df0266885d6e3f59a121c1a727d1399b3fb83590023892b9b7-HeaderScripts.js",
              "line": 1,
              "column": 3348
            }
          ],
          "inlineCaller": false,
          "frame": "https://www.roblox.com/"
        },
        {
          "api": "navigator.userAgent",
          "count": 6,
          "callers": [
            {
              "url": "https://js.rbxcdn.com/50fc9b1cd8481cba36f39a8a3241048d.js",
              "line": 21,
              "column": 3358
            },
            {
              "url": "https://js.rbxcdn.com/69792ba68738c4df0266885d6e3f59a121c1a727d1399b3fb83590023892b9b7-HeaderScripts.js",
              "line": 1,
              "column": 3425
            },
            {
              "url": "https://js.rbxcdn.com/69792ba68738c4df0266885d6e3f59a121c1a727d1399b3fb83590023892b9b7-HeaderScripts.js",
              "line": 1,
              "column": 3488
            },
            {
              "url": "https://js.rbxcdn.com/fc00826f9e0f8fd2f6bfe2152fb652d4f73e1a12e1ad50ad234d2f60854a311c-Polyfill.js",
              "line": 1,
              "column": 26754
            }
          ],
          "inlineCaller": false,
          "frame": "https://www.roblox.com/"
        }
      ],
      "evidenceSnippets": [
        {
          "url": "https://js.rbxcdn.com/50fc9b1cd8481cba36f39a8a3241048d.js",
          "excerpts": [
            "),!1}}})}(jQuery,window);\n\n;// roblox.js\n(function(window,undefined){var document=window.document,firstScript=document.getElementsByTagName('script')[0],isString=function(o){return typeof o=='string';},isArray=function(o){return Object.prototype.toString.call(o)=='[object Array]';},isFunction=function(o){return Object.prototype.toString.call(o)=='[object Function]';},resourceMap={},config={baseUrl:'',modulePath:'/js/modules',paths:{},externalResources:[]};function deepGet(object,property){var parts=property.split('.');for(property=parts.shift();parts.length>0;object=object[property],property=parts.shift()){if(object[property]===undefined)\nreturn undefined;}\nreturn object[property];}\nfunction deepSet(object,property,value){var parts=property.split('.');for(property=parts.shift();parts.length>0;object=object[property],property=parts.shift()){if(object[property]===undefined)\nobject[property]={};}\nobject[property]=value;}\nfunction loadCss(href,onload){var link=document.createElement('link');link.href=href;link.rel='stylesheet';link.type='text/css';firstScript.parentNode.insertBefore(link,firstScript);onload();}\nfunction loadJs(src,onload){var script=document.createElement('script');script.type='text/javascript';script.src=src;script.onload=script.onreadystatechange=function(){if(!script.readyState||script.readyState=='loaded'||script.readyState=='complete'){onload();script.onload=script.onreadystatechange=null;}};firstScript.parentNode.insertBefore(script,firstScript);}\nfunction getExtension(url){return url.split('.').pop().split('?').shift();}\nfunction getResourceName(url){if(url.indexOf('.js')<0)\nreturn url;if(url.indexOf(config.modulePath)>=0)\nreturn url.split(config.modulePath+'/').pop().split('.').shift().replace('/','.');for(var name in config.paths){if(config.paths[name]==url)\nreturn name;}\nreturn url;}\nfunction getResourceUrl(name){if(name.indexOf('.js')>=0||name.indexOf('.css')>=0)\nreturn name;return config.paths[name]||config.baseUrl+config.modulePath+'/'+name.replace('.','/')+'.js';}\nfunction getModules(resources){var module,modules=[];for(var i=0;i<resources.length;i++){module=deepGet(Roblox,getResourceName(resources[i]));if(module!==undefined)\nmodules.push(module);}\nreturn modules;}\nfunction resolveResource(name){var resource=resourceMap[name];if(!resource.loaded||!resource.depsLoaded)\nreturn;while(resource.listeners.length>0){(resource.listeners.shift())();}}\nfunction loadResource(nameOrUrl,onload){if(!isString(nameOrUrl)||config.externalResources.toString().indexOf(nameOrUrl)>=0)\nreturn onload();var name=getResourceName(nameOrUrl);if(resourceMap[name]===undefined){resourceMap[name]={loaded:false,depsLoaded:true,listeners:[]};resourceMap[name].listeners.push(onload);var url=getResourceUrl(name),load=getExtension(url)=='css'?loadCss:loadJs;load(url,function(){resourceMap[name].loaded=true;resolveResource(name);});}\nelse{resourceMap[name].listeners.push(onload);resolveResource(name);}}\nfunction loadResourceChain(urls,onload){var first=url",
            "ipt.onreadystatechange=function(){if(!script.readyState||script.readyState=='loaded'||script.readyState=='complete'){onload();script.onload=script.onreadystatechange=null;}};firstScript.parentNode.insertBefore(script,firstScript);}\nfunction getExtension(url){return url.split('.').pop().split('?').shift();}\nfunction getResourceName(url){if(url.indexOf('.js')<0)\nreturn url;if(url.indexOf(config.modulePath)>=0)\nreturn url.split(config.modulePath+'/').pop().split('.').shift().replace('/','.');for(var name in config.paths){if(config.paths[name]==url)\nreturn name;}\nreturn url;}\nfunction getResourceUrl(name){if(name.indexOf('.js')>=0||name.indexOf('.css')>=0)\nreturn name;return config.paths[name]||config.baseUrl+config.modulePath+'/'+name.replace('.','/')+'.js';}\nfunction getModules(resources){var module,modules=[];for(var i=0;i<resources.length;i++){module=deepGet(Roblox,getResourceName(resources[i]));if(module!==undefined)\nmodules.push(module);}\nreturn modules;}\nfunction resolveResource(name){var resource=resourceMap[name];if(!resource.loaded||!resource.depsLoaded)\nreturn;while(resource.listeners.length>0){(resource.listeners.shift())();}}\nfunction loadResource(nameOrUrl,onload){if(!isString(nameOrUrl)||config.externalResources.toString().indexOf(nameOrUrl)>=0)\nreturn onload();var name=getResourceName(nameOrUrl);if(resourceMap[name]===undefined){resourceMap[name]={loaded:false,depsLoaded:true,listeners:[]};resourceMap[name].listeners.push(onload);var url=getResourceUrl(name),load=getExtension(url)=='css'?loadCss:loadJs;load(url,function(){resourceMap[name].loaded=true;resolveResource(name);});}\nelse{resourceMap[name].listeners.push(onload);resolveResource(name);}}\nfunction loadResourceChain(urls,onload){var first=urls.shift(),chainload=(urls.length==0)?onload:function(){loadResourceChain(urls,onload)};loadResource(first,chainload);}\nfunction require(dependencies,onready){if(!isArray(dependencies))\ndependencies=[dependencies];var onload=function(){onready.apply(null,getModules(dependencies));};loadResourceChain(dependencies.slice(0),onload);}\nfunction define(name,dependencies,factory){if(isFunction(dependencies)){factory=dependencies;dependencies=[];}\nelse if(!isArray(dependencies)){dependencies=[dependencies];}\nresourceMap[name]=resourceMap[name]||{loaded:true,listeners:[]};resourceMap[name].depsLoaded=false;resourceMap[name].listeners.unshift(function(){deepSet(Roblox,name,factory.apply(null,getModules(dependencies)));});require(dependencies,function(){resourceMap[name].depsLoaded=true;resolveResource(name);});}\nif(typeof Roblox==='undefined'){Roblox={};}\nRoblox.config=config;Roblox.require=require;Roblox.define=define;})(window);\n\n;// common/constants.js\nvar Roblox=Roblox||{};Roblox.Constants=(function(){return{http:{contentType:\"application/json; charset=utf-8\",dataType:\"json\",successStatus:\"Success\"},realTimeNotifications:{friendshipNotifications:{name:\"FriendshipNotifications\",types:{friendshipCreated:\"FriendshipCreated\",friendshipDestroyed:\"Frie"
          ],
          "sanitized": true
        }
      ],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [
        {
          "url": "https://js.rbxcdn.com/15d017a16565756ad25af08bc0a574244c4f6d5035a40b3ede8b5e47f9bd7415-CoreUtilities.js",
          "libraries": [
            "Arkose Labs"
          ],
          "apiPatternCount": 0
        },
        {
          "url": "https://js.rbxcdn.com/8e79851738baf4a99514ce726568faa52a0155d6298e0ed7521a210bde79c688-CaptchaCore.js",
          "libraries": [
            "Arkose Labs",
            "reCAPTCHA"
          ],
          "apiPatternCount": 1
        },
        {
          "url": "https://js.rbxcdn.com/95aad7f7b1cdec3dc13afca4629d0d47d8fb30a40e4210acaca32664fe47b9ba-RealTime.js",
          "libraries": [
            "Arkose Labs"
          ],
          "apiPatternCount": 0
        }
      ],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [
        "css.rbxcdn.com",
        "js.rbxcdn.com"
      ],
      "requestCount": 143,
      "scriptsCaptured": 25,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headful/roblox-com-20261022T162638.json",
        "sha256": "e651b3f7d2612732b636d66dfb8230edcd37c0f9d7c58d6a077edec38bec67dd"
      }
    },
    {
      "id": "research-0db69d3fd112",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-19T01:23:20.737189Z",
      "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/roblox-com-20261019T012320.json",
        "sha256": "0db69d3fd1123e8d8c7ddca9a31d46123c0b604bd9dfbb78433a78fe5d978daa"
      },
      "scanUrl": "https://roblox.com",
      "supplementary": false,
      "partial": false,
      "navigationStatus": null
    },
    {
      "id": "research-11eebce71347",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T18:54:05.162574Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://roblox.com",
      "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/roblox-com-20261022T185405.json",
        "sha256": "11eebce71347da2d24df1d391a7c9d974b8bb742526523d5691587855e4e5bc8"
      }
    },
    {
      "id": "research-804f243338c6",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T23:18:14.336924Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://roblox.com",
      "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/roblox-com-20261022T231814.json",
        "sha256": "804f243338c626e02753790250613e1a53fe2ea26fef18574a5bf248b12f4195"
      }
    },
    {
      "id": "research-36ce961b60e2",
      "mode": "research",
      "modeInferred": false,
      "scannedAt": "2026-10-22T23:58:47.369223Z",
      "scannerVersion": "0.4",
      "browserVersion": "156.0.8078.4",
      "scanUrl": "https://roblox.com",
      "supplementary": false,
      "partial": true,
      "navigationStatus": "committed",
      "finalUrl": "https://www.roblox.com/",
      "httpStatus": 200,
      "pageTitle": "Play Free Online Games on Roblox - Sign Up to Play!",
      "pageState": "document",
      "measurementStatus": "ok",
      "finding": "not_observed",
      "signals": {
        "canvas": false,
        "webgl": false,
        "audio": false,
        "fonts": false,
        "device": false
      },
      "collectionCallers": [],
      "apiCalls": [
        {
          "api": "canvas.getContext",
          "count": 1,
          "callers": [],
          "inlineCaller": true,
          "frame": "https://www.roblox.com/"
        },
        {
          "api": "navigator.doNotTrack",
          "count": 1,
          "callers": [
            {
              "url": "https://www.roblox.com/",
              "line": 257,
              "column": 29
            }
          ],
          "inlineCaller": false,
          "frame": "https://www.roblox.com/"
        }
      ],
      "evidenceSnippets": [],
      "transmission": [],
      "providers": [],
      "staticAnalysis": [],
      "cnameRecords": [],
      "serviceWorkers": [],
      "thirdPartyHosts": [
        "css.rbxcdn.com",
        "js.rbxcdn.com"
      ],
      "requestCount": 475,
      "scriptsCaptured": 1,
      "framesSeen": 1,
      "googleAdsObserved": false,
      "source": {
        "file": "results/headless/roblox-com-20261022T235847.json",
        "sha256": "36ce961b60e2bf47d8a83f9dc8c09693e357842194547bcdcf565ace64fd293b"
      }
    }
  ]
}
