CloudFront
tcp/80
VeevaSystems
tcp/443
Open service 18.173.154.122:80 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 04:06:36 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 a29f8f45a0707c5c9e054636ff51dce8.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: Q6BTx0lZxc04O-HbAHsGrYHm42Fu4JPLCNHlwfIaNpX7I5Pp9be85A== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.122:443 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Mon, 12 Jan 2026 04:06:36 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-aRDPwhm9z-Hzl4t79nCpFoB9avYg4xjRbdbydshhPe8' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 f4ef6af6f595152791fb5c57054106ea.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: Zhh1ZIMYsk8AoDxWgfEHKqob66xOJSzRk9iq8G6d8Vq86YAx8JrKDQ==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"a88e6015-afeb-43f2-afe7-ae559ceb9521"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="aRDPwhm9z-Hzl4t79nCpFoB9avYg4xjRbdbydshhPe8" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.55:443 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Mon, 12 Jan 2026 04:06:36 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-ltVsCk5OoJ_hQBnSp07iV6CFFkMxQ588WgzRfFw8wwo' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 3721bbb571fa1179150d81f8194461ae.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: _cjlf3nv8kqjDYjobzipUDfraK4m7rVCzWwfrk5CyErLtoH9Y_EoaQ==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"9afbc548-62fb-4ef3-b793-8bd77b5b8878"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="ltVsCk5OoJ_hQBnSp07iV6CFFkMxQ588WgzRfFw8wwo" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.55:80 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 04:06:35 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 fd4a06b35c482e680f7f3fd9baaa0090.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: wTtHpz28hTkjfYBZsHCZL8PqmCOGu1o25eT9pj3ecIwFOhQulAPFJg== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.61:443 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Mon, 12 Jan 2026 04:06:36 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-35EKIbdUyJ2mSxPiE1Z2oXGXvyWstCPqviQRKaUTklg' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 d11d7fba872e54649066e59f703ad3e6.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: FfxgB2897_XAtBxGzKEY_IbyB2Os1mahNKrskPuVOeG2mXH1NtD5Cg==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"6d6bce48-137c-4c9f-9ff8-5a26c2c9c41a"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="35EKIbdUyJ2mSxPiE1Z2oXGXvyWstCPqviQRKaUTklg" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.19:80 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 04:06:35 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 918459d66ab0cca4258acacb6d3f6edc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: nscwmg4fHphMWeKbOXoSLsuSK801JAz-EzV5yqGqER5zSguNVWB85w== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.19:443 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Mon, 12 Jan 2026 04:06:36 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-t8hy2FQRf_sU0cxv701XXpZWnEyjVyGqb45DL9FWrcg' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 cb7ecd2473bf95a71af8d1ff8d1034fa.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: DhbC5PJ-FnrY2Wv12CTcS0HVNcsF7Aez2CXgdFHrbv_jt96Syi0WyA==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"1cb93e69-b2e2-413a-82ae-93a10043bbd4"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="t8hy2FQRf_sU0cxv701XXpZWnEyjVyGqb45DL9FWrcg" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.61:80 · veevaconnectdev.com
2026-01-12 04:06
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Mon, 12 Jan 2026 04:06:35 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 129b4a1f09d5313624ec15fced944d6e.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: tIQUZt9MQw2Yg8mkw-PdZbZnRIRmms6vnfvtYVN_BHK8GiaDwDT3Sg== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.61:80 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 00:24:04 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 3721bbb571fa1179150d81f8194461ae.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: ebwuAtbC7vOfwJ8JOL072PHfC-F1OxrR7TgTU6BxT9lJlb0U7M-z2A== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.61:443 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Wed, 07 Jan 2026 00:24:04 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-tD41F64b0Wx9dkKM1Apca6tjv6pIZEmbtaUDuPhorvs' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 3346ad1679ff01fe81e117084323b814.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: On823rwa7tHkL-0bPEmAd0xiwaMp8k-aLfsLH5J1q1E5tEhn1FEBuA==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"091f38a4-0d55-47f7-bc91-3764f18274f6"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="tD41F64b0Wx9dkKM1Apca6tjv6pIZEmbtaUDuPhorvs" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.55:443 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Wed, 07 Jan 2026 00:24:04 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce--JpdH-BeMJddfvFVFt9Ux_ShLebDO-swijlaOLnicvE' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 d45f06116647d4cd21c9ad69cb1b14fc.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: 7nwXpYYKrEJ2UD4y-RVax-uNlyU9d5K5R-lrRMVI0kwW6YRH4kuqfw==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"0aa2a6a6-9dab-4179-bb93-3a3a4897fa17"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="-JpdH-BeMJddfvFVFt9Ux_ShLebDO-swijlaOLnicvE" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.19:443 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Wed, 07 Jan 2026 00:24:04 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-Z1mg1XVF4_oAszhNtt7IuoMQHnmQUbLVl2VBcc2yGx8' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 a29f8f45a0707c5c9e054636ff51dce8.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: ZnAY24Qzl_GwvQ-kwli3q7dHMgDV36AuEw-0rNFJB9f-Wr9PDGlYqg==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"e47b5f4d-fa1a-41a6-8cef-7cbb74359f58"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="Z1mg1XVF4_oAszhNtt7IuoMQHnmQUbLVl2VBcc2yGx8" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.55:80 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 00:24:04 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 5951b29f5460c0b6d21eb11bce7b8168.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: rL4hMTctb5KJlHVV5gUL6eiwnA_PFlEwx4uWxet4SIishNvW0kzyBQ== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.122:80 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 00:24:03 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 d45f06116647d4cd21c9ad69cb1b14fc.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: apeioHG7Rxr1DATj7jTSOudi86zsA5unnORGad5FdHfuVp9JV6p7Hg== X-Promoted-App-Version: -1 Vary: Origin 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 18.173.154.122:443 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Date: Wed, 07 Jan 2026 00:24:04 GMT
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
Cache-Control: no-store, max_age=0
Content-Security-Policy: object-src 'none'; script-src 'nonce-qrxtXb1-RlVzLcua3WGWFQFIBHdIcs6Msj_EklLbRWo' 'unsafe-inline' 'unsafe-eval' 'strict-dynamic' https: http:; base-uri 'none'; report-uri /csp-reports;
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.css>; rel=preload; as=style
Link: <https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web.js>; rel=preload; as=script; crossorigin=anonymous
Referrer-Policy: strict-origin-when-cross-origin
Server: VeevaSystems
Strict-Transport-Security: max-age=31536000
Vary: Origin, Accept-Encoding
X-Cache: Miss from cloudfront
Via: 1.1 08cfbbb6f1b1bf4bc1e8ab1a071b4154.cloudfront.net (CloudFront)
X-Amz-Cf-Pop: MUC50-P3
Alt-Svc: h3=":443"; ma=86400
X-Amz-Cf-Id: igaGjIDCp7erKIt_deLLtDkl_UWFl2WqvbgU1abZW8HsInd1x0R7Gw==
X-Promoted-App-Version: -1
Vary: Origin
Page title: Veeva Connect
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no, viewport-fit=cover" />
<link rel="apple-touch-icon" sizes="180x180" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/favicon-16x16.png">
<link rel="shortcut icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/favicon.ico" />
<link rel="manifest" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/site.webmanifest">
<link rel="mask-icon" href="https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/web/images/favicons/safari-pinned-tab.svg" color="#F8991C">
<meta name="msapplication-TileColor" content="#F8991C">
<meta name="theme-color" content="#ffffff">
<title>Veeva Connect</title>
</head>
<body>
<div class="main" id="react-main">
</div>
<script id="data/NONCE" type="application/json">"AKjmmx5NkAA"</script>
<script id="data/SESSION" type="application/json">"2e985b98-4d43-4f1a-aa93-586efa684d2c"</script>
<script id="data/API_BASE" type="application/json">"https://green-perf.veevaconnectdev.com"</script>
<script id="data/CDN_BASE" type="application/json">"https://cdn-perf.veevaconnectdev.com/"</script>
<script id="data/STATIC_BASE" type="application/json">"https://vcdev-rel.veevaconnectdev.com/veevaconnect-v1349112/"</script>
<script id="data/VERSION" type="application/json">5797892</script>
<script id="data/AUTH" type="application/json">{}</script>
<script id="data/READONLY_OPS" type="application/json">true</script>
<script id="data/NS" type="application/json">"perf"</script>
<script id="data/GOOGLE_MAPS_KEY" type='application/json'>"AIzaSyAveqGugzGUZQhEt7xxKrF8XfT7y9lwoFs"</script>
<script nonce="qrxtXb1-RlVzLcua3WGWFQFIBHdIcs6Msj_EklLbRWo" type="application/javascript">// events - Event logging
class EventProcessor {
constructor() {
this.events = [];
this.eventTimer = null;
this._api_base = JSON.parse(
document.getElementById("data/API_BASE")?.textContent ?? '""'
);
this._session = JSON.parse(
document.getElementById("data/SESSION")?.textContent ?? '""'
);
// This is duplicated in monitoring.py for server side logging
this._eventNames = {
1: "User",
2: "Search",
4: "Show",
5: "Perf",
6: "Error",
};
this._eventNums = {};
for (var key in this._eventNames) {
this._eventNums[this._eventNames[key]] = key;
}
this.log = window.console.log.bind(window.console);
this.error = window.console.error.bind(window.console);
this.sn = Math.floor(new Date().getTime() / 1000);
}
flushEvents() {
try {
const batch = [];
this.log("flushing events");
window.clearTimeout(this.eventTimer);
this.eventTimer = null;
const events = this.events;
this.events = [];
events.forEach((e) => {
const event = {
ts: e.ts,
sn: this.sn++,
class: e["class"],
detail: e.detail,
name: e.message,
session: this._session,
};
batch.push(event);
});
const params = {
method: "POST",
credentials: "include",
headers: {
"Content-Type": "application/json",
"x-session-id": this._session,
},
};
params.body = JSON.stringify({ events: batch });
return fetch(this._api_base + "/monitor", params).then(() => {
this.log("events logged");
});
} catch (e) {
// we catch all exceptions during flush so we don't recurse through the global exception logger
console.error(e);
}
}
_logEvent(type, event, detail) {
try {
if (typeof detail === typeof "st
Open service 18.173.154.19:80 · veevaconnectdev.com
2026-01-07 00:24
HTTP/1.1 301 Moved Permanently Server: CloudFront Date: Wed, 07 Jan 2026 00:24:04 GMT Content-Type: text/html Content-Length: 167 Connection: close Location: https://veevaconnectdev.com/ X-Cache: Redirect from cloudfront Via: 1.1 3721bbb571fa1179150d81f8194461ae.cloudfront.net (CloudFront) X-Amz-Cf-Pop: MUC50-P3 Alt-Svc: h3=":443"; ma=86400 X-Amz-Cf-Id: 6h89iDafT8kAvvmt2Kmo_Q9Km1DFpgRbnXM7H0kVkDjaicHT_MII4g== X-Promoted-App-Version: -1 Vary: Origin 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>