Heroku
tcp/443
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c8329733f8329733f93b77d9b240ac757bb18cb8317310bd8
Found 10 files trough .DS_Store spidering: /404.html /422.html /blank.png /confirmation.html /favicon.ico /packs /portraits /pulse.svg /spinner.svg /tangrams
.DS_Store” is an abbreviation for “Desktop Services Store”. These files are created automatically by Apples “Finder” software (which is part of their OS).
They store information about the files within a folder, including display options of folders, such as icon positions and view settings.
It may happen that .DS_Store files inadvertently leak filenames such as database backups or private administration panels.
Severity: low
Fingerprint: 5f32cf5d6962f09c8329733f8329733f93b77d9b240ac757bb18cb8317310bd8
Found 10 files trough .DS_Store spidering: /404.html /422.html /blank.png /confirmation.html /favicon.ico /packs /portraits /pulse.svg /spinner.svg /tangrams
Open service 3.33.241.96:443 · development.seneri.net
2026-01-09 23:23
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html; charset=utf-8
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Location: https://seneri.net/
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=jCWOE6XjnODfBFrSNye61cByRGtgy40tInEyzoKqJAY%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1768001022"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=jCWOE6XjnODfBFrSNye61cByRGtgy40tInEyzoKqJAY%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1768001022"
Server: Heroku
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: bb75557a-e1a3-6eb5-29bb-9bbd9ee98bf0
X-Runtime: 0.011260
X-Xss-Protection: 0
Date: Fri, 09 Jan 2026 23:23:42 GMT
Connection: close
Open service 15.197.149.68:443 · seneri.net
2026-01-09 11:46
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 51653
Content-Type: text/html; charset=utf-8
Etag: W/"f5db0c74800b2816e98b4cfe63523090"
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=aK2IYR60DCMB75IONSdcnJF2ijutpt4EP4d2WOYJDjo%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767959167"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=aK2IYR60DCMB75IONSdcnJF2ijutpt4EP4d2WOYJDjo%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767959167"
Server: Heroku
Set-Cookie: logged_in=false; path=/; samesite=lax
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: a5656baa-5f49-df1c-11a2-dd5081bf275d
X-Runtime: 0.150052
X-Xss-Protection: 0
Date: Fri, 09 Jan 2026 11:46:07 GMT
Connection: close
Page title: Products
<style>
.nav-body-flex{
margin-left: 300px;
}
@media screen and (max-width: 480px) {
#app_nav_container {
display: block;
/* other CSS properties for mobile layout */
}
.nav-body-flex{
margin-left: 0px !important;
}
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<style>
.preserve-spacing{
text-align: left !important;
}
.w-webflow-badge {
display: hidden
}
form{
margin-block-end: 0em !important;
}
#app_view_container > div, .container {
min-width: 72% !important;
}
.nav_component{
position: static !important;
}
.sidebar, th{
background-color: #fff !important;
}
body{
height: 100vh;
.container{
display: block !important;}
}
* {
font-family: "Roboto", sans-serif;
}
#filters-label {
font-family: "Roboto", sans-serif;
}
a{
font-family: "Roboto", sans-serif;
}
h5{
font-family: "Roboto", sans-serif;
font-weight: 800 important;
}
p{
font-family: "Roboto", sans-serif;
}
</style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-H2K2BXLP1Q"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-H2K2BXLP1Q');
</script>
<div id = "app_view_container" class = "">
<div id = "app_nav_container" class = "">
</div>
<div id = "app_body_container" class = "">
<script>
// jQuery Compatibility Layer for Webflow
(function() {
// Store references to any existing jQuery plugins we need to preserve
var preservedPlugins = {};
// Check if jQuery exists and preserve important plugins
if (window.jQuery && window.jQuery.fn) {
if (window.jQuery.fn.DataTable) {
preservedPlugins.DataTable = window.jQuery.fn.DataTable;
}
if (window.jQuery.fn.select2) {
preservedPlugins.select2 = window.jQuery.fn.select2;
}
}
// Store the original jQuery version
window.originalJQueryVersion = window.jQuery ? window.jQuery.fn.jquery : null;
// Allow Webflow to load naturally without interference
// Function to restore plugins after Webflow loads
window.restoreApplicationPlugins = function() {
if (window.jQuery && window.jQuery.fn) {
// Restore DataTable if it was lost
if (!window.jQuery.fn.DataTable && preservedPlugins.DataTable) {
window.jQuery.fn.DataTable = preservedPlugins.DataTable;
window.jQuery.fn.dataTable = preservedPlugins.DataTable;
}
// Restore select2 if it was lost
if (!window.jQuery.fn.select2 && preservedPlugins.select2) {
window.jQuery.fn.select2 = preservedPlugins.select2;
}
}
};
// Check periodically if we need to restore plugins
var checkCount = 0;
var checkInterval = setInterval(function() {
checkCount++;
// If jQuery changed, restore plugins
if (window.jQuery && window.jQuery.fn && window.jQuery.fn.jquery !== window.originalJQueryVersion) {
window.restoreApplicationPlugins();
clearInterval(checkInterval);
}
// Stop checking after 5 seconds
if (checkCount > 50) {
clearInterval(checkInterval);
window.restoreApplicationPlugins(); // One final attempt
}
}, 100);
// Also restore after page fully loads
window.addEventListener('load', function() {
setTimeout(window.restoreApplicationPlugins, 1000);
});
})();
</script>
<script defer = "defer">
(function() {
// Clean up any existing Tangram content on Android to prevent accumulation
if (/Android/i.test(navigator.userAgent)) {
// Remove any existing rendered Tangram content
document.querySelectorAll('.tangram-content').forEach(function(element) {
if (element.ha
Open service 15.197.149.68:443 · seneri.net
2026-01-02 03:00
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 51653
Content-Type: text/html; charset=utf-8
Etag: W/"f5db0c74800b2816e98b4cfe63523090"
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=x6LsiwFCUmv0MBv0CAihmPxeUXGOfpO9FKEY3IKPXwI%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767322855"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=x6LsiwFCUmv0MBv0CAihmPxeUXGOfpO9FKEY3IKPXwI%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767322855"
Server: Heroku
Set-Cookie: logged_in=false; path=/; samesite=lax
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: dd8a380e-27a3-4828-87d8-7740e848e0f8
X-Runtime: 0.071216
X-Xss-Protection: 0
Date: Fri, 02 Jan 2026 03:00:55 GMT
Connection: close
Page title: Products
<style>
.nav-body-flex{
margin-left: 300px;
}
@media screen and (max-width: 480px) {
#app_nav_container {
display: block;
/* other CSS properties for mobile layout */
}
.nav-body-flex{
margin-left: 0px !important;
}
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<style>
.preserve-spacing{
text-align: left !important;
}
.w-webflow-badge {
display: hidden
}
form{
margin-block-end: 0em !important;
}
#app_view_container > div, .container {
min-width: 72% !important;
}
.nav_component{
position: static !important;
}
.sidebar, th{
background-color: #fff !important;
}
body{
height: 100vh;
.container{
display: block !important;}
}
* {
font-family: "Roboto", sans-serif;
}
#filters-label {
font-family: "Roboto", sans-serif;
}
a{
font-family: "Roboto", sans-serif;
}
h5{
font-family: "Roboto", sans-serif;
font-weight: 800 important;
}
p{
font-family: "Roboto", sans-serif;
}
</style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-H2K2BXLP1Q"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-H2K2BXLP1Q');
</script>
<div id = "app_view_container" class = "">
<div id = "app_nav_container" class = "">
</div>
<div id = "app_body_container" class = "">
<script>
// jQuery Compatibility Layer for Webflow
(function() {
// Store references to any existing jQuery plugins we need to preserve
var preservedPlugins = {};
// Check if jQuery exists and preserve important plugins
if (window.jQuery && window.jQuery.fn) {
if (window.jQuery.fn.DataTable) {
preservedPlugins.DataTable = window.jQuery.fn.DataTable;
}
if (window.jQuery.fn.select2) {
preservedPlugins.select2 = window.jQuery.fn.select2;
}
}
// Store the original jQuery version
window.originalJQueryVersion = window.jQuery ? window.jQuery.fn.jquery : null;
// Allow Webflow to load naturally without interference
// Function to restore plugins after Webflow loads
window.restoreApplicationPlugins = function() {
if (window.jQuery && window.jQuery.fn) {
// Restore DataTable if it was lost
if (!window.jQuery.fn.DataTable && preservedPlugins.DataTable) {
window.jQuery.fn.DataTable = preservedPlugins.DataTable;
window.jQuery.fn.dataTable = preservedPlugins.DataTable;
}
// Restore select2 if it was lost
if (!window.jQuery.fn.select2 && preservedPlugins.select2) {
window.jQuery.fn.select2 = preservedPlugins.select2;
}
}
};
// Check periodically if we need to restore plugins
var checkCount = 0;
var checkInterval = setInterval(function() {
checkCount++;
// If jQuery changed, restore plugins
if (window.jQuery && window.jQuery.fn && window.jQuery.fn.jquery !== window.originalJQueryVersion) {
window.restoreApplicationPlugins();
clearInterval(checkInterval);
}
// Stop checking after 5 seconds
if (checkCount > 50) {
clearInterval(checkInterval);
window.restoreApplicationPlugins(); // One final attempt
}
}, 100);
// Also restore after page fully loads
window.addEventListener('load', function() {
setTimeout(window.restoreApplicationPlugins, 1000);
});
})();
</script>
<script defer = "defer">
(function() {
// Clean up any existing Tangram content on Android to prevent accumulation
if (/Android/i.test(navigator.userAgent)) {
// Remove any existing rendered Tangram content
document.querySelectorAll('.tangram-content').forEach(function(element) {
if (element.ha
Open service 3.33.241.96:443 · development.seneri.net
2025-12-30 10:41
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html; charset=utf-8
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Location: https://seneri.net/
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=87mnCGV7t2%2F55SrcaE1eWHj5wit%2BxWsisI7S%2B%2BgIuxs%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1767091273"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=87mnCGV7t2%2F55SrcaE1eWHj5wit%2BxWsisI7S%2B%2BgIuxs%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1767091273"
Server: Heroku
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 97a5d449-b7f6-c90f-c7e3-df133be5c334
X-Runtime: 0.020199
X-Xss-Protection: 0
Date: Tue, 30 Dec 2025 10:41:13 GMT
Connection: close
Open service 3.33.241.96:443 · development.seneri.net
2025-12-23 08:09
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html; charset=utf-8
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Location: https://seneri.net/
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=C5G3WYq7wFElVMC6h0BbQ%2FKsqZiq%2BN29cbNsfgSPuTc%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766477343"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=C5G3WYq7wFElVMC6h0BbQ%2FKsqZiq%2BN29cbNsfgSPuTc%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766477343"
Server: Heroku
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: a1dca929-e780-ea0c-051a-f9c604f598fd
X-Runtime: 0.011424
X-Xss-Protection: 0
Date: Tue, 23 Dec 2025 08:09:03 GMT
Connection: close
Open service 15.197.149.68:443 · seneri.net
2025-12-22 18:46
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 51653
Content-Type: text/html; charset=utf-8
Etag: W/"f5db0c74800b2816e98b4cfe63523090"
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=FBeMAClCvZoBe2ycz8IeLhLDeRJcvxY5CdC6DKeo9v8%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766429188"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=FBeMAClCvZoBe2ycz8IeLhLDeRJcvxY5CdC6DKeo9v8%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766429188"
Server: Heroku
Set-Cookie: logged_in=false; path=/; samesite=lax
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 5cd14832-e3f9-1eb7-5a03-c4ea0349a7ab
X-Runtime: 0.088391
X-Xss-Protection: 0
Date: Mon, 22 Dec 2025 18:46:28 GMT
Connection: close
Page title: Products
<style>
.nav-body-flex{
margin-left: 300px;
}
@media screen and (max-width: 480px) {
#app_nav_container {
display: block;
/* other CSS properties for mobile layout */
}
.nav-body-flex{
margin-left: 0px !important;
}
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<style>
.preserve-spacing{
text-align: left !important;
}
.w-webflow-badge {
display: hidden
}
form{
margin-block-end: 0em !important;
}
#app_view_container > div, .container {
min-width: 72% !important;
}
.nav_component{
position: static !important;
}
.sidebar, th{
background-color: #fff !important;
}
body{
height: 100vh;
.container{
display: block !important;}
}
* {
font-family: "Roboto", sans-serif;
}
#filters-label {
font-family: "Roboto", sans-serif;
}
a{
font-family: "Roboto", sans-serif;
}
h5{
font-family: "Roboto", sans-serif;
font-weight: 800 important;
}
p{
font-family: "Roboto", sans-serif;
}
</style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-H2K2BXLP1Q"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-H2K2BXLP1Q');
</script>
<div id = "app_view_container" class = "">
<div id = "app_nav_container" class = "">
</div>
<div id = "app_body_container" class = "">
<script>
// jQuery Compatibility Layer for Webflow
(function() {
// Store references to any existing jQuery plugins we need to preserve
var preservedPlugins = {};
// Check if jQuery exists and preserve important plugins
if (window.jQuery && window.jQuery.fn) {
if (window.jQuery.fn.DataTable) {
preservedPlugins.DataTable = window.jQuery.fn.DataTable;
}
if (window.jQuery.fn.select2) {
preservedPlugins.select2 = window.jQuery.fn.select2;
}
}
// Store the original jQuery version
window.originalJQueryVersion = window.jQuery ? window.jQuery.fn.jquery : null;
// Allow Webflow to load naturally without interference
// Function to restore plugins after Webflow loads
window.restoreApplicationPlugins = function() {
if (window.jQuery && window.jQuery.fn) {
// Restore DataTable if it was lost
if (!window.jQuery.fn.DataTable && preservedPlugins.DataTable) {
window.jQuery.fn.DataTable = preservedPlugins.DataTable;
window.jQuery.fn.dataTable = preservedPlugins.DataTable;
}
// Restore select2 if it was lost
if (!window.jQuery.fn.select2 && preservedPlugins.select2) {
window.jQuery.fn.select2 = preservedPlugins.select2;
}
}
};
// Check periodically if we need to restore plugins
var checkCount = 0;
var checkInterval = setInterval(function() {
checkCount++;
// If jQuery changed, restore plugins
if (window.jQuery && window.jQuery.fn && window.jQuery.fn.jquery !== window.originalJQueryVersion) {
window.restoreApplicationPlugins();
clearInterval(checkInterval);
}
// Stop checking after 5 seconds
if (checkCount > 50) {
clearInterval(checkInterval);
window.restoreApplicationPlugins(); // One final attempt
}
}, 100);
// Also restore after page fully loads
window.addEventListener('load', function() {
setTimeout(window.restoreApplicationPlugins, 1000);
});
})();
</script>
<script defer = "defer">
(function() {
// Clean up any existing Tangram content on Android to prevent accumulation
if (/Android/i.test(navigator.userAgent)) {
// Remove any existing rendered Tangram content
document.querySelectorAll('.tangram-content').forEach(function(element) {
if (element.ha
Open service 3.33.241.96:443 · development.seneri.net
2025-12-21 02:54
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html; charset=utf-8
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Location: https://seneri.net/
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=h5hwRe3Mx8ZehgY2yw8ZOIJQq27HldSOASm%2BHjDXA8M%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766285675"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=h5hwRe3Mx8ZehgY2yw8ZOIJQq27HldSOASm%2BHjDXA8M%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766285675"
Server: Heroku
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 099d42d3-1386-7e89-b26e-697b992c6ac0
X-Runtime: 0.013047
X-Xss-Protection: 0
Date: Sun, 21 Dec 2025 02:54:35 GMT
Connection: close
Open service 15.197.149.68:443 · seneri.net
2025-12-20 21:06
HTTP/1.1 200 OK
Cache-Control: max-age=0, private, must-revalidate
Content-Length: 48416
Content-Type: text/html; charset=utf-8
Etag: W/"c41a22f50d94d701f0a7c7b2f1fc62eb"
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=LkscI%2BBgDeEl%2B76Ro%2BNTxOxzvoIDMWidzD4CQzekljk%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766264781"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=LkscI%2BBgDeEl%2B76Ro%2BNTxOxzvoIDMWidzD4CQzekljk%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766264781"
Server: Heroku
Set-Cookie: logged_in=false; path=/; samesite=lax
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: daafe2b4-6c77-2eff-afac-a15262578a41
X-Runtime: 0.098799
X-Xss-Protection: 0
Date: Sat, 20 Dec 2025 21:06:21 GMT
Connection: close
Page title: Products
<style>
.nav-body-flex{
margin-left: 300px;
}
@media screen and (max-width: 480px) {
#app_nav_container {
display: block;
/* other CSS properties for mobile layout */
}
.nav-body-flex{
margin-left: 0px !important;
}
}
</style>
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap" rel="stylesheet">
<style>
.preserve-spacing{
text-align: left !important;
}
.w-webflow-badge {
display: hidden
}
form{
margin-block-end: 0em !important;
}
#app_view_container > div, .container {
min-width: 72% !important;
}
.nav_component{
position: static !important;
}
.sidebar, th{
background-color: #fff !important;
}
body{
height: 100vh;
.container{
display: block !important;}
}
* {
font-family: "Roboto", sans-serif;
}
#filters-label {
font-family: "Roboto", sans-serif;
}
a{
font-family: "Roboto", sans-serif;
}
h5{
font-family: "Roboto", sans-serif;
font-weight: 800 important;
}
p{
font-family: "Roboto", sans-serif;
}
</style>
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-H2K2BXLP1Q"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-H2K2BXLP1Q');
</script>
<div id = "app_view_container" class = "">
<div id = "app_nav_container" class = "">
</div>
<div id = "app_body_container" class = "">
<script>
// jQuery Compatibility Layer for Webflow
(function() {
// Store references to any existing jQuery plugins we need to preserve
var preservedPlugins = {};
// Check if jQuery exists and preserve important plugins
if (window.jQuery && window.jQuery.fn) {
if (window.jQuery.fn.DataTable) {
preservedPlugins.DataTable = window.jQuery.fn.DataTable;
}
if (window.jQuery.fn.select2) {
preservedPlugins.select2 = window.jQuery.fn.select2;
}
}
// Store the original jQuery version
window.originalJQueryVersion = window.jQuery ? window.jQuery.fn.jquery : null;
// Allow Webflow to load naturally without interference
// Function to restore plugins after Webflow loads
window.restoreApplicationPlugins = function() {
if (window.jQuery && window.jQuery.fn) {
// Restore DataTable if it was lost
if (!window.jQuery.fn.DataTable && preservedPlugins.DataTable) {
window.jQuery.fn.DataTable = preservedPlugins.DataTable;
window.jQuery.fn.dataTable = preservedPlugins.DataTable;
}
// Restore select2 if it was lost
if (!window.jQuery.fn.select2 && preservedPlugins.select2) {
window.jQuery.fn.select2 = preservedPlugins.select2;
}
}
};
// Check periodically if we need to restore plugins
var checkCount = 0;
var checkInterval = setInterval(function() {
checkCount++;
// If jQuery changed, restore plugins
if (window.jQuery && window.jQuery.fn && window.jQuery.fn.jquery !== window.originalJQueryVersion) {
window.restoreApplicationPlugins();
clearInterval(checkInterval);
}
// Stop checking after 5 seconds
if (checkCount > 50) {
clearInterval(checkInterval);
window.restoreApplicationPlugins(); // One final attempt
}
}, 100);
// Also restore after page fully loads
window.addEventListener('load', function() {
setTimeout(window.restoreApplicationPlugins, 1000);
});
})();
</script>
<script defer = "defer">
(function() {
// Clean up any existing Tangram content on Android to prevent accumulation
if (/Android/i.test(navigator.userAgent)) {
// Remove any existing rendered Tangram content
document.querySelectorAll('.tangram-content').forEach(function(element) {
if (element.ha
Open service 3.33.241.96:443 · development.seneri.net
2025-12-19 03:23
HTTP/1.1 301 Moved Permanently
Cache-Control: no-cache
Content-Length: 0
Content-Type: text/html; charset=utf-8
Feature-Policy: geolocation 'self'; camera 'none'; microphone 'none'; usb 'none'; fullscreen 'self'; payment 'self'
Location: https://seneri.net/
Nel: {"report_to":"heroku-nel","response_headers":["Via"],"max_age":3600,"success_fraction":0.01,"failure_fraction":0.1}
Referrer-Policy: strict-origin-when-cross-origin
Report-To: {"group":"heroku-nel","endpoints":[{"url":"https://nel.heroku.com/reports?s=LgJUI257d1B%2BfHh5EtW6W6YQ0bbhTThlQ5XyBlEVY1w%3D\u0026sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6\u0026ts=1766114635"}],"max_age":3600}
Reporting-Endpoints: heroku-nel="https://nel.heroku.com/reports?s=LgJUI257d1B%2BfHh5EtW6W6YQ0bbhTThlQ5XyBlEVY1w%3D&sid=929419e7-33ea-4e2f-85f0-7d8b7cd5cbd6&ts=1766114635"
Server: Heroku
Strict-Transport-Security: max-age=63072000; includeSubDomains
Vary: Accept-Encoding
Via: 1.1 heroku-router
X-Content-Type-Options: nosniff
X-Download-Options: noopen
X-Frame-Options: SAMEORIGIN
X-Permitted-Cross-Domain-Policies: none
X-Request-Id: 2c0a39ae-de6d-073c-23b1-3c9c0036a656
X-Runtime: 0.011212
X-Xss-Protection: 0
Date: Fri, 19 Dec 2025 03:23:55 GMT
Connection: close