{
  "title": "Blacklight Inspection",
  "page_title": "Alberto De Bortoli",
  "uri_ins": "http://albertodebortoli.com/",
  "uri_dest": "https://albertodebortoli.com/",
  "uri_redirects": [
    "http://albertodebortoli.com/"
  ],
  "secure_connection": {},
  "host": "albertodebortoli.com",
  "config": {
    "emulateDevice": {
      "name": "iPhone 13 Pro",
      "userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 15_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/15.4 Mobile/15E148 Safari/604.1",
      "viewport": {
        "width": 390,
        "height": 844,
        "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=28f61e43-788b-4e94-8d7a-53bcd4b04967"
    ],
    "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.6.87.1-microsoft-standard-WSL2"
    }
  },
  "script": {
    "host": "4ca80e837103",
    "version": {
      "npm": "3.11.0",
      "commit": "dev"
    },
    "node_version": "v24.20.0"
  },
  "start_time": "2026-09-07T11:51:38.827Z",
  "end_time": "2026-09-07T11:51:52.212Z",
  "browsing_history": [
    "https://albertodebortoli.com/",
    "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
    "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/"
  ],
  "hosts": {
    "requests": {
      "first_party": [
        "albertodebortoli.com"
      ],
      "third_party": [
        "cdn.jsdelivr.net",
        "www.googletagmanager.com",
        "fonts.bunny.net",
        "storage.ghost.io",
        "www.google-analytics.com",
        "region1.google-analytics.com"
      ]
    }
  },
  "reports": {
    "behaviour_event_listeners": {
      "MOUSE": {
        "https://www.googletagmanager.com/gtag/js?id=G-XGV9BTCTW9&cx=c&gtm=4e6921": [
          "click"
        ],
        "https://www.googletagmanager.com/gtag/js?id=G-XGV9BTCTW9&cx=c&gtm=4e6930h2": [
          "click"
        ],
        "https://albertodebortoli.com/assets/built/casper.js?v=YtPhrez3GuGLVDYs": [
          "scroll"
        ]
      },
      "KEYBOARD": {
        "https://cdn.jsdelivr.net/ghost/sodo-search@~1.8/umd/sodo-search.min.js": [
          "keydown"
        ]
      }
    },
    "canvas_fingerprinters": {
      "data_url": {},
      "fingerprinters": [],
      "styles": {},
      "texts": {}
    },
    "canvas_font_fingerprinters": {
      "canvas_font": {},
      "text_measure": {}
    },
    "cookies": [
      {
        "name": "_gid",
        "value": "GA1.2.1342591415.1788781907",
        "domain": "albertodebortoli.com",
        "path": "/",
        "expires": "2026-09-08T11:51:46.000Z",
        "size": 31,
        "httpOnly": false,
        "secure": false,
        "session": false,
        "priority": "Medium",
        "sameParty": false,
        "sourceScheme": "Secure",
        "sourcePort": 443,
        "type": "js",
        "third_party": false
      },
      {
        "name": "_gat_gtag_UA_20371220_3",
        "value": "1",
        "domain": "albertodebortoli.com",
        "path": "/",
        "expires": "2026-09-07T11:52:46.000Z",
        "size": 24,
        "httpOnly": false,
        "secure": false,
        "session": false,
        "priority": "Medium",
        "sameParty": false,
        "sourceScheme": "Secure",
        "sourcePort": 443,
        "type": "js",
        "third_party": false
      },
      {
        "name": "_ga_XGV9BTCTW9",
        "value": "GS2.1.s1788781899$o1$g1$t1788781906$j53$l0$h0",
        "domain": "albertodebortoli.com",
        "path": "/",
        "expires": "2027-10-12T11:51:46.713Z",
        "size": 59,
        "httpOnly": false,
        "secure": false,
        "session": false,
        "priority": "Medium",
        "sameParty": false,
        "sourceScheme": "Secure",
        "sourcePort": 443,
        "type": "js",
        "third_party": false
      },
      {
        "name": "_ga",
        "value": "GA1.1.1564722127.1788781907",
        "domain": "albertodebortoli.com",
        "path": "/",
        "expires": "2027-10-12T11:51:46.714Z",
        "size": 30,
        "httpOnly": false,
        "secure": false,
        "session": false,
        "priority": "Medium",
        "sameParty": false,
        "sourceScheme": "Secure",
        "sourcePort": 443,
        "type": "js",
        "third_party": false
      }
    ],
    "fb_pixel_events": [],
    "tiktok_pixel_events": [],
    "twitter_pixel_events": [],
    "google_analytics_events": [],
    "key_logging": {},
    "session_recorders": {},
    "third_party_trackers": [
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "_eu": "EAAIAAQ",
            "_p": 1788781906499,
            "_s": 1,
            "are": 1,
            "cid": 1564722127.1788783,
            "dl": "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/",
            "dma": 1,
            "dma_cps": "a",
            "dt": "Revisiting the JET iOS Modular Architecture in 2026",
            "en": "page_view",
            "frm": 0,
            "gcd": "13l3l3l2l1l1",
            "gtm": "45je6921v9108773865za20g",
            "ir": 1,
            "ngs": 1,
            "npa": 1,
            "pscdl": "",
            "rcb": 6,
            "sct": 1,
            "seg": 1,
            "sid": 1788781899,
            "sr": "390x844",
            "tag_exp": "115616986~115938465~115938469~118897920~118897930~120213116~120385423~120420414~120469145~120469153",
            "tfd": 5261,
            "tid": "G-XGV9BTCTW9",
            "uaa": "",
            "uab": "",
            "uafvl": "",
            "uam": "",
            "uamb": 0,
            "uap": "",
            "uapv": "",
            "uaw": 0,
            "ul": "en-us",
            "v": 2
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://region1.google-analytics.com/g/collect?v=2&tid=G-XGV9BTCTW9&gtm=45je6921v9108773865za20g&_p=1788781906499&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&_eu=EAAIAAQ&are=1&cid=1564722127.1788781907&frm=0&ir=1&ngs=1&pscdl=&rcb=6&sr=390x844&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115616986~115938465~115938469~118897920~118897930~120213116~120385423~120420414~120469145~120469153&sid=1788781899&sct=1&seg=1&dl=https%3A%2F%2Falbertodebortoli.com%2F2026%2F07%2F15%2Frevisiting-the-jet-ios-modular-architecture-in-2026%2F&dt=Revisiting%20the%20JET%20iOS%20Modular%20Architecture%20in%202026&en=page_view&tfd=5261"
      },
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.google-analytics.com/analytics.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "cx": "c",
            "gtm": null,
            "id": "G-XGV9BTCTW9"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=G-XGV9BTCTW9&cx=c&gtm=4e6921"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "id": "UA-20371220-3"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2026/07/15/revisiting-the-jet-ios-modular-architecture-in-2026/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=UA-20371220-3"
      },
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "_eu": "EAAIAAQ",
            "_p": 1788781901046,
            "_s": 1,
            "are": 1,
            "cid": 2086112891.1788783,
            "dl": "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
            "dma": 1,
            "dma_cps": "a",
            "dt": "The easiest Promises in Swift",
            "en": "page_view",
            "frm": 0,
            "gcd": "13l3l3l2l1l1",
            "gtm": "45je6930h2v9108773865za20g",
            "ir": 1,
            "ngs": 1,
            "npa": 1,
            "pscdl": "",
            "rcb": 19,
            "sct": 1,
            "seg": 1,
            "sid": 1788781899,
            "sr": "390x844",
            "tag_exp": "115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153",
            "tfd": 5319,
            "tid": "G-XGV9BTCTW9",
            "uaa": "",
            "uab": "",
            "uafvl": "",
            "uam": "",
            "uamb": 0,
            "uap": "",
            "uapv": "",
            "uaw": 0,
            "ul": "en-us",
            "v": 2
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://region1.google-analytics.com/g/collect?v=2&tid=G-XGV9BTCTW9&gtm=45je6930h2v9108773865za20g&_p=1788781901046&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&_eu=EAAIAAQ&are=1&cid=2086112891.1788781901&frm=0&ir=1&ngs=1&pscdl=&rcb=19&sr=390x844&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938466~115938468~118897920~118897930~120213116~120385423~120469145~120469153&sid=1788781899&sct=1&seg=1&dl=https%3A%2F%2Falbertodebortoli.com%2F2018%2F02%2F12%2Fthe-easiest-promises-in-swift%2F&dt=The%20easiest%20Promises%20in%20Swift&en=page_view&tfd=5319"
      },
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.google-analytics.com/analytics.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "cx": "c",
            "gtm": "4e6930h2",
            "id": "G-XGV9BTCTW9"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=G-XGV9BTCTW9&cx=c&gtm=4e6930h2"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "id": "UA-20371220-3"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/2018/02/12/the-easiest-promises-in-swift/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=UA-20371220-3"
      },
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {
            "_eu": "EAAI",
            "_fv": 1,
            "_p": 1788781899060,
            "_s": 1,
            "_ss": 1,
            "are": 1,
            "cid": 372656389.1788782,
            "dl": "https://albertodebortoli.com/",
            "dma": 1,
            "dma_cps": "a",
            "dt": "Alberto De Bortoli",
            "en": "page_view",
            "frm": 0,
            "gcd": "13l3l3l2l1l1",
            "gtm": "45je6921v9108773865za20g",
            "ir": 1,
            "ngs": 1,
            "npa": 1,
            "pscdl": "",
            "rcb": 12,
            "sct": 1,
            "seg": 0,
            "sid": 1788781899,
            "sr": "390x844",
            "tag_exp": "115938465~115938468~118897920~118897930~119793974~120213116~120385423~120469145~120469153~120914214",
            "tfd": 409,
            "tid": "G-XGV9BTCTW9",
            "uaa": "",
            "uab": "",
            "uafvl": "",
            "uam": "",
            "uamb": 0,
            "uap": "",
            "uapv": "",
            "uaw": 0,
            "ul": "en-us",
            "v": 2
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://region1.google-analytics.com/g/collect?v=2&tid=G-XGV9BTCTW9&gtm=45je6921v9108773865za20g&_p=1788781899060&gcd=13l3l3l2l1l1&npa=1&dma_cps=a&dma=1&_eu=EAAI&are=1&cid=372656389.1788781899&frm=0&ir=1&ngs=1&pscdl=&rcb=12&sr=390x844&uaa=&uab=&uafvl=&uam=&uamb=0&uap=&uapv=&uaw=0&ul=en-us&_s=1&tag_exp=115938465~115938468~118897920~118897930~119793974~120213116~120385423~120469145~120469153~120914214&sid=1788781899&sct=1&seg=0&dl=https%3A%2F%2Falbertodebortoli.com%2F&dt=Alberto%20De%20Bortoli&en=page_view&_fv=1&_ss=1&tfd=409"
      },
      {
        "data": {
          "body": {},
          "filter": "||google-analytics.com^$third-party",
          "listName": "easyprivacy.txt",
          "query": {}
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.google-analytics.com/analytics.js"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "cx": "c",
            "gtm": null,
            "id": "G-XGV9BTCTW9"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=G-XGV9BTCTW9&cx=c&gtm=4e6921"
      },
      {
        "data": {
          "body": {},
          "filter": "||googletagmanager.com^",
          "listName": "easyprivacy.txt",
          "query": {
            "id": "UA-20371220-3"
          }
        },
        "stack": [
          {
            "fileName": "https://albertodebortoli.com/",
            "source": "ThirdPartyTracker RequestHandler"
          }
        ],
        "type": "TrackingRequest",
        "url": "https://www.googletagmanager.com/gtag/js?id=UA-20371220-3"
      }
    ]
  }
}