AmazonS3
tcp/443
CloudFront
tcp/80
Open service 18.66.97.105:443 · cloud.kemppi.com
2026-01-09 15:45
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
Server: AmazonS3
Date: Fri, 09 Jan 2026 15:45:21 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
X-Cache: RefreshHit from cloudfront
Via: 1.1 03ffca0f67e3596b9a0c92342fe91598.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P2
X-Amz-Cf-Id: uvkwiBLQELi6hcEDts-ZI0X8HKkaBq8ynYNZ1tkGAH0Q5UX1frdTfQ==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 18.66.97.105:443 · cloud.kemppi.com
2026-01-02 09:57
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
Date: Fri, 02 Jan 2026 09:57:21 GMT
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
Server: AmazonS3
X-Cache: Miss from cloudfront
Via: 1.1 80a51c83bb9479e2a3aa1ea59b366458.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P2
X-Amz-Cf-Id: KhdpXfsWf3CUmFcXpOoINzWqfU3OlWayMIUb9CWmV_PvQvTUK0hvdw==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 18.66.97.105:443 · cloud.kemppi.com
2025-12-22 23:28
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
Server: AmazonS3
Date: Mon, 22 Dec 2025 23:28:25 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
X-Cache: RefreshHit from cloudfront
Via: 1.1 cb4c4a25e4ef534686959996782c8476.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P2
X-Amz-Cf-Id: DBq-sbfgVI-0sJFALjMDEfgJ3y5PaP7Fu-T0HrE5oCYk4bhOzbJAYA==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 3.167.227.8:443 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
Server: AmazonS3
Date: Mon, 22 Dec 2025 04:15:43 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
X-Cache: RefreshHit from cloudfront
Via: 1.1 4fc7981d078c179bdb1eedaf9249be32.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P11
X-Amz-Cf-Id: m1ECl1Ryu2XYW27aXICNcKZiZaJrFmnrm3yp5pYK7CLpKH0j_WfARQ==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 3.167.227.119:443 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
Server: AmazonS3
Date: Mon, 22 Dec 2025 04:15:42 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
X-Cache: RefreshHit from cloudfront
Via: 1.1 3de00e7a5711fe2333c6254a58f89176.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P11
X-Amz-Cf-Id: 9j4wQXKhmu3EK6_N1hFtrTT27V0MNex3uK15VROFWLRUbePm9ETAVQ==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 3.167.227.119:80 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 22 Dec 2025 04:15:41 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://cloud.kemppi.com/ X-Cache: Redirect from cloudfront Via: 1.1 5a6f7d7b74f656b01d874e2b08ad1226.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P11 X-Amz-Cf-Id: ApEQB8GZEqbiswzm6AkL4DJ_ezXYANYXkrPKOWP7W8TPg-eyuqaIYg== X-Frame-Options: SAMEORIGIN Referrer-Policy: no-referrer X-Content-Type-Options: nosniff Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self'; Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 3.167.227.8:80 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 22 Dec 2025 04:15:41 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://cloud.kemppi.com/ X-Cache: Redirect from cloudfront Via: 1.1 11e96575dfbca7fdaeadce447e13bf86.cloudfront.net (CloudFront) X-Amz-Cf-Pop: FRA60-P11 X-Amz-Cf-Id: w5ZNhFV8ENaGvjiJ1LH5ZiqZKfrTjySVFLnoC4rKSlY_07qxo-fWWg== X-Frame-Options: SAMEORIGIN Referrer-Policy: no-referrer X-Content-Type-Options: nosniff Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self'; Page title: 301 Moved Permanently <html> <head><title>301 Moved Permanently</title></head> <body> <center><h1>301 Moved Permanently</h1></center> <hr><center>CloudFront</center> </body> </html>
Open service 3.167.227.18:443 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
Date: Mon, 22 Dec 2025 04:15:42 GMT
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
Server: AmazonS3
X-Cache: Miss from cloudfront
Via: 1.1 0683269557676f5d3cfdf456bb27ddee.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P11
X-Amz-Cf-Id: kz7zWFHV3CRrvBu0W0L95i7UY7_tzbxsuim1GZR4pjFL-sLdMJrv1Q==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 3.167.227.41:443 · cloud.kemppi.com
2025-12-22 04:15
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
Server: AmazonS3
Date: Mon, 22 Dec 2025 04:15:42 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
X-Cache: RefreshHit from cloudfront
Via: 1.1 e7d4c50cf6ab58e9039ff1593d0438a6.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA60-P11
X-Amz-Cf-Id: 7oPZ6Cfu4GvXMIKAx9OulGxJGksgyN3qFnNMsOKOovg6x16aI8e1EA==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);
Open service 18.66.97.105:443 · cloud.kemppi.com
2025-12-21 00:55
HTTP/1.1 200 OK
Content-Type: text/html
Content-Length: 17561
Connection: close
Date: Sun, 21 Dec 2025 00:55:33 GMT
x-amz-meta-deployversion: 58
Last-Modified: Thu, 27 Nov 2025 09:07:40 GMT
ETag: "18a3bdac5ac3fa794411ac6a9ee9363a"
Server: AmazonS3
X-Cache: Miss from cloudfront
Via: 1.1 84294257ed643a88ee54d2e3f7d7ccea.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: FRA56-P2
X-Amz-Cf-Id: LPCIHUCa2gu3cX4n35ZKN7DutaZdGU4O9OIjxvF56OS3qInv5mszXA==
X-Frame-Options: SAMEORIGIN
Referrer-Policy: no-referrer
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000
Content-Security-Policy-Report-Only: default-src 'self'; script-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com; style-src 'self' 'unsafe-inline'; img-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io *.auth0.com *.gravatar.com *.wp.com *.s3.eu-west-1.amazonaws.com data:; connect-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io weldeye.com *.weldeye.com *.s3.eu-west-1.amazonaws.com *.auth0.com; font-src 'self' kemppi.com *.kemppi.com weldeye.io *.weldeye.io; frame-src 'self';
Page title: Organization & Users
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<title>Organization & Users</title>
<base href="/">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="favicon.ico">
<script>
// function to parse jwt token
!function a(b,c,d){function e(g,h){if(!c[g]){if(!b[g]){var i="function"==typeof require&&require;if(!h&&i)return i(g,!0);if(f)return f(g,!0);var j=new Error("Cannot find module '"+g+"'");throw j.code="MODULE_NOT_FOUND",j}var k=c[g]={exports:{}};b[g][0].call(k.exports,function(a){var c=b[g][1][a];return e(c?c:a)},k,k.exports,a,b,c,d)}return c[g].exports}for(var f="function"==typeof require&&require,g=0;g<d.length;g++)e(d[g]);return e}({1:[function(a,b,c){function d(a){this.message=a}function e(a){var b=String(a).replace(/=+$/,"");if(b.length%4==1)throw new d("'atob' failed: The string to be decoded is not correctly encoded.");for(var c,e,g=0,h=0,i="";e=b.charAt(h++);~e&&(c=g%4?64*c+e:e,g++%4)?i+=String.fromCharCode(255&c>>(-2*g&6)):0)e=f.indexOf(e);return i}var f="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";d.prototype=new Error,d.prototype.name="InvalidCharacterError",b.exports="undefined"!=typeof window&&window.atob&&window.atob.bind(window)||e},{}],2:[function(a,b,c){function d(a){return decodeURIComponent(e(a).replace(/(.)/g,function(a,b){var c=b.charCodeAt(0).toString(16).toUpperCase();return c.length<2&&(c="0"+c),"%"+c}))}var e=a("./atob");b.exports=function(a){var b=a.replace(/-/g,"+").replace(/_/g,"/");switch(b.length%4){case 0:break;case 2:b+="==";break;case 3:b+="=";break;default:throw"Illegal base64url string!"}try{return d(b)}catch(c){return e(b)}}},{"./atob":1}],3:[function(a,b,c){"use strict";function d(a){this.message=a}var e=a("./base64_url_decode");d.prototype=new Error,d.prototype.name="InvalidTokenError",b.exports=function(a,b){if("string"!=typeof a)throw new d("Invalid token specified");b=b||{};var c=b.header===!0?0:1;try{return JSON.parse(e(a.split(".")[c]))}catch(f){throw new d("Invalid token specified: "+f.message)}},b.exports.InvalidTokenError=d},{"./base64_url_decode":2}],4:[function(a,b,c){(function(b){var c=a("./lib/index");"function"==typeof b.window.define&&b.window.define.amd?b.window.define("jwt_decode",function(){return c}):b.window&&(b.window.jwt_decode=c)}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"./lib/index":3}]},{},[4]);
</script>
<script>
/**
* Extract a query parameter value from browser's URL.
*/
function getQueryParameterByName(parameterName) {
var url = window.location.href;
var name = parameterName.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)");
var results = regex.exec(url);
if (!results)
return null;
if (!results[2])
return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
var request = new XMLHttpRequest();
let cacheRemover = new Date().getTime();
request.open('GET', '/config.json?' + cacheRemover, false);
request.send(null);
if (request.status === 200) {
var config = JSON.parse(request.responseText);
// read production flag in config JSON, if set to false (local development) show lock instead redirecting
if(config.production){
var access_token = getQueryParameterByName('access_token');
var token = access_token || localStorage.getItem('id_token');
if(token === 'null' || token == null){
// if no token present redirect to login page
window.location.href = config.loginUrl;
}else{
// check if token is in valid format
try {
var parsedToken = jwt_decode(token);