diff --git a/eccs2.py b/eccs2.py
index a0d7d9fb3bac1f9e09f04b95a8de0cd8d0cc8fd7..9cf16cca247898d21c9dbe0058d83dfafb2d2b09 100755
--- a/eccs2.py
+++ b/eccs2.py
@@ -77,7 +77,7 @@ def checkIdP(sp,idp,test):
 
       return (idp['entityID'],wayfless_url,check_time,"NULL","DISABLED")
 
-   # Open SP, select the IDP from the EDS and press 'Enter' to reach the IdP login page to check
+   # Open SP via wayfless_url and reach the IdP login page to check
    try:
       check_time = datetime.datetime.utcnow().strftime('%Y-%m-%dT%H:%M:%S') + 'Z'
       driver.get(wayfless_url)
@@ -165,44 +165,44 @@ def checkIdP(sp,idp,test):
 
    try:
       headers = {'User-Agent':'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}
-      status_code = str(requests.get(samlrequest_url, headers=headers, verify=False, timeout=ECCS2REQUESTSTIMEOUT).status_code)
+      http_code = str(requests.get(samlrequest_url, headers=headers, verify=False, timeout=ECCS2REQUESTSTIMEOUT).status_code)
 
    except requests.exceptions.ConnectionError as e:
-     print ("status-code: (failed) - ConnectionError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
+     print ("http-code: (failed) - ConnectionError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
      #print("!!! REQUESTS STATUS CODE CONNECTION ERROR EXCEPTION !!!")
      #print (e.__str__())
-     status_code = "(failed)"
+     http_code = "(failed)"
 
    except requests.exceptions.Timeout as e:
-     print ("status-code: 111 - TimeoutError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
+     print ("http-code: 111 - TimeoutError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
      #print("!!! REQUESTS STATUS CODE TIMEOUT EXCEPTION !!!")
      #print (e.__str__())
-     status_code = "111"
+     http_code = "111"
 
    except requests.exceptions.TooManyRedirects as e:
-     print ("status-code: 222 - TooManyRedirectsError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
+     print ("http-code: 222 - TooManyRedirectsError for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
      #print("!!! REQUESTS TOO MANY REDIRECTS EXCEPTION !!!")
      #print (e.__str__())
-     status_code = "222"
+     http_code = "222"
 
    except requests.exceptions.RequestException as e:
-     print ("status-code: 333 - RequestException for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
+     print ("http-code: 333 - RequestException for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
      #print ("!!! REQUESTS EXCEPTION !!!")
      print (e.__str__())
-     status_code = "333"
+     http_code = "333"
 
    except Exception as e:
-     print ("status-code: 555 - OtherException for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
+     print ("http-code: 555 - OtherException for IdP '%s' with SP '%s'" % (idp['entityID'],sp))
      #print ("!!! EXCEPTION REQUESTS !!!")
      print (e.__str__())
-     status_code = "555"
+     http_code = "555"
 
    if(metadata_not_found):
-      return (idp['entityID'],wayfless_url,check_time,status_code,"No-eduGAIN-Metadata")
+      return (idp['entityID'],wayfless_url,check_time,http_code,"No-eduGAIN-Metadata")
    elif not username_found or not password_found:
-      return (idp['entityID'],wayfless_url,check_time,status_code,"Invalid-Form")
+      return (idp['entityID'],wayfless_url,check_time,http_code,"Invalid-Form")
    else:
-      return (idp['entityID'],wayfless_url,check_time,status_code,"OK")
+      return (idp['entityID'],wayfless_url,check_time,http_code,"OK")
 
 
 # Extract IdP DisplayName by fixing input string
@@ -228,9 +228,9 @@ def storeECCS2result(idp,check_results,idp_status,test):
     str_support_contacts = ','.join(list_support_contacts)
 
     if (test is not True):
-       # IdP-DisplayName;IdP-entityID;IdP-RegAuth;IdP-tech-ctc-1,IdP-tech-ctc-2;IdP-supp-ctc-1,IdP-supp-ctc-2;IdP-ECCS-Status;SP-wayfless-url-1;SP-check-time-1;SP-status-code-1;SP-result-1;SP-wayfless-url-2;SP-check-time-2;SP-status-code-2;SP-result-2
+       # IdP-DisplayName;IdP-entityID;IdP-RegAuth;IdP-tech-ctc-1,IdP-tech-ctc-2;IdP-supp-ctc-1,IdP-supp-ctc-2;IdP-ECCS-Status;SP-wayfless-url-1;SP-check-time-1;SP-http-code-1;SP-result-1;SP-wayfless-url-2;SP-check-time-2;SP-http-code-2;SP-result-2
        with open("%s/%s" % (ECCS2OUTPUTDIR,ECCS2RESULTSLOG), 'a') as f:
-           f.write('{"displayName":"%s","entityID":"%s","registrationAuthority":"%s","contacts":{"technical":"%s","support":"%s"},"status":"%s","sp1":{"wayflessUrl":"%s","checkTime":"%s","statusCode":"%s","status":"%s"},"sp2":{"wayflessUrl":"%s","checkTime":"%s","statusCode":"%s","status":"%s"}}\n' % (
+           f.write('{"displayName":"%s","entityID":"%s","registrationAuthority":"%s","contacts":{"technical":"%s","support":"%s"},"status":"%s","sp1":{"wayflessUrl":"%s","checkTime":"%s","httpCode":"%s","result":"%s"},"sp2":{"wayflessUrl":"%s","checkTime":"%s","httpCode":"%s","result":"%s"}}\n' % (
                    getDisplayName(idp['displayname']),  # IdP-DisplayName
                    idp['entityID'],                     # IdP-entityID
                    idp['registrationAuthority'],        # IdP-RegAuth
@@ -239,15 +239,15 @@ def storeECCS2result(idp,check_results,idp_status,test):
                    idp_status,                          # IdP-ECCS-Status
                    check_results[0][1],                 # SP-wayfless-url-1
                    check_results[0][2],                 # SP-check-time-1
-                   check_results[0][3],                 # SP-status-code-1
+                   check_results[0][3],                 # SP-http-code-1
                    check_results[0][4],                 # SP-result-1
                    check_results[1][1],                 # SP-wayfless-url-2
                    check_results[1][2],                 # SP-check-time-2
-                   check_results[1][3],                 # SP-status-code-2
+                   check_results[1][3],                 # SP-http-code-2
                    check_results[1][4]))                # SP-result-2
     else:
        print("\nECCS2:")
-       print('{"displayName":"%s","entityID":"%s","registrationAuthority":"%s","contacts":{"technical":"%s","support":"%s"},"status":"%s","sp1":{"wayflessUrl":"%s","checkTime":"%s","statusCode":"%s","status":"%s"},"sp2":{"wayflessUrl":"%s","checkTime":"%s","statusCode":"%s","status":"%s"}}\n' % (
+       print('{"displayName":"%s","entityID":"%s","registrationAuthority":"%s","contacts":{"technical":"%s","support":"%s"},"status":"%s","sp1":{"wayflessUrl":"%s","checkTime":"%s","httpCode":"%s","result":"%s"},"sp2":{"wayflessUrl":"%s","checkTime":"%s","httpCode":"%s","result":"%s"}}\n' % (
                    getDisplayName(idp['displayname']),  # IdP-DisplayName
                    idp['entityID'],                     # IdP-entityID
                    idp['registrationAuthority'],        # IdP-RegAuth
@@ -256,11 +256,11 @@ def storeECCS2result(idp,check_results,idp_status,test):
                    idp_status,                          # IdP-ECCS-Status
                    check_results[0][1],                 # SP-wayfless-url-1
                    check_results[0][2],                 # SP-check-time-1
-                   check_results[0][3],                 # SP-status-code-1
+                   check_results[0][3],                 # SP-http-code-1
                    check_results[0][4],                 # SP-result-1
                    check_results[1][1],                 # SP-wayfless-url-2
                    check_results[1][2],                 # SP-check-time-2
-                   check_results[1][3],                 # SP-status-code-2
+                   check_results[1][3],                 # SP-http-code-2
                    check_results[1][4]))                # SP-result-2
 
 
diff --git a/web/eccs2.css b/web/eccs2.css
index 3e58c3e9a5e32c2c85e439d12db57ab1b4e8eb99..c5ecf078378e7fb9a31f45350fdf4ba5dd037f42 100644
--- a/web/eccs2.css
+++ b/web/eccs2.css
@@ -122,3 +122,93 @@ input[type=checkbox] {
       bottom: 1px;
    }
 }
+
+.tooltip {
+    position: relative;
+    display: inline-block;
+    border-bottom: 1px dotted #ccc;
+    color: #004360;
+}
+
+.tooltip .tooltiptext {
+    visibility: hidden;
+    position: absolute;
+    width: 300px;
+    background-color: #555;
+    color: #fff;
+    text-align: center;
+    padding: 5px 0;
+    border-radius: 6px;
+    z-index: 1;
+    opacity: 0;
+    transition: opacity 0.3s;
+}
+
+.tooltip:hover .tooltiptext {
+    visibility: visible;
+    opacity: 1;
+}
+
+.tooltip-right {
+  top: -5px;
+  left: 125%;  
+}
+
+.tooltip-right::after {
+    content: "";
+    position: absolute;
+    top: 50%;
+    right: 100%;
+    margin-top: -5px;
+    border-width: 5px;
+    border-style: solid;
+    border-color: transparent #555 transparent transparent;
+}
+
+.tooltip-bottom {
+  top: 135%;
+  left: 50%;  
+  margin-left: -60px;
+}
+
+.tooltip-bottom::after {
+    content: "";
+    position: absolute;
+    bottom: 100%;
+    left: 50%;
+    margin-left: -5px;
+    border-width: 5px;
+    border-style: solid;
+    border-color: transparent transparent #555 transparent;
+}
+
+.tooltip-top {
+  bottom: 125%;
+  left: 50%;  
+  margin-left: -60px;
+}
+
+.tooltip-top::after {
+    content: "";
+    position: absolute;
+    top: 100%;
+    left: 50%;
+    margin-left: -5px;
+}
+
+.tooltip-left {
+  top: auto;
+  bottom: -15px;
+  right: 128%;  
+}
+
+.tooltip-left::after {
+    content: "";
+    position: absolute;
+    top: 50%;
+    left: 100%;
+    margin-top: -5px;
+    border-width: 5px;
+    border-style: solid;
+    border-color: transparent transparent transparent #555;
+}
diff --git a/web/eccs2.js b/web/eccs2.js
index 0411086e6087e78228538acafecdf0582efa6308..a58ae59e08def4bd95c8d71ea15853e5f6067371 100644
--- a/web/eccs2.js
+++ b/web/eccs2.js
@@ -47,6 +47,30 @@ function getHostname(url) {
    }
 }
 
+function getCheckResult(checkResult){
+   if (checkResult == "OK"){
+      return '<div class="tooltip">OK <span class="tooltiptext tooltip-top">The IdP is consuming correctly the eduGAIN metadata and return a valid login page</span></div>';
+   }
+   else if (checkResult == "Timeout"){
+      return '<div class="tooltip">Timeout <span class="tooltiptext tooltip-top">The IdP does not load a valid login page within 60 seconds</span></div>'
+   }
+   else if (checkResult == "Invalid-Form"){
+      return '<div class="tooltip">Invalid-Form <span class="tooltiptext tooltip-top">The IdP does not load a valid login page</span></div>'
+   }
+   else if (checkResult == "No-eduGAIN-Metadata"){
+      return '<div class="tooltip">No-eduGAIN-Metadata <span class="tooltiptext tooltip-top">The IdP is not consuming correctly edugGAIN metadata stream</span></div>'
+   }
+   else if (checkResult == "SSL-Error"){
+      return '<div class="tooltip">SSL-Error <span class="tooltiptext tooltip-top">The IdP has a problem on its SSL certificate</span></div>'
+   }
+   else if (checkResult == "DISABLED"){
+      return '<div class="tooltip">Disabled <span class="tooltiptext tooltip-top">The check has been disabled for the IdP</span></div>'
+   }
+   else{
+      return checkResult;
+   }
+}
+
 /* Formatting function for row details - modify as you need */
 function format ( d ) {
     // `d` is the original data object for the row
@@ -64,7 +88,7 @@ function format ( d ) {
             '<td>'+d.contacts.support+'</td>'+
             '<td class="strong">Check Time</td>'+
             '<td class="strong">Result Check</td>'+
-            '<td class="strong">Status Code</td>'+
+            '<td class="strong">HTTP Code</td>'+
             '<td class="strong">Page Source</td>'+
             '<td class="strong">Retry Check</td>'+
         '</tr>'+
@@ -72,8 +96,8 @@ function format ( d ) {
             '<td class="strong">SP1:</td>'+
             '<td>https://'+getHostname(d.sp1.wayflessUrl)+'</td>'+
             '<td>'+d.sp1.checkTime+'</td>'+
-            '<td>'+d.sp1.status+'</td>'+
-            '<td>'+d.sp1.statusCode+'</td>'+
+            '<td>'+getCheckResult(d.sp1.result)+'</td>'+
+            '<td>'+d.sp1.httpCode+'</td>'+
             '<td><a href="/eccs2html/'+d.date+'/'+getHostname(d.entityID)+'---'+getHostname(d.sp1.wayflessUrl)+'.html" target="_blank">Click to open</a></td>'+
             '<td><a href="'+d.sp1.wayflessUrl+'" target="_blank">Click to retry</a></td>'+
         '</tr>'+
@@ -81,8 +105,8 @@ function format ( d ) {
             '<td class="strong">SP2:</td>'+
             '<td>https://'+getHostname(d.sp2.wayflessUrl)+'</td>'+
             '<td>'+d.sp2.checkTime+'</td>'+
-            '<td>'+d.sp2.status+'</td>'+
-            '<td>'+d.sp2.statusCode+'</td>'+
+            '<td>'+getCheckResult(d.sp2.result)+'</td>'+
+            '<td>'+d.sp2.httpCode+'</td>'+
             '<td><a href="/eccs2html/'+d.date+'/'+getHostname(d.entityID)+'---'+getHostname(d.sp2.wayflessUrl)+'.html" target="_blank">Click to open</a></td>'+
             '<td><a href="'+d.sp2.wayflessUrl+'" target="_blank">Click to retry</a></td>'+
         '</tr>'+