function uuidv4() { return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) { var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8); return v.toString(16); }); } function setAntiFraudHeaders() { var hmrcGuid = localStorage.getItem('hmrc-guid'); if(hmrcGuid == null){ hmrcGuid = uuidv4(); localStorage.setItem('hmrc-guid', hmrcGuid); } let antifraudHeaders = {} antifraudHeaders["Gov-Client-Device-ID"] = hmrcGuid var plugins = []; for (i = 0; i < navigator.plugins.length; i++) { plugins.push(encodeURIComponent(navigator.plugins[i].name)) } antifraudHeaders["plugins"] = plugins.join(',') antifraudHeaders["utcOffset"] = new Date().getTimezoneOffset(); antifraudHeaders["screenWidth"] = screen.width antifraudHeaders["screenHeight"] = screen.height antifraudHeaders["colorDepth"] = screen.colorDepth antifraudHeaders["devicePixelRatio"] = window.devicePixelRatio antifraudHeaders["windowWidth"] = window.innerWidth antifraudHeaders["windowHeight"] = window.innerHeight antifraudHeaders["userAgent"] = window.navigator.userAgent antifraudHeaders["dnt"] = window.navigator.doNotTrack antifraudHeaders["trikiMtdVersion"] = 'triki-mtd=1.0.33' if(document.getElementById('hmrcHeaders') != null) { document.getElementById('hmrcHeaders').value = JSON.stringify(antifraudHeaders) } }