{
  "title": "Blacklight Inspection",
  "page_title": "AndyPi – Python & Programming",
  "uri_ins": "http://andypi.co.uk/",
  "uri_dest": "https://andypi.co.uk/",
  "uri_redirects": [
    "http://andypi.co.uk/"
  ],
  "secure_connection": {},
  "host": "andypi.co.uk",
  "config": {
    "emulateDevice": {
      "name": "iPhone 11 Pro Max",
      "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_7 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.1 Mobile/15E148 Safari/604.1",
      "viewport": {
        "width": 414,
        "height": 896,
        "deviceScaleFactor": 3,
        "isMobile": true,
        "hasTouch": true,
        "isLandscape": false
      }
    },
    "cleareCache": true,
    "captureHar": true,
    "captureLinks": false,
    "enableAdBlock": false,
    "saveBrowserProfile": false,
    "numPages": 2,
    "defaultTimeout": 35000,
    "defaultWaitUntil": "networkidle2",
    "headless": true,
    "headers": {},
    "extraChromiumArgs": [
      "--disable-features=TrackingProtection3pcd",
      "--website-analysis-scan=1e9b60ee-5c56-4982-90a6-34e8b03535bc"
    ],
    "extraPuppeteerOptions": {}
  },
  "browser": {
    "name": "Chromium",
    "version": "Chrome/127.0.6533.88",
    "user_agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/127.0.0.0 Safari/537.36",
    "platform": {
      "name": "Linux",
      "version": "6.12.107+deb13-amd64"
    }
  },
  "script": {
    "host": "82941101e640",
    "version": {
      "npm": "3.11.0",
      "commit": "dev"
    },
    "node_version": "v24.20.0"
  },
  "start_time": "2026-09-07T15:13:13.179Z",
  "end_time": "2026-09-07T15:13:35.764Z",
  "browsing_history": [
    "https://andypi.co.uk/",
    "https://andypi.co.uk/2026/01/12/how-i-started-learning-ruby-on-rails-from-scratch-as-a-python-dev-3-basic-rails-app/",
    "https://andypi.co.uk/subscribe/"
  ],
  "hosts": {
    "requests": {
      "first_party": [
        "andypi.co.uk"
      ],
      "third_party": [
        "fonts.googleapis.com",
        "cdn.counter.dev",
        "static.cloudflareinsights.com",
        "t.counter.dev",
        "ghbtns.com",
        "fonts.gstatic.com",
        "api.github.com"
      ]
    }
  },
  "reports": {
    "behaviour_event_listeners": {
      "MOUSE": {
        "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495": [
          "click"
        ],
        "https://andypi.co.uk/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1777700943": [
          "scroll",
          "mousemove",
          "mouseup",
          "mousedown"
        ]
      },
      "KEYBOARD": {
        "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495": [
          "keydown"
        ]
      },
      "TOUCH": {
        "https://andypi.co.uk/wp-content/plugins/akismet/_inc/akismet-frontend.js?ver=1777700943": [
          "touchend",
          "touchstart",
          "touchmove"
        ]
      }
    },
    "canvas_fingerprinters": {
      "data_url": {},
      "fingerprinters": [],
      "styles": {},
      "texts": {}
    },
    "canvas_font_fingerprinters": {
      "canvas_font": {},
      "text_measure": {}
    },
    "cookies": [
      {
        "name": "cf_clearance",
        "value": "4BXq9yvw1Fj8_PDm9zvsfNKRviZ9TdUcVUQonAg399A-1788794011-1.2.1.1-cZNWuIkmi1aEdbf2Xxz43WRvt4XZ8.yhfQ40VNTE6Ry5B6GuJL8F7bDu0enT8Nne4lDPPT.VcLMQeOBPJCyboxV6ieTgJKDRdlCAmNaNTi57SSf.MSVnzmLRYSTrcgd6rDvx648OoUShCiQ0lFMIHkt_5mqvDyrD2VTnzCu.yZuvRgRDsKhQmuYdOC_hGVRwj4PMvasT0za88Q5BaUsP4ik9bUpbaPO6tcDSv6QrH4jTF7VJCkkMJNztWQcgyMziBKeks0GzFeN_UxDBAKJqeyT.tVc1Aib.fDuDZDfRmBGVkCs3Am1qA9j5Mivli69dYK_dmEDw_dao0reIs5mtGBncnWE1mhkCm4ZpMRGOeTi7y0.0bbl63J79N_.BaDj8vWIpXCAWhbAhPJZk7Xo3f5fpoCGe6b6Is6RmUpN81SGw80l37ROm1UVyvgdDtG6q",
        "domain": "andypi.co.uk",
        "path": "/",
        "expires": "2027-09-07T15:13:31.710Z",
        "size": 523,
        "httpOnly": true,
        "secure": true,
        "session": false,
        "sameSite": "None",
        "priority": "Medium",
        "sameParty": false,
        "sourceScheme": "Secure",
        "sourcePort": 443,
        "partitionKey": {
          "topLevelSite": "https://andypi.co.uk",
          "hasCrossSiteAncestor": false
        },
        "type": "unknown",
        "third_party": false
      }
    ],
    "fb_pixel_events": [],
    "tiktok_pixel_events": [],
    "twitter_pixel_events": [],
    "google_analytics_events": [],
    "key_logging": {},
    "session_recorders": {},
    "third_party_trackers": [
      {
        "data": {
          "body": "id=4f79969f-7643-492c-80c7-a85e5877c194&page=%2Fsubscribe%2F",
          "filter": "$ping,third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/subscribe/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://t.counter.dev/trackpage"
      },
      {
        "data": {
          "body": {},
          "filter": "||cloudflareinsights.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/subscribe/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495"
      },
      {
        "data": {
          "body": {},
          "filter": "||counter.dev^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/subscribe/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://cdn.counter.dev/script.js"
      },
      {
        "data": {
          "body": "id=4f79969f-7643-492c-80c7-a85e5877c194&page=%2F2026%2F01%2F12%2Fhow-i-started-learning-ruby-on-rails-from-scratch-as-a-python-dev-3-basic-rails-app%2F",
          "filter": "$ping,third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/2026/01/12/how-i-started-learning-ruby-on-rails-from-scratch-as-a-python-dev-3-basic-rails-app/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://t.counter.dev/trackpage"
      },
      {
        "data": {
          "body": {},
          "filter": "||cloudflareinsights.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/2026/01/12/how-i-started-learning-ruby-on-rails-from-scratch-as-a-python-dev-3-basic-rails-app/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495"
      },
      {
        "data": {
          "body": {},
          "filter": "||counter.dev^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/2026/01/12/how-i-started-learning-ruby-on-rails-from-scratch-as-a-python-dev-3-basic-rails-app/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://cdn.counter.dev/script.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||counter.dev^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "id": "4f79969f-7643-492c-80c7-a85e5877c194",
            "referrer": "",
            "screen": "414x896",
            "utcoffset": 0
          }
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://t.counter.dev/track?referrer=&screen=414x896&id=4f79969f-7643-492c-80c7-a85e5877c194&utcoffset=0"
      },
      {
        "data": {
          "body": "id=4f79969f-7643-492c-80c7-a85e5877c194&page=%2F",
          "filter": "$ping,third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://t.counter.dev/trackpage"
      },
      {
        "data": {
          "body": {},
          "filter": "||cloudflareinsights.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495"
      },
      {
        "data": {
          "body": {},
          "filter": "||counter.dev^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://andypi.co.uk/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://cdn.counter.dev/script.js"
      }
    ]
  }
}