Netlify
tcp/443 tcp/80
The following URL (usually /.git/config) is publicly accessible and is leaking source code and repository configuration.
Severity: medium
Fingerprint: 2580fa947178c88602b1737db148c044b81b03713d63bb82370a65226a7d5ed3
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ignorecase = true precomposeunicode = true [remote "origin"] url = git@gitlab.com:andys12358/chartreaderai-comingsoon.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "main"] remote = origin merge = refs/heads/main
Open service 35.157.26.135:443 · chartreader.ai
2026-01-12 19:28
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 3
Cache-Control: public,max-age=0,must-revalidate
Cache-Status: "Netlify Edge"; hit
Content-Length: 17761
Content-Type: text/html; charset=UTF-8
Date: Mon, 12 Jan 2026 19:28:23 GMT
Etag: "a7f1225b879430a3540be3a9cadf9bc6-ssl"
Server: Netlify
Strict-Transport-Security: max-age=31536000
X-Nf-Request-Id: 01KESTWKG011BV7101TADVDCN2
Connection: close
Page title: ChartReader AI - Coming Soon
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChartReader AI - Coming Soon</title>
<!-- Google Fonts for 'Inter' -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700&display=swap" rel="stylesheet">
<style>
/* Global Reset and Box Sizing */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Body and Overall Layout */
body {
font-family: 'Inter', sans-serif;
/* Gradient background from user's new code */
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
overflow: hidden; /* Prevent scrollbars due to animations */
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
position: relative; /* For absolute positioning of loading message */
}
/* Loading message styling */
#loading-message {
position: absolute; /* Center over the canvas */
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #ffffff; /* White text for visibility */
font-size: 1.5rem;
text-align: center;
z-index: 20; /* Ensure it's above other elements */
}
/* SVG container for D3 animation - fills the entire viewport */
#chart-reader-ai-svg {
display: none; /* Hidden until font is loaded and animation starts */
width: 100vw; /* Take full viewport width */
height: 100vh; /* Take full viewport height */
/* Background matches body for seamless integration, or can be transparent */
background-color: transparent;
position: absolute; /* Position to fill screen */
top: 0;
left: 0;
z-index: 10; /* Above background particles, below loading message */
}
/* Swirling particles (from user's new code) */
.bg-particles {
position: fixed;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.4; /* Subtle background */
z-index: 1; /* Lowest layer */
}
.bg-particle {
position: absolute;
background: radial-gradient(circle, rgba(59, 130, 246, 0.6) 0%, transparent 70%);
border-radius: 50%;
animation: swirl 12s infinite ease-in-out;
}
.swirl-particle {
position: absolute;
width: 1px;
height: 1px;
background: rgba(139, 92, 246, 0.8); /* Purple tint for these particles */
border-radius: 50%;
animation: swirlFast 8s infinite linear;
}
@keyframes swirl {
0% {
transform: translateY(0) rotate(0deg) scale(1);
opacity: 0.3;
}
25% {
transform: translateY(-30px) rotate(90deg) scale(1.2);
opacity: 0.6;
}
50% {
transform: translateY(-60px) rotate(180deg) scale(0.8);
opacity: 0.8;
}
75% {
transform: translateY(-30px) rotate(270deg) scale(1.1);
opacity: 0.5;
}
100% {
transform: translateY(0) rotate(360deg) scale(1);
opacity: 0.3;
}
}
@keyframes swirlFast {
0% {
transform: translate(50vw, 50vh) rotate(0deg) translateX(100px) scale(0);
opacity: 0;
}
10% {
opacity: 1;
transform: translate(50vw, 50vh) rotate(36deg) translateX(120px) scale(1);
}
90% {
opacity: 1;
transform: translate(50
Open service 63.176.8.218:80 · chartreader.ai
2026-01-12 19:28
HTTP/1.1 301 Moved Permanently Content-Type: text/plain; charset=utf-8 Date: Mon, 12 Jan 2026 19:28:30 GMT Location: https://chartreader.ai/ Server: Netlify X-Nf-Request-Id: 01KESTWTB9T0B4Z7N7TNJYJB3J Content-Length: 38 Connection: close Redirecting to https://chartreader.ai/
Open service 63.176.8.218:443 · chartreader.ai
2026-01-12 19:28
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 3
Cache-Control: public,max-age=0,must-revalidate
Cache-Status: "Netlify Edge"; hit
Content-Length: 17761
Content-Type: text/html; charset=UTF-8
Date: Mon, 12 Jan 2026 19:28:23 GMT
Etag: "a7f1225b879430a3540be3a9cadf9bc6-ssl"
Server: Netlify
Strict-Transport-Security: max-age=31536000
X-Nf-Request-Id: 01KESTWKF1NVJ0AMBVXXVEBH0V
Connection: close
Page title: ChartReader AI - Coming Soon
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChartReader AI - Coming Soon</title>
<!-- Google Fonts for 'Inter' -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700&display=swap" rel="stylesheet">
<style>
/* Global Reset and Box Sizing */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Body and Overall Layout */
body {
font-family: 'Inter', sans-serif;
/* Gradient background from user's new code */
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
overflow: hidden; /* Prevent scrollbars due to animations */
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
position: relative; /* For absolute positioning of loading message */
}
/* Loading message styling */
#loading-message {
position: absolute; /* Center over the canvas */
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #ffffff; /* White text for visibility */
font-size: 1.5rem;
text-align: center;
z-index: 20; /* Ensure it's above other elements */
}
/* SVG container for D3 animation - fills the entire viewport */
#chart-reader-ai-svg {
display: none; /* Hidden until font is loaded and animation starts */
width: 100vw; /* Take full viewport width */
height: 100vh; /* Take full viewport height */
/* Background matches body for seamless integration, or can be transparent */
background-color: transparent;
position: absolute; /* Position to fill screen */
top: 0;
left: 0;
z-index: 10; /* Above background particles, below loading message */
}
/* Swirling particles (from user's new code) */
.bg-particles {
position: fixed;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.4; /* Subtle background */
z-index: 1; /* Lowest layer */
}
.bg-particle {
position: absolute;
background: radial-gradient(circle, rgba(59, 130, 246, 0.6) 0%, transparent 70%);
border-radius: 50%;
animation: swirl 12s infinite ease-in-out;
}
.swirl-particle {
position: absolute;
width: 1px;
height: 1px;
background: rgba(139, 92, 246, 0.8); /* Purple tint for these particles */
border-radius: 50%;
animation: swirlFast 8s infinite linear;
}
@keyframes swirl {
0% {
transform: translateY(0) rotate(0deg) scale(1);
opacity: 0.3;
}
25% {
transform: translateY(-30px) rotate(90deg) scale(1.2);
opacity: 0.6;
}
50% {
transform: translateY(-60px) rotate(180deg) scale(0.8);
opacity: 0.8;
}
75% {
transform: translateY(-30px) rotate(270deg) scale(1.1);
opacity: 0.5;
}
100% {
transform: translateY(0) rotate(360deg) scale(1);
opacity: 0.3;
}
}
@keyframes swirlFast {
0% {
transform: translate(50vw, 50vh) rotate(0deg) translateX(100px) scale(0);
opacity: 0;
}
10% {
opacity: 1;
transform: translate(50vw, 50vh) rotate(36deg) translateX(120px) scale(1);
}
90% {
opacity: 1;
transform: translate(50
Open service 35.157.26.135:80 · chartreader.ai
2026-01-12 19:28
HTTP/1.1 301 Moved Permanently Content-Type: text/plain; charset=utf-8 Date: Mon, 12 Jan 2026 19:28:30 GMT Location: https://chartreader.ai/ Server: Netlify X-Nf-Request-Id: 01KESTWTFHM6GPC9FVQJHFJ4VT Content-Length: 38 Connection: close Redirecting to https://chartreader.ai/
Open service 63.176.8.218:80 · chartreader.ai
2026-01-04 15:59
HTTP/1.1 301 Moved Permanently Content-Type: text/plain; charset=utf-8 Date: Sun, 04 Jan 2026 15:59:43 GMT Location: https://chartreader.ai/ Server: Netlify X-Nf-Request-Id: 01KE4VRRNWAMK1GGJFCPCJAKD0 Content-Length: 38 Connection: close Redirecting to https://chartreader.ai/
Open service 35.157.26.135:443 · chartreader.ai
2026-01-04 15:59
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 1
Cache-Control: public,max-age=0,must-revalidate
Cache-Status: "Netlify Edge"; hit
Content-Length: 17761
Content-Type: text/html; charset=UTF-8
Date: Sun, 04 Jan 2026 15:59:43 GMT
Etag: "a7f1225b879430a3540be3a9cadf9bc6-ssl"
Server: Netlify
Strict-Transport-Security: max-age=31536000
X-Nf-Request-Id: 01KE4VRRK9R3XX25PZ6N0B63PP
Connection: close
Page title: ChartReader AI - Coming Soon
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChartReader AI - Coming Soon</title>
<!-- Google Fonts for 'Inter' -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700&display=swap" rel="stylesheet">
<style>
/* Global Reset and Box Sizing */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Body and Overall Layout */
body {
font-family: 'Inter', sans-serif;
/* Gradient background from user's new code */
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
overflow: hidden; /* Prevent scrollbars due to animations */
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
position: relative; /* For absolute positioning of loading message */
}
/* Loading message styling */
#loading-message {
position: absolute; /* Center over the canvas */
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #ffffff; /* White text for visibility */
font-size: 1.5rem;
text-align: center;
z-index: 20; /* Ensure it's above other elements */
}
/* SVG container for D3 animation - fills the entire viewport */
#chart-reader-ai-svg {
display: none; /* Hidden until font is loaded and animation starts */
width: 100vw; /* Take full viewport width */
height: 100vh; /* Take full viewport height */
/* Background matches body for seamless integration, or can be transparent */
background-color: transparent;
position: absolute; /* Position to fill screen */
top: 0;
left: 0;
z-index: 10; /* Above background particles, below loading message */
}
/* Swirling particles (from user's new code) */
.bg-particles {
position: fixed;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.4; /* Subtle background */
z-index: 1; /* Lowest layer */
}
.bg-particle {
position: absolute;
background: radial-gradient(circle, rgba(59, 130, 246, 0.6) 0%, transparent 70%);
border-radius: 50%;
animation: swirl 12s infinite ease-in-out;
}
.swirl-particle {
position: absolute;
width: 1px;
height: 1px;
background: rgba(139, 92, 246, 0.8); /* Purple tint for these particles */
border-radius: 50%;
animation: swirlFast 8s infinite linear;
}
@keyframes swirl {
0% {
transform: translateY(0) rotate(0deg) scale(1);
opacity: 0.3;
}
25% {
transform: translateY(-30px) rotate(90deg) scale(1.2);
opacity: 0.6;
}
50% {
transform: translateY(-60px) rotate(180deg) scale(0.8);
opacity: 0.8;
}
75% {
transform: translateY(-30px) rotate(270deg) scale(1.1);
opacity: 0.5;
}
100% {
transform: translateY(0) rotate(360deg) scale(1);
opacity: 0.3;
}
}
@keyframes swirlFast {
0% {
transform: translate(50vw, 50vh) rotate(0deg) translateX(100px) scale(0);
opacity: 0;
}
10% {
opacity: 1;
transform: translate(50vw, 50vh) rotate(36deg) translateX(120px) scale(1);
}
90% {
opacity: 1;
transform: translate(50
Open service 63.176.8.218:443 · chartreader.ai
2026-01-04 15:59
HTTP/1.1 200 OK
Accept-Ranges: bytes
Age: 1
Cache-Control: public,max-age=0,must-revalidate
Cache-Status: "Netlify Edge"; hit
Content-Length: 17761
Content-Type: text/html; charset=UTF-8
Date: Sun, 04 Jan 2026 15:59:43 GMT
Etag: "a7f1225b879430a3540be3a9cadf9bc6-ssl"
Server: Netlify
Strict-Transport-Security: max-age=31536000
X-Nf-Request-Id: 01KE4VRRRCQVA8QS1TQA4XZA88
Connection: close
Page title: ChartReader AI - Coming Soon
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>ChartReader AI - Coming Soon</title>
<!-- Google Fonts for 'Inter' -->
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;700&display=swap" rel="stylesheet">
<style>
/* Global Reset and Box Sizing */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
/* Body and Overall Layout */
body {
font-family: 'Inter', sans-serif;
/* Gradient background from user's new code */
background: linear-gradient(135deg, #1a1a2e 0%, #16213e 50%, #0f3460 100%);
overflow: hidden; /* Prevent scrollbars due to animations */
height: 100vh;
width: 100vw;
display: flex;
align-items: center;
justify-content: center;
position: relative; /* For absolute positioning of loading message */
}
/* Loading message styling */
#loading-message {
position: absolute; /* Center over the canvas */
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #ffffff; /* White text for visibility */
font-size: 1.5rem;
text-align: center;
z-index: 20; /* Ensure it's above other elements */
}
/* SVG container for D3 animation - fills the entire viewport */
#chart-reader-ai-svg {
display: none; /* Hidden until font is loaded and animation starts */
width: 100vw; /* Take full viewport width */
height: 100vh; /* Take full viewport height */
/* Background matches body for seamless integration, or can be transparent */
background-color: transparent;
position: absolute; /* Position to fill screen */
top: 0;
left: 0;
z-index: 10; /* Above background particles, below loading message */
}
/* Swirling particles (from user's new code) */
.bg-particles {
position: fixed;
width: 100%;
height: 100%;
pointer-events: none;
opacity: 0.4; /* Subtle background */
z-index: 1; /* Lowest layer */
}
.bg-particle {
position: absolute;
background: radial-gradient(circle, rgba(59, 130, 246, 0.6) 0%, transparent 70%);
border-radius: 50%;
animation: swirl 12s infinite ease-in-out;
}
.swirl-particle {
position: absolute;
width: 1px;
height: 1px;
background: rgba(139, 92, 246, 0.8); /* Purple tint for these particles */
border-radius: 50%;
animation: swirlFast 8s infinite linear;
}
@keyframes swirl {
0% {
transform: translateY(0) rotate(0deg) scale(1);
opacity: 0.3;
}
25% {
transform: translateY(-30px) rotate(90deg) scale(1.2);
opacity: 0.6;
}
50% {
transform: translateY(-60px) rotate(180deg) scale(0.8);
opacity: 0.8;
}
75% {
transform: translateY(-30px) rotate(270deg) scale(1.1);
opacity: 0.5;
}
100% {
transform: translateY(0) rotate(360deg) scale(1);
opacity: 0.3;
}
}
@keyframes swirlFast {
0% {
transform: translate(50vw, 50vh) rotate(0deg) translateX(100px) scale(0);
opacity: 0;
}
10% {
opacity: 1;
transform: translate(50vw, 50vh) rotate(36deg) translateX(120px) scale(1);
}
90% {
opacity: 1;
transform: translate(50
Open service 35.157.26.135:80 · chartreader.ai
2026-01-04 15:59
HTTP/1.1 301 Moved Permanently Content-Type: text/plain; charset=utf-8 Date: Sun, 04 Jan 2026 15:59:42 GMT Location: https://chartreader.ai/ Server: Netlify X-Nf-Request-Id: 01KE4VRQTH24HKGFFQX1QKZBGB Content-Length: 38 Connection: close Redirecting to https://chartreader.ai/