diff --git a/src/template/ACRHR_template.html b/src/template/ACRHR_template.html
index faaece6..921b17b 100644
--- a/src/template/ACRHR_template.html
+++ b/src/template/ACRHR_template.html
@@ -218,7 +218,7 @@
**/
function initializeActivePageMonitoring(){
- sessionId = Math.random().toString(36).substr(2, 9);
+ sessionId = Array.from(crypto.getRandomValues(new Uint8Array(5)), byte => byte.toString(16).padStart(2, "0")).join("").slice(0, 9);
sessionIdVariableName = config.qualificationCookieName +"_sid";
createCookie(sessionIdVariableName,sessionId,70);
diff --git a/src/template/ACR_template.html b/src/template/ACR_template.html
index 059230b..0a70408 100644
--- a/src/template/ACR_template.html
+++ b/src/template/ACR_template.html
@@ -222,7 +222,7 @@
// not more than 2min loading time is acceptable despite the internet speed test and file size
page_loading_timer = setTimeout(show_message_too_long_loading, 120*1000);
- sessionId = Math.random().toString(36).substr(2, 9);
+ sessionId = Array.from(crypto.getRandomValues(new Uint8Array(5)), byte => byte.toString(16).padStart(2, "0")).join("").slice(0, 9);
sessionIdVariableName = config.qualificationCookieName +"_sid";
createCookie(sessionIdVariableName,sessionId,70);
diff --git a/src/template/DCR_template.html b/src/template/DCR_template.html
index 5bad471..758fe08 100644
--- a/src/template/DCR_template.html
+++ b/src/template/DCR_template.html
@@ -272,7 +272,7 @@
page_loading_timer = setTimeout(show_message_too_long_loading, 120*1000);
- sessionId = Math.random().toString(36).substr(2, 9);
+ sessionId = Array.from(crypto.getRandomValues(new Uint8Array(5)), byte => byte.toString(16).padStart(2, "0")).join("").slice(0, 9);
sessionIdVariableName = config.qualificationCookieName +"_sid";
createCookie(sessionIdVariableName,sessionId,70);
diff --git a/src/template/avatar_template.html b/src/template/avatar_template.html
index ad93b5e..3e0f1dc 100644
--- a/src/template/avatar_template.html
+++ b/src/template/avatar_template.html
@@ -234,7 +234,7 @@
// not more than 2min loading time is acceptable despite the internet speed test and file size
page_loading_timer = setTimeout(show_message_too_long_loading, 120*1000);
- sessionId = Math.random().toString(36).substr(2, 9);
+ sessionId = Array.from(crypto.getRandomValues(new Uint8Array(5)), byte => byte.toString(16).padStart(2, "0")).join("").slice(0, 9);
sessionIdVariableName = config.qualificationCookieName +"_sid";
createCookie(sessionIdVariableName,sessionId,70);