{"title":"Blacklight Inspection","page_title":"Jason Kelly | Software Engineer","uri_ins":"http://jasonkelly.dev/","uri_dest":"https://jasonkelly.dev/","uri_redirects":["http://jasonkelly.dev/"],"secure_connection":{},"host":"jasonkelly.dev","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=1b4f298c-7ea8-452d-8e5e-5722fcc9c89f"],"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":"4.4.302+"}},"script":{"host":"f55531b6c604","version":{"npm":"3.11.0","commit":"dev"},"node_version":"v24.20.0"},"start_time":"2026-09-09T10:21:00.110Z","end_time":"2026-09-09T10:21:31.024Z","browsing_history":["https://jasonkelly.dev/","https://jasonkelly.dev/","https://jasonkelly.dev/posts/"],"hosts":{"requests":{"first_party":["jasonkelly.dev"],"third_party":["stackpath.bootstrapcdn.com","use.fontawesome.com","code.jquery.com","cdnjs.cloudflare.com","static.cloudflareinsights.com","cdn.mxpnl.com","fonts.googleapis.com","fonts.gstatic.com","cloudflareinsights.com","api-js.mixpanel.com"]}},"reports":{"behaviour_event_listeners":{"KEYBOARD":{"https://code.jquery.com/jquery-3.3.1.min.js":["keyup","keydown"],"https://static.cloudflareinsights.com/beacon.min.js":["keydown"]},"MOUSE":{"https://code.jquery.com/jquery-3.3.1.min.js":["click"],"https://static.cloudflareinsights.com/beacon.min.js":["click"]}},"canvas_fingerprinters":{"data_url":{},"fingerprinters":[],"styles":{},"texts":{}},"canvas_font_fingerprinters":{"canvas_font":{},"text_measure":{}},"cookies":[{"domain":"jasonkelly.dev","name":"__mp_opt_in_out_3deb1ef55cff3954ecfeafc65aff7390","path":"/","script":"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js","type":"js","value":"","third_party":false},{"domain":"jasonkelly.dev","name":"mp_3deb1ef55cff3954ecfeafc65aff7390_mixpanel","path":"/","script":"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js","type":"js","value":"","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":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/posts/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cloudflareinsights.com/cdn-cgi/rum"},{"data":{"body":"data=%5B%7B%22event%22%3A%22%24mp_web_page_view%22%2C%22properties%22%3A%7B%22%24os%22%3A%22iOS%22%2C%22%24browser%22%3A%22Mozilla%22%2C%22%24device%22%3A%22iPhone%22%2C%22%24current_url%22%3A%22https%3A%2F%2Fjasonkelly.dev%2Fposts%2F%22%2C%22%24browser_version%22%3Anull%2C%22%24screen_height%22%3A844%2C%22%24screen_width%22%3A390%2C%22mp_lib%22%3A%22web%22%2C%22%24lib_version%22%3A%222.83.0%22%2C%22%24insert_id%22%3A%22wuecvkd5f2qqpixz%22%2C%22time%22%3A1788949284.973%2C%22distinct_id%22%3A%22%24device%3A1a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24device_id%22%3A%221a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24initial_referrer%22%3A%22%24direct%22%2C%22%24initial_referring_domain%22%3A%22%24direct%22%2C%22current_page_title%22%3A%22Jason%20Kelly%20%7C%20Blog%22%2C%22current_domain%22%3A%22jasonkelly.dev%22%2C%22current_url_path%22%3A%22%2Fposts%2F%22%2C%22current_url_protocol%22%3A%22https%3A%22%2C%22%24mp_autocapture%22%3Atrue%2C%22token%22%3A%223deb1ef55cff3954ecfeafc65aff7390%22%2C%22mp_sent_by_lib_version%22%3A%222.83.0%22%7D%7D%5D","filter":"||api-js.mixpanel.com^","listName":"easyprivacy.txt","query":{"_":1788949290008,"ip":1,"verbose":1}},"stack":[{"fileName":"https://jasonkelly.dev/posts/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api-js.mixpanel.com/track/?verbose=1&ip=1&_=1788949290008"},{"data":{"body":{"bi":{"be":"WebKit","bev":"605.1.15","bv":"15.4"},"eventType":1,"firstContentfulPaint":884,"firstPaint":884,"location":"https://jasonkelly.dev/posts/","memory":{"jsHeapSizeLimit":2130968576,"totalJSHeapSize":14323454,"usedJSHeapSize":7947070},"nt":"navigate","pageloadId":"62557ed8-9036-43e4-acd6-e7776d79ec79","siteToken":"5405fd8e30594699a88a8e5638487bc5","st":2,"startTime":1788949280333,"timingsV2":{"connectEnd":500,"connectStart":500,"decodedBodySize":9731,"domComplete":4814,"domInteractive":925,"domainLookupEnd":500,"domainLookupStart":500,"firstInterimResponseStart":0,"loadEventEnd":4816,"loadEventStart":4814,"nextHopProtocol":"h3","requestStart":504,"responseEnd":560,"responseStart":552,"secureConnectionStart":500,"transferSize":4220},"versions":{"js":"2026.9.1","timings":2}},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/posts/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cloudflareinsights.com/cdn-cgi/rum"},{"data":{"body":{},"filter":"||mxpnl.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/posts/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"},{"data":{"body":{},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/posts/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.cloudflareinsights.com/beacon.min.js"},{"data":{"body":"data=%5B%7B%22event%22%3A%22%24mp_web_page_view%22%2C%22properties%22%3A%7B%22%24os%22%3A%22iOS%22%2C%22%24browser%22%3A%22Mozilla%22%2C%22%24device%22%3A%22iPhone%22%2C%22%24current_url%22%3A%22https%3A%2F%2Fjasonkelly.dev%2F%22%2C%22%24browser_version%22%3Anull%2C%22%24screen_height%22%3A844%2C%22%24screen_width%22%3A390%2C%22mp_lib%22%3A%22web%22%2C%22%24lib_version%22%3A%222.83.0%22%2C%22%24insert_id%22%3A%22hjsa9y8tm0g6hi2y%22%2C%22time%22%3A1788949274.644%2C%22distinct_id%22%3A%22%24device%3A1a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24device_id%22%3A%221a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24initial_referrer%22%3A%22%24direct%22%2C%22%24initial_referring_domain%22%3A%22%24direct%22%2C%22current_page_title%22%3A%22Jason%20Kelly%20%7C%20Software%20Engineer%22%2C%22current_domain%22%3A%22jasonkelly.dev%22%2C%22current_url_path%22%3A%22%2F%22%2C%22current_url_protocol%22%3A%22https%3A%22%2C%22%24mp_autocapture%22%3Atrue%2C%22token%22%3A%223deb1ef55cff3954ecfeafc65aff7390%22%2C%22mp_sent_by_lib_version%22%3A%222.83.0%22%7D%7D%2C%7B%22event%22%3A%22%24mp_web_page_view%22%2C%22properties%22%3A%7B%22%24os%22%3A%22iOS%22%2C%22%24browser%22%3A%22Mozilla%22%2C%22%24device%22%3A%22iPhone%22%2C%22%24current_url%22%3A%22https%3A%2F%2Fjasonkelly.dev%2F%22%2C%22%24browser_version%22%3Anull%2C%22%24screen_height%22%3A844%2C%22%24screen_width%22%3A390%2C%22mp_lib%22%3A%22web%22%2C%22%24lib_version%22%3A%222.83.0%22%2C%22%24insert_id%22%3A%22etnqdolf6pimlk5j%22%2C%22time%22%3A1788949268.711%2C%22distinct_id%22%3A%22%24device%3A1a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24device_id%22%3A%221a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24initial_referrer%22%3A%22%24direct%22%2C%22%24initial_referring_domain%22%3A%22%24direct%22%2C%22current_page_title%22%3A%22Jason%20Kelly%20%7C%20Software%20Engineer%22%2C%22current_domain%22%3A%22jasonkelly.dev%22%2C%22current_url_path%22%3A%22%2F%22%2C%22current_url_protocol%22%3A%22https%3A%22%2C%22%24mp_autocapture%22%3Atrue%2C%22token%22%3A%223deb1ef55cff3954ecfeafc65aff7390%22%2C%22mp_sent_by_lib_version%22%3A%222.83.0%22%7D%7D%5D","filter":"||api-js.mixpanel.com^","listName":"easyprivacy.txt","query":{"_":1788949279981,"ip":1,"verbose":1}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api-js.mixpanel.com/track/?verbose=1&ip=1&_=1788949279981"},{"data":{"body":{"bi":{"be":"WebKit","bev":"605.1.15","bv":"15.4"},"eventType":1,"firstContentfulPaint":705,"firstPaint":705,"location":"https://jasonkelly.dev/","memory":{"jsHeapSizeLimit":2130968576,"totalJSHeapSize":10378119,"usedJSHeapSize":5973735},"nt":"navigate","pageloadId":"c5e18ecc-41fe-45d2-a5fb-ae258ccc9312","siteToken":"5405fd8e30594699a88a8e5638487bc5","st":2,"startTime":1788949272351,"timingsV2":{"connectEnd":6,"connectStart":6,"decodedBodySize":13007,"domComplete":2489,"domInteractive":2095,"domainLookupEnd":6,"domainLookupStart":6,"firstInterimResponseStart":0,"loadEventEnd":2491,"loadEventStart":2489,"nextHopProtocol":"h3","requestStart":8,"responseEnd":134,"responseStart":42,"secureConnectionStart":6,"transferSize":4979},"versions":{"js":"2026.9.1","timings":2}},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cloudflareinsights.com/cdn-cgi/rum"},{"data":{"body":{},"filter":"||mxpnl.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"},{"data":{"body":{},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.cloudflareinsights.com/beacon.min.js"},{"data":{"body":"data=%5B%7B%22event%22%3A%22%24mp_web_page_view%22%2C%22properties%22%3A%7B%22%24os%22%3A%22iOS%22%2C%22%24browser%22%3A%22Mozilla%22%2C%22%24device%22%3A%22iPhone%22%2C%22%24current_url%22%3A%22https%3A%2F%2Fjasonkelly.dev%2F%22%2C%22%24browser_version%22%3Anull%2C%22%24screen_height%22%3A844%2C%22%24screen_width%22%3A390%2C%22mp_lib%22%3A%22web%22%2C%22%24lib_version%22%3A%222.83.0%22%2C%22%24insert_id%22%3A%22etnqdolf6pimlk5j%22%2C%22time%22%3A1788949268.711%2C%22distinct_id%22%3A%22%24device%3A1a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24device_id%22%3A%221a920d6d-ff03-4ed7-a192-92dcd7292c68%22%2C%22%24initial_referrer%22%3A%22%24direct%22%2C%22%24initial_referring_domain%22%3A%22%24direct%22%2C%22current_page_title%22%3A%22Jason%20Kelly%20%7C%20Software%20Engineer%22%2C%22current_domain%22%3A%22jasonkelly.dev%22%2C%22current_url_path%22%3A%22%2F%22%2C%22current_url_protocol%22%3A%22https%3A%22%2C%22%24mp_autocapture%22%3Atrue%2C%22token%22%3A%223deb1ef55cff3954ecfeafc65aff7390%22%2C%22mp_sent_by_lib_version%22%3A%222.83.0%22%7D%7D%5D","filter":"$ping,third-party","listName":"easyprivacy.txt","query":{"_":1788949272500,"ip":1,"verbose":1}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://api-js.mixpanel.com/track/?verbose=1&ip=1&_=1788949272500"},{"data":{"body":{},"filter":"$ping,third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cloudflareinsights.com/cdn-cgi/rum"},{"data":{"body":{"bi":{"be":"WebKit","bev":"605.1.15","bv":"15.4"},"eventType":1,"firstContentfulPaint":1190,"firstPaint":1190,"location":"https://jasonkelly.dev/","memory":{"jsHeapSizeLimit":2130968576,"totalJSHeapSize":7158164,"usedJSHeapSize":4789704},"nt":"navigate","pageloadId":"6ca82444-8aac-478d-b10a-5a38e8f7948b","siteToken":"5405fd8e30594699a88a8e5638487bc5","st":2,"startTime":1788949265988,"timingsV2":{"connectEnd":79,"connectStart":50,"decodedBodySize":13007,"domComplete":3497,"domInteractive":2421,"domainLookupEnd":50,"domainLookupStart":36,"firstInterimResponseStart":0,"loadEventEnd":3502,"loadEventStart":3497,"nextHopProtocol":"h3","requestStart":80,"responseEnd":153,"responseStart":147,"secureConnectionStart":51,"transferSize":4978},"versions":{"js":"2026.9.1","timings":2}},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cloudflareinsights.com/cdn-cgi/rum"},{"data":{"body":{},"filter":"||mxpnl.com^","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://cdn.mxpnl.com/libs/mixpanel-2-latest.min.js"},{"data":{"body":{},"filter":"||cloudflareinsights.com^$third-party","listName":"easyprivacy.txt","query":{}},"stack":[{"fileName":"https://jasonkelly.dev/","source":"ThirdPartyTracker RequestHandler"}],"type":"TrackingRequest","url":"https://static.cloudflareinsights.com/beacon.min.js"}]}}