<!DOCTYPE html>
<html class='' lang='en' prefix='og: https://ogp.me/ns#'>
<head>
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'>
<title>Uptime Monitoring by Better Stack</title>
<meta content='width=device-width,initial-scale=1' name='viewport'>
<link crossorigin='' href='https://cdnjs.betterstack.com' rel='preconnect'>
<link href='https://cdnjs.betterstack.com' rel='dns-prefetch'>
<link crossorigin='' href='https://www.googletagmanager.com' rel='preconnect'>
<link href='https://www.googletagmanager.com' rel='dns-prefetch'>
<link crossorigin='' href='https://forms.hsforms.com' rel='preconnect'>
<link href='https://forms.hsforms.com' rel='dns-prefetch'>
<link crossorigin='' href='https://js.hsforms.net' rel='preconnect'>
<link href='https://js.hsforms.net' rel='dns-prefetch'>
<link crossorigin='' href='https://connect.facebook.net' rel='preconnect'>
<link href='https://connect.facebook.net' rel='dns-prefetch'>
<link crossorigin='' href='https://static.ads-twitter.com' rel='preconnect'>
<link href='https://static.ads-twitter.com' rel='dns-prefetch'>
<link crossorigin='' href='https://bat.bing.com' rel='preconnect'>
<link href='https://bat.bing.com' rel='dns-prefetch'>
<link crossorigin='' href='https://snap.licdn.com' rel='preconnect'>
<link href='https://snap.licdn.com' rel='dns-prefetch'>
<link crossorigin='' href='https://googleads.g.doubleclick.net' rel='preconnect'>
<link href='https://googleads.g.doubleclick.net' rel='dns-prefetch'>
<link crossorigin='' href='https://analytics.twitter.com' rel='preconnect'>
<link href='https://analytics.twitter.com' rel='dns-prefetch'>
<link crossorigin='' href='https://chat-assets.frontapp.com' rel='preconnect'>
<link href='https://chat-assets.frontapp.com' rel='dns-prefetch'>
<link crossorigin='' href='https://t.betterstack.com' rel='preconnect'>
<link href='https://t.betterstack.com' rel='dns-prefetch'>

<link href='/assets/favicon-64296699.png' rel='shortcut icon'>
<meta content='The most reliable uptime monitoring. Get 10 monitors, 10 heartbeats and a status page with 3-minute checks totally FREE.' name='description'>
<meta content='website' property='og:type'>
<meta content='Uptime Monitoring by Better Stack' property='og:title'>
<meta content='The most reliable uptime monitoring. Get 10 monitors, 10 heartbeats and a status page with 3-minute checks totally FREE.' property='og:description'>
<meta content='https://betterstack.com/assets/v2/og_uptime_v3-be776325.jpg' property='og:image'>
<meta content='summary_large_image' property='twitter:card'>
<meta content='betterstackhq' property='twitter:site'>
<meta content='Uptime Monitoring by Better Stack' property='twitter:title'>
<meta content='The most reliable uptime monitoring. Get 10 monitors, 10 heartbeats and a status page with 3-minute checks totally FREE.' property='twitter:description'>
<meta content='https://betterstack.com/assets/v2/og_uptime_v3-be776325.jpg' property='twitter:image'>
<meta content='no-cache' name='turbo-cache-control'>
<link href='https://betterstack.com/uptime' rel='canonical'>
<link href='https://betterstack.com/uptime.md' rel='alternate' type='text/markdown'>
<meta content='https://betterstack.com/uptime' property='og:url'>
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="o0-22c9nruXGETV0jxHAMMUgEwTW54E2IBYk9hMe4wqNNOF1aHNgEnlULQ_jPMTvjjO9LC2rcm_muotvG_a8Bw" />
<meta name="csp-nonce" content="f1633b8bc624d85bba0ecbeefdb9efbb" />
<meta content='marketing.website' name='bs-surface'>


<link rel="preload" href="/static/fonts/Helvetica/HelveticaNowText-Regular-2.1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/static/fonts/Helvetica/HelveticaNowText-Medium-2.1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/static/fonts/Helvetica/HelveticaNowText-Bold-2.1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/static/fonts/Helvetica/HelveticaNowDisplay-Medium-2.1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<link rel="preload" href="/static/fonts/Helvetica/HelveticaNowDisplay-Bold-2.1.woff2" as="font" type="font/woff2" crossorigin="anonymous">
<style>
  @font-face {
    font-family: 'Helvetica Now Text';
    src: local('Helvetica Now Text  Regular'),
      local('HelveticaNowText-Regular'),
      url('/static/fonts/Helvetica/HelveticaNowText-Regular-2.1.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Helvetica Now Text Extended';
    src: url('/static/fonts/Helvetica/HelveticaNowText-Regular-1.0.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+018F, U+0192, U+01F4-01F5, U+01FA-01FF, U+0237, U+0259, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0300-0304, U+0306-0308, U+030A-030C, U+0312-0313, U+0323-0328, U+032E, U+0331, U+0335, U+0337-0338, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2153-215E, U+24FF, U+25A0-25A1, U+25CA-25CB, U+25CF, U+2776-277E, U+2E18, U+F8FF;
  }
</style>
<style>
  @font-face {
    font-family: 'Helvetica Now Text';
    src: local('Helvetica Now Text  Medium'),
      local('HelveticaNowText-Medium'),
      url('/static/fonts/Helvetica/HelveticaNowText-Medium-2.1.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Helvetica Now Text Extended';
    src: url('/static/fonts/Helvetica/HelveticaNowText-Medium-1.0.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+018F, U+0192, U+01F4-01F5, U+01FA-01FF, U+0237, U+0259, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0300-0304, U+0306-0308, U+030A-030C, U+0312-0313, U+0323-0328, U+032E, U+0331, U+0335, U+0337-0338, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2153-215E, U+24FF, U+25A0-25A1, U+25CA-25CB, U+25CF, U+2776-277E, U+2E18, U+F8FF;
  }
</style>
<style>
  @font-face {
    font-family: 'Helvetica Now Text';
    src: local('Helvetica Now Text  Bold'),
      local('HelveticaNowText-Bold'),
      url('/static/fonts/Helvetica/HelveticaNowText-Bold-2.1.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Helvetica Now Text Extended';
    src: url('/static/fonts/Helvetica/HelveticaNowText-Bold-1.0.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+018F, U+0192, U+01F4-01F5, U+01FA-01FF, U+0237, U+0259, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0300-0304, U+0306-0308, U+030A-030C, U+0312-0313, U+0323-0328, U+032E, U+0331, U+0335, U+0337-0338, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2153-215E, U+24FF, U+25A0-25A1, U+25CA-25CB, U+25CF, U+2776-277E, U+2E18, U+F8FF;
  }
</style>
<style>
  @font-face {
    font-family: 'Helvetica Now Display';
    src: local('Helvetica Now Display Medium'),
      local('HelveticaNowDisplay-Medium'),
      url('/static/fonts/Helvetica/HelveticaNowDisplay-Medium-2.1.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Helvetica Now Display Extended';
    src: url('/static/fonts/Helvetica/HelveticaNowDisplay-Medium-1.0.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+018F, U+0192, U+01F4-01F5, U+01FA-01FF, U+0237, U+0259, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0300-0304, U+0306-0308, U+030A-030C, U+0312-0313, U+0323-0328, U+032E, U+0331, U+0335, U+0337-0338, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2153-215E, U+24FF, U+25A0-25A1, U+25CA-25CB, U+25CF, U+2776-277E, U+2E18, U+F8FF;
  }
</style>
<style>
  @font-face {
    font-family: 'Helvetica Now Display';
    src: local('Helvetica Now Display Bold'),
      local('HelveticaNowDisplay-Bold'),
      url('/static/fonts/Helvetica/HelveticaNowDisplay-Bold-2.1.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
  }
  @font-face {
    font-family: 'Helvetica Now Display Extended';
    src: url('/static/fonts/Helvetica/HelveticaNowDisplay-Bold-1.0.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
    unicode-range: U+018F, U+0192, U+01F4-01F5, U+01FA-01FF, U+0237, U+0259, U+02C6-02C7, U+02C9, U+02D8-02DD, U+0300-0304, U+0306-0308, U+030A-030C, U+0312-0313, U+0323-0328, U+032E, U+0331, U+0335, U+0337-0338, U+0394, U+03A9, U+03BC, U+03C0, U+1E80-1E85, U+1EF2-1EF3, U+2153-215E, U+24FF, U+25A0-25A1, U+25CA-25CB, U+25CF, U+2776-277E, U+2E18, U+F8FF;
  }
</style>

<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
// Store pixel IDs and configuration globally
window.trackingConfig = {
  gaId: 'G-9FLKD0MQYY',
  adwordsId: 'AW-10805602682',
  facebookId: '1062799887416376',
  twitterId: 'qbv2s',
  microsoftId: '17516957',
  linkedinId: '8770794',
  redditId: 't2_bywzx23t',
  openaiId: '8F4u2fGW2vBkWMMpukDbgf',
  domains: ["betterstack.com","betterstack.test","betteruptime.com","uptime.betterstack.com","logtail.com","telemetry.betterstack.com","errors.betterstack.com","warehouse.betterstack.com","chat.betterstack.com","rum.betterstack.com"],
  initialized: {
    ga: false,
    facebook: false,
    twitter: false,
    microsoft: false,
    linkedin: false,
    reddit: false,
    openai: false
  }
};


</script>
<script async src='https://www.googletagmanager.com/gtag/js?id=G-9FLKD0MQYY'></script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
// Setup gtag function but don't initialize tracking
window.dataLayer = window.dataLayer || [];
function gtag(){window.dataLayer.push(arguments);}

// Initialize Google Analytics only when consent is granted
function initializeGoogleAnalytics() {
  if (window.trackingConfig.initialized.ga) return;

  gtag('js', new Date());
  gtag('set', 'linker', { 'domains': window.trackingConfig.domains });
  gtag('config', window.trackingConfig.gaId, {
    linker: { domains: window.trackingConfig.domains }
  });
  gtag('config', window.trackingConfig.adwordsId, {
    linker: { domains: window.trackingConfig.domains }
  });

  window.trackingConfig.initialized.ga = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
// Initialize Facebook Pixel only when consent is granted
function initializeFacebookPixel() {
  if (window.trackingConfig.initialized.facebook) return;

  !function(f,b,e,v,n,t){if(f.fbq)return;n=f.fbq=function(){n.callMethod?
  n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;
  n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0;
  t.src=v;(b.head||b.documentElement).appendChild(t)}(window,
  document,'script','https://connect.facebook.net/en_US/fbevents.js');

  fbq('init', window.trackingConfig.facebookId);
  fbq('track', 'PageView');

  window.trackingConfig.initialized.facebook = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
function initializeTwitterPixel() {
  if (window.trackingConfig.initialized.twitter) return;

  !function(e,t,n,s,u){e.twq||(s=e.twq=function(){s.exe?s.exe.apply(s,arguments):s.queue.push(arguments);
  },s.version='1.1',s.queue=[],u=t.createElement(n),u.async=!0,u.src='https://static.ads-twitter.com/uwt.js',
  (t.head||t.documentElement).appendChild(u))}(window,document,'script');

  twq('config', window.trackingConfig.twitterId);
  twq('track','PageView');

  window.trackingConfig.initialized.twitter = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
function initializeMicrosoftAds() {
  if (window.trackingConfig.initialized.microsoft) return;

  !function(e,t,n,a,o){var c,r,m;e[o]=e[o]||[],c=function(){
    // A throw from bat.js's load handler escapes initializeAllTracking's catch
    if(typeof UET==="undefined")return;
    var t={ti:window.trackingConfig.microsoftId};
    t.q=e[o],e[o]=new UET(t),e[o].push("pageLoad")
  },
  (r=t.createElement(n)).src="//bat.bing.com/bat.js",r.async=1,
  r.onload=r.onreadystatechange=function(){
    var e=this.readyState;
    e&&"loaded"!==e&&"complete"!==e||(c(),r.onload=r.onreadystatechange=null)
  },
  m=t.querySelector("[nonce]"),
  m&&r.setAttribute("nonce",m.nonce||m.getAttribute("nonce")),
  (t.head||t.documentElement).appendChild(r)
  }(window,document,"script",0,"uetq");

  window.trackingConfig.initialized.microsoft = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
function initializeLinkedInPixel() {
  if (window.trackingConfig.initialized.linkedin) return;

  _linkedin_partner_id = window.trackingConfig.linkedinId;
  window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || [];
  window._linkedin_data_partner_ids.push(_linkedin_partner_id);

  (function(l) {
    if (!l){
      window.lintrk = function(a,b){window.lintrk.q.push([a,b])};
      window.lintrk.q=[];
    }
    var b = document.createElement("script");
    b.type = "text/javascript";
    b.async = true;
    b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js";
    (document.head || document.documentElement).appendChild(b);
  })(window.lintrk);

  window.trackingConfig.initialized.linkedin = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
function initializeRedditPixel() {
  if (window.trackingConfig.initialized.reddit) return;

  !function(w,d){
    if(!w.rdt){
      var p=w.rdt=function(){
        p.sendEvent?p.sendEvent.apply(p,arguments):p.callQueue.push(arguments)
      };
      p.callQueue=[];
      var t=d.createElement("script");
      t.src="https://www.redditstatic.com/ads/pixel.js",
      t.async=!0;
      (d.head||d.documentElement).appendChild(t)
    }
  }(window,document);

  rdt('init', window.trackingConfig.redditId, {
    "optOut":false,
    "useDecimalCurrencyValues":true
  });
  rdt('track', 'PageVisit');

  window.trackingConfig.initialized.reddit = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
function initializeOpenAIPixel() {
  if (window.trackingConfig.initialized.openai) return;

  (function (w, d, s, u) {
    if (w.oaiq) return;
    var q = function () { q.q.push(arguments); };
    q.q = [];
    w.oaiq = q;
    var js = d.createElement(s);
    js.async = true;
    js.src = u;
    (d.head || d.documentElement).appendChild(js);
  })(window, document, "script", "https://bzrcdn.openai.com/sdk/oaiq.min.js");

  oaiq("init", { pixelId: window.trackingConfig.openaiId });

  window.trackingConfig.initialized.openai = true;
}
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb'>
// Function to initialize all tracking pixels
function initializeAllTracking() {
  // Isolated so one vendor snippet throwing cannot stop the pixels after it from initializing
  [
    initializeGoogleAnalytics,
    initializeFacebookPixel,
    initializeTwitterPixel,
    initializeMicrosoftAds,
    initializeLinkedInPixel,
    initializeRedditPixel,
    initializeOpenAIPixel
  ].forEach(function(initializePixel) {
    try {
      initializePixel();
    } catch (error) {
      // Rethrown out of band so it still reaches error tracking, which loads asynchronously
      setTimeout(function() { throw error; });
    }
  });
}

// Function to check consent and initialize if granted
function checkConsentAndInitialize() {
  // Check for cookie consent
  var consent = document.cookie.match(/cookie_consent=([^;]+)/);

  if (consent && consent[1] === 'accept_all') {
    // Full consent - initialize all tracking
    initializeAllTracking();
  }
}

// Check consent on page load
if (document.readyState === 'loading') {
  document.addEventListener('DOMContentLoaded', checkConsentAndInitialize);
} else {
  checkConsentAndInitialize();
}

// Listen for consent being granted
document.addEventListener('cookie-consent-granted', function(event) {
  if (event.detail.consentType === 'accept_all') {
    initializeAllTracking();
  }
});

// Handle Turbo navigation
document.addEventListener('turbo:load', function() {
  checkConsentAndInitialize();

  // Track page views only if pixels are initialized
  if (window.trackingConfig.initialized.ga && typeof gtag === 'function') {
    gtag('set', 'page_path', location.pathname);
    gtag('event', 'page_view');
  }

  if (window.trackingConfig.initialized.facebook && typeof fbq === 'function') {
    fbq('track', 'PageView');
  }

  if (window.trackingConfig.initialized.twitter && typeof twq === 'function') {
    twq('track','PageView');
  }

  if (window.trackingConfig.initialized.microsoft && typeof uetq !== 'undefined' && window.uetq) {
    uetq.push('event', 'page_view', { 'page_path': location.pathname });
  }

  if (window.trackingConfig.initialized.reddit && typeof rdt === 'function') {
    rdt('track', 'PageVisit');
  }
});

// Remove noscript elements which break DOMParser (keep this as-is)
document.addEventListener('turbo:before-render', function(event) {
  event.detail.newBody.querySelectorAll('noscript').forEach((e) => e.remove());
});
</script>


<link rel="stylesheet" href="https://betterstack.com/assets/betterstack_v2-6ab3c1a1.css" media="all" data-turbo-track="reload" />
<script type="application/javascript" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
//<![CDATA[
// Recovers from the module load failures a fresh page load fixes: hashed bundles gone stale after
// a deploy, and an origin that briefly fails to serve a hashed module.
//
// partials/_javascript_importmap_tags inlines this as a classic script ahead of every module
// script, which is the point of the file: when a module in the entry graph fails to fetch, no
// module in that graph evaluates, so a handler living inside the graph is never installed for the
// very failure it exists to catch. Never import it. Every byte here ships on every page, so keep
// it small.
;(function () {
  // Our CSP nonce is per request, so Turbo sees this tag as a new head script on every visit and
  // re-runs it (Snapshot#copyNewHeadScriptElements). The listeners are on window and outlive the
  // visit, so without this guard they would stack up one set per navigation.
  if (window.bsModuleLoadRecoveryInstalled) return
  window.bsModuleLoadRecoveryInstalled = true

  const RELOAD_FLAG_KEY = 'bs:module-load-reloaded'

  // Each browser words a failed dynamic import differently.
  const isRecoverableMessage = (message) =>
    /Failed to fetch dynamically imported module/i.test(message) || // Chrome
    /error loading dynamically imported module/i.test(message) || // Firefox
    /Importing a module script failed/i.test(message) // Safari

  const reloadOnce = () => {
    try {
      if (window.sessionStorage.getItem(RELOAD_FLAG_KEY) === '1') return
      window.sessionStorage.setItem(RELOAD_FLAG_KEY, '1')
    } catch (_e) {
      // Private browsing or storage disabled: without the flag we cannot bound the reloads
      return
    }

    window.location.reload()
  }

  // A <script type="module"> fires `error` on the element when its graph fails to fetch or parse,
  // and not when the graph throws while executing, so app bugs cannot reach this. Browsers without
  // import map support never resolve our bare specifiers and so always fire it; they get the
  // unsupported-browser alert instead of a reload loop, hence the check.
  const isFailedModuleScript = (target) =>
    target?.tagName === 'SCRIPT' &&
    target.type === 'module' &&
    HTMLScriptElement.supports?.('importmap')

  window.addEventListener('error', (event) => {
    if (isFailedModuleScript(event.target)) {
      reloadOnce()
      return
    }

    if (isRecoverableMessage(event.error?.message ?? event.message ?? '')) reloadOnce()
  }, true)

  window.addEventListener('unhandledrejection', (event) => {
    if (!isRecoverableMessage(event.reason?.message ?? event.reason?.toString?.() ?? '')) return

    // Drop the browser's own "Uncaught (in promise)" reporting since we are handling it by
    // reloading. Error tracking still sees the rejection through its own listener.
    event.preventDefault?.()
    reloadOnce()
  })
})()

//]]>
</script>
<script type="importmap" data-turbo-track="reload" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">{
  "imports": {
    "admin_controllers/article_form_controller": "/assets/admin_controllers/article_form_controller-df8a7916.js",
    "admin_controllers": "/assets/admin_controllers/index-577d86b7.js",
    "admin_controllers/version_remove_controller": "/assets/admin_controllers/version_remove_controller-25fe23d4.js",
    "api/NaturalLanguageParserApi": "/assets/api/NaturalLanguageParserApi-6338d3e0.js",
    "application_controllers/account_settings_controller": "/assets/application_controllers/account_settings_controller-13b3a890.js",
    "application_controllers/command_controller": "/assets/application_controllers/command_controller-0bb2b651.js",
    "application_controllers/command_palette_controller": "/assets/application_controllers/command_palette_controller-c8ef377a.js",
    "application_controllers/command_palette_hierarchy_controller": "/assets/application_controllers/command_palette_hierarchy_controller-471f9137.js",
    "application_controllers/dismissible_onboarding_message_controller": "/assets/application_controllers/dismissible_onboarding_message_controller-51b86556.js",
    "application_controllers/dropdown_controller": "/assets/application_controllers/dropdown_controller-cd5a7d95.js",
    "application_controllers/front_chat_controller": "/assets/application_controllers/front_chat_controller-7f7483ef.js",
    "application_controllers/hotkeys_controller": "/assets/application_controllers/hotkeys_controller-8f7b8a5a.js",
    "application_controllers/incident_grouping_warning_controller": "/assets/application_controllers/incident_grouping_warning_controller-27bd9c43.js",
    "application_controllers": "/assets/application_controllers/index-27c5a1ae.js",
    "application_controllers/input_self_select_controller": "/assets/application_controllers/input_self_select_controller-501017f3.js",
    "application_controllers/marketing_banner_controller": "/assets/application_controllers/marketing_banner_controller-94b92f59.js",
    "application_controllers/marketing_banner_form_controller": "/assets/application_controllers/marketing_banner_form_controller-df791955.js",
    "application_controllers/members/list_actions_controller": "/assets/application_controllers/members/list_actions_controller-63938895.js",
    "application_controllers/menu_controller": "/assets/application_controllers/menu_controller-74d4b11b.js",
    "application_controllers/migration_progress_controller": "/assets/application_controllers/migration_progress_controller-0ed95c40.js",
    "application_controllers/nav_toggle_controller": "/assets/application_controllers/nav_toggle_controller-a05915d3.js",
    "application_controllers/notification_toast_controller": "/assets/application_controllers/notification_toast_controller-9ae0e943.js",
    "application_controllers/notification_toasts_controller": "/assets/application_controllers/notification_toasts_controller-e12edc4a.js",
    "application_controllers/on_call_reminder_channels_controller": "/assets/application_controllers/on_call_reminder_channels_controller-777d2026.js",
    "application_controllers/payment/calculator_controller": "/assets/application_controllers/payment/calculator_controller-f5a8fc97.js",
    "application_controllers/payment/change_plan_controller": "/assets/application_controllers/payment/change_plan_controller-26bedf06.js",
    "application_controllers/payment/enter_card_controller": "/assets/application_controllers/payment/enter_card_controller-c3530ab9.js",
    "application_controllers/payment/plan_controller": "/assets/application_controllers/payment/plan_controller-ed75908a.js",
    "application_controllers/payment/refund_controller": "/assets/application_controllers/payment/refund_controller-40b79f6e.js",
    "application_controllers/plan_product_controller": "/assets/application_controllers/plan_product_controller-12023246.js",
    "application_controllers/plan_product_variable_controller": "/assets/application_controllers/plan_product_variable_controller-9e792f37.js",
    "application_controllers/push_test_alert_controller": "/assets/application_controllers/push_test_alert_controller-b2f40798.js",
    "application_controllers/roles/permission_toggle_controller": "/assets/application_controllers/roles/permission_toggle_controller-06f00cc6.js",
    "application_controllers/search/base_controller": "/assets/application_controllers/search/base_controller-82eb5640.js",
    "application_controllers/single_sign_on/generic_controller": "/assets/application_controllers/single_sign_on/generic_controller-adcfc7a1.js",
    "application_controllers/single_sign_on/okta_controller": "/assets/application_controllers/single_sign_on/okta_controller-a65894de.js",
    "application_controllers/transition_controller": "/assets/application_controllers/transition_controller-55e4e0fc.js",
    "articles/tabs": "/assets/articles/tabs-c42fbc0f.js",
    "articles_controllers/body_controller": "/assets/articles_controllers/body_controller-90c42b4e.js",
    "articles_controllers/code_controller": "/assets/articles_controllers/code_controller-a3b80b9c.js",
    "articles_controllers": "/assets/articles_controllers/index-2a641587.js",
    "articles_controllers/lightbox_controller": "/assets/articles_controllers/lightbox_controller-9e772aad.js",
    "articles_controllers/pill_scroller_controller": "/assets/articles_controllers/pill_scroller_controller-56e6ad4d.js",
    "articles_controllers/preview_diff_controller": "/assets/articles_controllers/preview_diff_controller-2f0f51f6.js",
    "articles_controllers/search_controller": "/assets/articles_controllers/search_controller-6cbf77e4.js",
    "articles_controllers/theme_controller": "/assets/articles_controllers/theme_controller-df419c92.js",
    "articles_controllers/toc_controller": "/assets/articles_controllers/toc_controller-372f9d3c.js",
    "articles_controllers/toggle_controller": "/assets/articles_controllers/toggle_controller-447bdd4f.js",
    "betterstack_v2/carousel": "/assets/betterstack_v2/carousel-9e6623b0.js",
    "betterstack_v2/collapse": "/assets/betterstack_v2/collapse-5e9e0fbd.js",
    "betterstack_v2/gallery": "/assets/betterstack_v2/gallery-989fbe63.js",
    "betterstack_v2/menu": "/assets/betterstack_v2/menu-57c876ee.js",
    "betterstack_v2/search": "/assets/betterstack_v2/search-18938513.js",
    "betterstack_v2/slide": "/assets/betterstack_v2/slide-5dbecfaf.js",
    "betterstack_v2/toggle": "/assets/betterstack_v2/toggle-b0145939.js",
    "betterstack_v2/typeformTracking": "/assets/betterstack_v2/typeformTracking-95d1395a.js",
    "channels": "/assets/channels/index-746bc0ef.js",
    "channels/turbo_betterstack": "/assets/channels/turbo_betterstack-9c9119c4.js",
    "common/aos": "/assets/common/aos-f5c6bb9a.js",
    "common/billing": "/assets/common/billing-f50d8ea9.js",
    "common/console-greeting": "/assets/common/console-greeting-878141d8.js",
    "common/copy": "/assets/common/copy-e9580a10.js",
    "common/data-disable-with-spinner": "/assets/common/data-disable-with-spinner-fd754154.js",
    "common/drag-n-drop": "/assets/common/drag-n-drop-9b7df6f9.js",
    "common/lazy": "/assets/common/lazy-3f5ba6f1.js",
    "common/links": "/assets/common/links-ae98a9e4.js",
    "common/modals": "/assets/common/modals-3906d5a2.js",
    "common/moduleLoadRecovery": "/assets/common/moduleLoadRecovery-524ff3da.js",
    "common/railsSetup": "/assets/common/railsSetup-5ab47ae4.js",
    "common/recaptchaSubmit": "/assets/common/recaptchaSubmit-e4783e18.js",
    "common/side-menu-scroll": "/assets/common/side-menu-scroll-4d201e25.js",
    "common/signupConversions": "/assets/common/signupConversions-f9e02d75.js",
    "common/site_settings_bootstrap": "/assets/common/site_settings_bootstrap-c104a0e6.js",
    "common/site_settings_panel": "/assets/common/site_settings_panel-812b3a51.js",
    "common/stripe": "/assets/common/stripe-ec3b6b4e.js",
    "common/turboCspNonce": "/assets/common/turboCspNonce-05ef9bb5.js",
    "common/turboFrameFetchFallback": "/assets/common/turboFrameFetchFallback-cf96130e.js",
    "common_controllers/auth_controller": "/assets/common_controllers/auth_controller-1dfa41d6.js",
    "common_controllers/careers_roles_controller": "/assets/common_controllers/careers_roles_controller-83a48712.js",
    "common_controllers/carousel_controller": "/assets/common_controllers/carousel_controller-981b577e.js",
    "common_controllers/clipboard_controller": "/assets/common_controllers/clipboard_controller-d6bd31ec.js",
    "common_controllers/cloud_downtime_controller": "/assets/common_controllers/cloud_downtime_controller-d41c242d.js",
    "common_controllers/cloud_fit_controller": "/assets/common_controllers/cloud_fit_controller-2f9024d0.js",
    "common_controllers/cloud_pricing_controller": "/assets/common_controllers/cloud_pricing_controller-5f4f58e2.js",
    "common_controllers/cloud_quota_picker_controller": "/assets/common_controllers/cloud_quota_picker_controller-2f532887.js",
    "common_controllers/collapse_controller": "/assets/common_controllers/collapse_controller-c1e140f6.js",
    "common_controllers/comparison_table_controller": "/assets/common_controllers/comparison_table_controller-132abf18.js",
    "common_controllers/confirm_email_controller": "/assets/common_controllers/confirm_email_controller-190ad0e9.js",
    "common_controllers/copy_controller": "/assets/common_controllers/copy_controller-0638f44f.js",
    "common_controllers/copy_prompt_controller": "/assets/common_controllers/copy_prompt_controller-a705d39f.js",
    "common_controllers/dev_bar_controller": "/assets/common_controllers/dev_bar_controller-8dae09df.js",
    "common_controllers/flash_appear_controller": "/assets/common_controllers/flash_appear_controller-bb83796e.js",
    "common_controllers/header_controller": "/assets/common_controllers/header_controller-a3d9ce2a.js",
    "common_controllers/homepage_hero_controller": "/assets/common_controllers/homepage_hero_controller-43f0e439.js",
    "common_controllers": "/assets/common_controllers/index-48f61257.js",
    "common_controllers/modal_opener_controller": "/assets/common_controllers/modal_opener_controller-0b1595e8.js",
    "common_controllers/oauth_redirect_controller": "/assets/common_controllers/oauth_redirect_controller-b4b35c10.js",
    "common_controllers/oauth_scope_picker_controller": "/assets/common_controllers/oauth_scope_picker_controller-01e79351.js",
    "common_controllers/onboarding/features_controller": "/assets/common_controllers/onboarding/features_controller-38589028.js",
    "common_controllers/onboarding/payment_controller": "/assets/common_controllers/onboarding/payment_controller-d9cacb71.js",
    "common_controllers/onboarding/plan_controller": "/assets/common_controllers/onboarding/plan_controller-74fa6b4a.js",
    "common_controllers/onboarding/telemetry_bundles_controller": "/assets/common_controllers/onboarding/telemetry_bundles_controller-1cf06818.js",
    "common_controllers/onboarding/test_call_controller": "/assets/common_controllers/onboarding/test_call_controller-8b34faf3.js",
    "common_controllers/org_nav_controller": "/assets/common_controllers/org_nav_controller-f6877066.js",
    "common_controllers/org_nav_row_controller": "/assets/common_controllers/org_nav_row_controller-9e8636b8.js",
    "common_controllers/pricing_controller": "/assets/common_controllers/pricing_controller-47fff143.js",
    "common_controllers/recaptcha_controller": "/assets/common_controllers/recaptcha_controller-2efb162d.js",
    "common_controllers/return_to_fragment_controller": "/assets/common_controllers/return_to_fragment_controller-87e98603.js",
    "common_controllers/scroll_into_view_controller": "/assets/common_controllers/scroll_into_view_controller-989870ac.js",
    "common_controllers/side_nav_controller": "/assets/common_controllers/side_nav_controller-b8c260c3.js",
    "common_controllers/signup_controller": "/assets/common_controllers/signup_controller-6234698c.js",
    "common_controllers/status_page_layout_controller": "/assets/common_controllers/status_page_layout_controller-e8e44b26.js",
    "common_controllers/tabs_controller": "/assets/common_controllers/tabs_controller-15f6ffaa.js",
    "common_controllers/timezone_controller": "/assets/common_controllers/timezone_controller-eca05b8f.js",
    "common_controllers/video_modal_controller": "/assets/common_controllers/video_modal_controller-41524ff9.js",
    "common_controllers/warehouse_code_block_controller": "/assets/common_controllers/warehouse_code_block_controller-c2c3abe7.js",
    "components/DatePicker": "/assets/components/DatePicker-949e0f96.js",
    "components/InviteLinkDropdown": "/assets/components/InviteLinkDropdown-35f3fe83.js",
    "components/Modal": "/assets/components/Modal-4b145c81.js",
    "components/NativeSelect": "/assets/components/NativeSelect-cd1f4cb4.js",
    "components/SideNavigation": "/assets/components/SideNavigation-a1dc27bc.js",
    "components/SupportChat": "/assets/components/SupportChat-d1dd8c63.js",
    "components/ThemeSwitcher": "/assets/components/ThemeSwitcher-d50ce36b.js",
    "components/Toasts": "/assets/components/Toasts-ac15198b.js",
    "components/UserMenu": "/assets/components/UserMenu-52940546.js",
    "components/WithSpinner": "/assets/components/WithSpinner-19730ca7.js",
    "components/admin/ArticleLink": "/assets/components/admin/ArticleLink-f0f3c2a4.js",
    "components/admin/ArticlesSelect": "/assets/components/admin/ArticlesSelect-1bfd3e34.js",
    "components/admin/MenuBuilder": "/assets/components/admin/MenuBuilder-c16abd55.js",
    "components/admin/UnpublishedFilter": "/assets/components/admin/UnpublishedFilter-9c020399.js",
    "components/admin/utils/menuTree": "/assets/components/admin/utils/menuTree-56b0d957.js",
    "components/billing/BillableBadge": "/assets/components/billing/BillableBadge-02da648d.js",
    "components/billing/ChangePlans": "/assets/components/billing/ChangePlans-3cc40d22.js",
    "components/billing/FeatureCountSlider": "/assets/components/billing/FeatureCountSlider-e846a678.js",
    "components/billing/PaymentMethodsSelect": "/assets/components/billing/PaymentMethodsSelect-75508d25.js",
    "components/billing/ProductVariables": "/assets/components/billing/ProductVariables-359a003b.js",
    "components/billing/RegionDropdown": "/assets/components/billing/RegionDropdown-1afaf96a.js",
    "components/billing/ResponderSeatsSelector": "/assets/components/billing/ResponderSeatsSelector-de770f60.js",
    "components/billing/UpcomingPlan": "/assets/components/billing/UpcomingPlan-7e6e404d.js",
    "components/charts/BarChart": "/assets/components/charts/BarChart-433ec399.js",
    "components/charts/theme": "/assets/components/charts/theme-c7b0f807.js",
    "components/charts/utils/formatTooltip": "/assets/components/charts/utils/formatTooltip-209a7d5f.js",
    "components/command_palette/CommandPalette": "/assets/components/command_palette/CommandPalette-e1111197.js",
    "components/dev_bar/CopyImpersonateLink": "/assets/components/dev_bar/CopyImpersonateLink-ac5cc00a.js",
    "components/docs/Code": "/assets/components/docs/Code-286028dc.js",
    "components/docs/CodeTab": "/assets/components/docs/CodeTab-a65a976e.js",
    "components/docs/CopyDropdown": "/assets/components/docs/CopyDropdown-4d4698d3.js",
    "components/docs/TokenLoader": "/assets/components/docs/TokenLoader-c39cc5c1.js",
    "components/docs/TokenNotice": "/assets/components/docs/TokenNotice-4eff6585.js",
    "components/docs/TokenPicker": "/assets/components/docs/TokenPicker-c3b3ec17.js",
    "components/forms/AIPromptEditor": "/assets/components/forms/AIPromptEditor-d93d8813.js",
    "components/forms/AuditLogsToggle": "/assets/components/forms/AuditLogsToggle-0af5a9c0.js",
    "components/forms/BasicForm": "/assets/components/forms/BasicForm-a9f858ec.js",
    "components/forms/Collapse": "/assets/components/forms/Collapse-d2b96d60.js",
    "components/forms/CopyOnClick": "/assets/components/forms/CopyOnClick-2747070e.js",
    "components/forms/DataRegionSelect": "/assets/components/forms/DataRegionSelect-6fec5db3.js",
    "components/forms/DotsDropdown": "/assets/components/forms/DotsDropdown-965de662.js",
    "components/forms/DotsDropdownNew": "/assets/components/forms/DotsDropdownNew-0c629056.js",
    "components/forms/Dropdown": "/assets/components/forms/Dropdown-68ba78be.js",
    "components/forms/GatedToggle": "/assets/components/forms/GatedToggle-9a5537f3.js",
    "components/forms/HeadersJson": "/assets/components/forms/HeadersJson-1a0a512a.js",
    "components/forms/HighlightedTextarea": "/assets/components/forms/HighlightedTextarea-50b49322.js",
    "components/forms/HolidayModeForm": "/assets/components/forms/HolidayModeForm-955969f7.js",
    "components/forms/LogoField": "/assets/components/forms/LogoField-f35ad206.js",
    "components/forms/ModalTemplate": "/assets/components/forms/ModalTemplate-a5eb9cd7.js",
    "components/forms/MultiplyingInput": "/assets/components/forms/MultiplyingInput-92ae04d5.js",
    "components/forms/Select": "/assets/components/forms/Select-ebf4d3dc.js",
    "components/forms/SelectWithSearch": "/assets/components/forms/SelectWithSearch-3b92cbec.js",
    "components/forms/SessionsForm": "/assets/components/forms/SessionsForm-7dff6538.js",
    "components/forms/Slider": "/assets/components/forms/Slider-d2c532b7.js",
    "components/forms/Spinner": "/assets/components/forms/Spinner-b7c5b935.js",
    "components/forms/TimezoneSelect": "/assets/components/forms/TimezoneSelect-aa7e8825.js",
    "components/forms/Toggle": "/assets/components/forms/Toggle-cf1a8471.js",
    "components/forms/Tooltip": "/assets/components/forms/Tooltip-53948345.js",
    "components/forms/uppyLoader": "/assets/components/forms/uppyLoader-16803d05.js",
    "components": "/assets/components/index-3422279b.js",
    "components/monaco/editor": "/assets/components/monaco/editor-0590c3fb.js",
    "components/notifications/Dropdown": "/assets/components/notifications/Dropdown-bf934f75.js",
    "components/notifications/Item": "/assets/components/notifications/Item-7afd7ae7.js",
    "components/notifications/actions": "/assets/components/notifications/actions-ac42dea3.js",
    "components/notifications/streamedItems": "/assets/components/notifications/streamedItems-ce84e872.js",
    "components/onboarding/PhonePrefixSelect": "/assets/components/onboarding/PhonePrefixSelect-43778322.js",
    "components/roles/CollectorPermissions": "/assets/components/roles/CollectorPermissions-82782e87.js",
    "components/roles/IntegrationPermissions": "/assets/components/roles/IntegrationPermissions-6415e6dc.js",
    "components/roles/ResourceGroupPermissions": "/assets/components/roles/ResourceGroupPermissions-3f393e0b.js",
    "components/roles/ServicePermissions": "/assets/components/roles/ServicePermissions-fd8b095e.js",
    "components/sessions/EmailPrompt": "/assets/components/sessions/EmailPrompt-75b5fafa.js",
    "components/shared/DatePickerRangeSelector": "/assets/components/shared/DatePickerRangeSelector-99c9cbab.js",
    "components/shared/DateRangeSelector": "/assets/components/shared/DateRangeSelector-efc61e8e.js",
    "components/stores/DocsStore": "/assets/components/stores/DocsStore-c8c1ec8b.js",
    "components/stores/MainStore": "/assets/components/stores/MainStore-70291892.js",
    "components/stores/RegionStore": "/assets/components/stores/RegionStore-b2ff0da4.js",
    "components/stores/ToastStore": "/assets/components/stores/ToastStore-85ec6bb2.js",
    "components/stores/UsageStore": "/assets/components/stores/UsageStore-e5373bc1.js",
    "components/stores/index": "/assets/components/stores/index-feac8304.js",
    "components/usage/Chart": "/assets/components/usage/Chart-31fe5cf2.js",
    "components/usage/CloudAllowance": "/assets/components/usage/CloudAllowance-0ed6bd53.js",
    "components/usage/CloudTable": "/assets/components/usage/CloudTable-68c24a4e.js",
    "components/usage/DateRangeSelector": "/assets/components/usage/DateRangeSelector-b5a36521.js",
    "components/usage/DimensionTab": "/assets/components/usage/DimensionTab-0b1dc5fb.js",
    "components/usage/ProductLink": "/assets/components/usage/ProductLink-ec5cf186.js",
    "components/usage/ResolutionSelector": "/assets/components/usage/ResolutionSelector-679dded4.js",
    "components/usage/Table": "/assets/components/usage/Table-f18f2a07.js",
    "composables/useCollapseHeight": "/assets/composables/useCollapseHeight-9d34f482.js",
    "composables/useCommand": "/assets/composables/useCommand-54188fbb.js",
    "composables/useHotkey": "/assets/composables/useHotkey-1b637420.js",
    "composables/useTheme": "/assets/composables/useTheme-4aeb28da.js",
    "entrypoints/admin_articles": "/assets/entrypoints/admin_articles-5afb028d.js",
    "entrypoints/application": "/assets/entrypoints/application-bde5aa0d.js",
    "entrypoints/articles": "/assets/entrypoints/articles-8493a2b0.js",
    "entrypoints/auth": "/assets/entrypoints/auth-420d62af.js",
    "entrypoints/betterstack_v2": "/assets/entrypoints/betterstack_v2-5b1213a7.js",
    "entrypoints/front": "/assets/entrypoints/front-027ace13.js",
    "entrypoints/logtail": "/assets/entrypoints/logtail-1a871854.js",
    "entrypoints/mobile": "/assets/entrypoints/mobile-26886af7.js",
    "entrypoints/onboarding": "/assets/entrypoints/onboarding-bc97beb4.js",
    "entrypoints/playwright": "/assets/entrypoints/playwright-edccfe8b.js",
    "entrypoints/uptime": "/assets/entrypoints/uptime-dbe508ae.js",
    "front/contacts": "/assets/front/contacts-488d79af.js",
    "front/externalLinks": "/assets/front/externalLinks-63ea793c.js",
    "front/router": "/assets/front/router-8bcd5a54.js",
    "logtail_controllers": "/assets/logtail_controllers/index-abb89f05.js",
    "logtail_controllers/plans_controller": "/assets/logtail_controllers/plans_controller-153fac3c.js",
    "mixins/withAbortController": "/assets/mixins/withAbortController-8adee905.js",
    "mixins/withLiveBlanketPermission": "/assets/mixins/withLiveBlanketPermission-9695e8db.js",
    "mobile/turbo-error-handler": "/assets/mobile/turbo-error-handler-ae0d058e.js",
    "mobile_controllers/ButtonBridgeComponent": "/assets/mobile_controllers/ButtonBridgeComponent-c7a2bc9e.js",
    "mobile_controllers/EventBridgeComponent": "/assets/mobile_controllers/EventBridgeComponent-4014e59a.js",
    "mobile_controllers": "/assets/mobile_controllers/index-28e58582.js",
    "mobile_controllers/otp_entry_controller": "/assets/mobile_controllers/otp_entry_controller-28d11d45.js",
    "routes": "/assets/routes-96a71273.js",
    "services/ClipboardService": "/assets/services/ClipboardService-2e240c3d.js",
    "services/ModalManager": "/assets/services/ModalManager-1b69d01c.js",
    "services/ThemeSwitcher": "/assets/services/ThemeSwitcher-f4023b19.js",
    "services/WebStorageService": "/assets/services/WebStorageService-96eacd27.js",
    "services/command_palette/CommandContext": "/assets/services/command_palette/CommandContext-61b0e09e.js",
    "services/command_palette/CommandIndexWorker": "/assets/services/command_palette/CommandIndexWorker-cc243845.js",
    "services/command_palette/CommandSearch": "/assets/services/command_palette/CommandSearch-e56061fc.js",
    "services/command_palette/Commands": "/assets/services/command_palette/Commands-5acb5990.js",
    "services/command_palette/CommandsManager": "/assets/services/command_palette/CommandsManager-cc3b43ed.js",
    "services/command_palette/HotkeyManager": "/assets/services/command_palette/HotkeyManager-c7aac698.js",
    "timezones": "/assets/timezones-b5c63d65.js",
    "uptime_controllers": "/assets/uptime_controllers/index-ea83dbdd.js",
    "uptime_controllers/plans_controller": "/assets/uptime_controllers/plans_controller-275e54b2.js",
    "utils/RangeTimestamp": "/assets/utils/RangeTimestamp-5d741097.js",
    "utils/RelativeTimestamp": "/assets/utils/RelativeTimestamp-4aceda0e.js",
    "utils/authToken": "/assets/utils/authToken-30ca03f3.js",
    "utils/cardBrands": "/assets/utils/cardBrands-4e01a21a.js",
    "utils/chartTooltipPosition": "/assets/utils/chartTooltipPosition-223d8a7b.js",
    "utils/date": "/assets/utils/date-794b3d38.js",
    "utils/escapeHtml": "/assets/utils/escapeHtml-f15449de.js",
    "utils/externalRoutes": "/assets/utils/externalRoutes-3f77f06a.js",
    "utils/fetchJson": "/assets/utils/fetchJson-d5204866.js",
    "utils/formatters": "/assets/utils/formatters-26f3f8d4.js",
    "utils/highlight": "/assets/utils/highlight-1975cdab.js",
    "utils/holidayEnd": "/assets/utils/holidayEnd-682fbd36.js",
    "utils/hotkeyLabel": "/assets/utils/hotkeyLabel-957a7ffb.js",
    "utils/importmap": "/assets/utils/importmap-2cb6bb64.js",
    "utils/incidents/prompt_variables": "/assets/utils/incidents/prompt_variables-7e3382de.js",
    "utils/isTouchDevice": "/assets/utils/isTouchDevice-ef97088e.js",
    "utils/levenshtein": "/assets/utils/levenshtein-a23ae51b.js",
    "utils/loadScript": "/assets/utils/loadScript-b2fe518e.js",
    "utils/miniBindVueApp": "/assets/utils/miniBindVueApp-61f228cf.js",
    "utils/mountVueApp": "/assets/utils/mountVueApp-7622d9ce.js",
    "utils/naturalLanguageTimeParser": "/assets/utils/naturalLanguageTimeParser-ecfa0c29.js",
    "utils/permissions": "/assets/utils/permissions-60f6a799.js",
    "utils/platformDetection": "/assets/utils/platformDetection-ab98f3d1.js",
    "utils/platforms": "/assets/utils/platforms-ccabdec6.js",
    "utils/queryParams": "/assets/utils/queryParams-18ae7afd.js",
    "utils/rebindComponents": "/assets/utils/rebindComponents-b92676e4.js",
    "utils/responderRoleNote": "/assets/utils/responderRoleNote-d2b071b1.js",
    "utils/stripFallthroughAttributes": "/assets/utils/stripFallthroughAttributes-698b4f73.js",
    "utils/timeago": "/assets/utils/timeago-d754ee58.js",
    "utils/timestampToDayjs": "/assets/utils/timestampToDayjs-ec6d48be.js",
    "utils/timezone": "/assets/utils/timezone-92745f8d.js",
    "utils/timezoneCities": "/assets/utils/timezoneCities-ddaa5a1c.js",
    "utils/timezoneOptions": "/assets/utils/timezoneOptions-1d9f37e7.js",
    "utils/vueProps": "/assets/utils/vueProps-a58a1369.js",
    "vendor/aos@2.3.4": "/assets/vendor/aos@2.3.4-516f027d.js",
    "vendor/cuid@2.1.8": "/assets/vendor/cuid@2.1.8-da32fb7d.js",
    "vendor/domurl@2.3.4": "/assets/vendor/domurl@2.3.4-4f2f3541.js",
    "vendor/floating-vue@5.2.0": "/assets/vendor/floating-vue@5.2.0-577e3eb1.js",
    "vendor/frontapp-ui-bridge@2.0.0-beta1": "/assets/vendor/frontapp-ui-bridge@2.0.0-beta1-60e5015b.js",
    "vendor/mime-match@1.0.2": "/assets/vendor/mime-match@1.0.2-d4882d07.js",
    "vendor/monaco-editor-markdown@0.52.2": "/assets/vendor/monaco-editor-markdown@0.52.2-0245f0a5.js",
    "vendor/monaco-editor-worker@0.52.2": "/assets/vendor/monaco-editor-worker@0.52.2-022da1df.js",
    "vendor/monaco-editor@0.52.2": "/assets/vendor/monaco-editor@0.52.2-55952c28.js",
    "vendor/namespace-emitter@2.0.1": "/assets/vendor/namespace-emitter@2.0.1-2dc3d975.js",
    "vendor/pinia@3.0.0": "/assets/vendor/pinia@3.0.0-6bc36112.js",
    "vendor/pinia@3.0.0.prod": "/assets/vendor/pinia@3.0.0.prod-dc83e9f4.js",
    "vendor/primevue@4.0.7": "/assets/vendor/primevue@4.0.7-92d8ca1f.js",
    "vendor/sentry-vue@10.30.0": "/assets/vendor/sentry-vue@10.30.0-41c96982.js",
    "vendor/transloadit-prettier-bytes@0.0.9": "/assets/vendor/transloadit-prettier-bytes@0.0.9-54cf75df.js",
    "vendor/turbo-rails@8.0.4": "/assets/vendor/turbo-rails@8.0.4-40d5bb50.js",
    "vendor/vueform-multiselect@2.6.10": "/assets/vendor/vueform-multiselect@2.6.10-ec29cd25.js",
    "vendor/wildcard@1.1.2": "/assets/vendor/wildcard@1.1.2-e197d4f1.js",
    "vue": "https://cdnjs.betterstack.com/vue@3.5.13/dist/vue.esm-browser.prod.js",
    "pinia": "/assets/vendor/pinia@3.0.0.prod-dc83e9f4.js",
    "vue-turbolinks": "https://cdnjs.betterstack.com/vue-turbolinks@2.2.2/index.js",
    "@sentry/vue": "/assets/vendor/sentry-vue@10.30.0-41c96982.js",
    "@headlessui/vue": "https://cdnjs.betterstack.com/@headlessui/vue@1.7.4/dist/headlessui.esm.js",
    "primevue": "/assets/vendor/primevue@4.0.7-92d8ca1f.js",
    "vueform-multiselect": "/assets/vendor/vueform-multiselect@2.6.10-ec29cd25.js",
    "vueform-slider": "https://cdnjs.betterstack.com/@vueform/slider@2.1.10/dist/slider.js",
    "@hotwired/stimulus": "/assets/stimulus.min-5ea87a62.js",
    "@hotwired/stimulus-loading": "/assets/stimulus-loading-449f59d0.js",
    "@hotwired/turbo-rails": "/assets/vendor/turbo-rails@8.0.4-40d5bb50.js",
    "@hotwired/hotwire-native-bridge": "https://cdnjs.betterstack.com/@hotwired/hotwire-native-bridge@1.2.2/dist/hotwire-native-bridge.js",
    "@rails/actioncable": "https://cdnjs.betterstack.com/@rails/actioncable@8.0/app/assets/javascripts/actioncable.esm.js",
    "@rails/activestorage": "https://cdnjs.betterstack.com/@rails/activestorage@8.0/app/assets/javascripts/activestorage.js",
    "js-cookie": "https://cdnjs.betterstack.com/js-cookie@3.0.7/dist/js.cookie.min.mjs",
    "lazysizes": "https://cdnjs.betterstack.com/lazysizes@5.3.2/lazysizes.min.js",
    "el-transition": "https://cdnjs.betterstack.com/el-transition@0.0.7/index.js",
    "dayjs": "https://cdnjs.betterstack.com/dayjs@1.11.7/esm/index.js",
    "dayjs/": "https://cdnjs.betterstack.com/dayjs@1.11.7/esm/",
    "dayjs/plugin/quarterOfYear.js": "https://cdnjs.betterstack.com/dayjs@1.11.7/esm/plugin/quarterOfYear/index.js",
    "dayjs/plugin/timezone.js": "https://cdnjs.betterstack.com/dayjs@1.11.7/esm/plugin/timezone/index.js",
    "dayjs/plugin/utc.js": "https://cdnjs.betterstack.com/dayjs@1.11.7/esm/plugin/utc/index.js",
    "underscore/": "https://cdnjs.betterstack.com/underscore@1.13.8/modules/",
    "nanoevents": "https://cdnjs.betterstack.com/nanoevents@7.0.1/index.js",
    "decimal": "https://cdnjs.betterstack.com/decimal.js@10.4.3/decimal.mjs",
    "lodash/": "https://cdnjs.betterstack.com/lodash-es@4.18.1/",
    "lodash.throttle": "https://cdnjs.betterstack.com/lodash-es@4.18.1/throttle",
    "aos": "/assets/vendor/aos@2.3.4-516f027d.js",
    "domurl": "/assets/vendor/domurl@2.3.4-4f2f3541.js",
    "@floating-ui/dom": "https://cdnjs.betterstack.com/@floating-ui/dom@1.4.4/dist/floating-ui.dom.browser.min.mjs",
    "@floating-ui/core": "https://cdnjs.betterstack.com/@floating-ui/core@1.3.1/dist/floating-ui.core.browser.min.mjs",
    "floating-vue": "/assets/vendor/floating-vue@5.2.0-577e3eb1.js",
    "overtype": "https://cdnjs.betterstack.com/overtype@1.2.4/dist/overtype.min.js",
    "echarts": "https://cdnjs.betterstack.com/echarts@5.4.0/dist/echarts.esm.min.js",
    "echarts/core": "https://cdnjs.betterstack.com/echarts@5.4.0/dist/echarts.esm.min.js",
    "vue-echarts": "https://cdnjs.betterstack.com/vue-echarts@6.6.1/dist/index.esm.min.js",
    "resize-detector": "https://cdnjs.betterstack.com/resize-detector@0.3.0/esm/index.js",
    "vue-demi": "https://cdnjs.betterstack.com/vue-demi@0.14.10/lib/index.mjs",
    "@uppy/aws-s3": "https://cdnjs.betterstack.com/@uppy/aws-s3@3.2.0/lib/index.js",
    "@uppy/aws-s3-multipart": "https://cdnjs.betterstack.com/@uppy/aws-s3-multipart@3.4.0/lib/index.js",
    "@uppy/core": "https://cdnjs.betterstack.com/@uppy/core@3.2.1/lib/index.js",
    "@uppy/core/": "https://cdnjs.betterstack.com/@uppy/core@3.2.1/",
    "@uppy/companion-client": "https://cdnjs.betterstack.com/@uppy/companion-client@3.1.3/lib/index.js",
    "@uppy/utils/": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/",
    "@uppy/utils/lib/AbortController": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/AbortController.js",
    "@uppy/utils/lib/ErrorWithCause": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/ErrorWithCause.js",
    "@uppy/utils/lib/EventManager": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/EventManager.js",
    "@uppy/utils/lib/NetworkError": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/NetworkError.js",
    "@uppy/utils/lib/ProgressTimeout": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/ProgressTimeout.js",
    "@uppy/utils/lib/RateLimitedQueue": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/RateLimitedQueue.js",
    "@uppy/utils/lib/Translator": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/Translator.js",
    "@uppy/utils/lib/emitSocketProgress": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/emitSocketProgress.js",
    "@uppy/utils/lib/fetchWithNetworkError": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/fetchWithNetworkError.js",
    "@uppy/utils/lib/fileFilters": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/fileFilters.js",
    "@uppy/utils/lib/findDOMElement": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/findDOMElement.js",
    "@uppy/utils/lib/generateFileID": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/generateFileID.js",
    "@uppy/utils/lib/getFileNameAndExtension": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/getFileNameAndExtension.js",
    "@uppy/utils/lib/getFileType": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/getFileType.js",
    "@uppy/utils/lib/getSocketHost": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/getSocketHost.js",
    "@uppy/utils/lib/getTextDirection": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/getTextDirection.js",
    "@uppy/utils/lib/getTimeStamp": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/getTimeStamp.js",
    "@uppy/utils/lib/isNetworkError": "https://cdnjs.betterstack.com/@uppy/utils@5.4.0/lib/isNetworkError.js",
    "@uppy/store-default": "https://cdnjs.betterstack.com/@uppy/store-default@3.0.3/lib/index.js",
    "mime-match": "/assets/vendor/mime-match@1.0.2-d4882d07.js",
    "namespace-emitter": "/assets/vendor/namespace-emitter@2.0.1-2dc3d975.js",
    "nanoid/non-secure": "https://cdnjs.betterstack.com/nanoid@4.0.1/non-secure/index.js",
    "preact": "https://cdnjs.betterstack.com/preact@10.11.0/dist/preact.module.js",
    "@transloadit/prettier-bytes": "/assets/vendor/transloadit-prettier-bytes@0.0.9-54cf75df.js",
    "wildcard": "/assets/vendor/wildcard@1.1.2-e197d4f1.js",
    "@frontapp/plugin-sdk": "https://cdnjs.betterstack.com/@frontapp/plugin-sdk@1.0.1/dist/index.es.js",
    "@frontapp/ui-bridge": "/assets/vendor/frontapp-ui-bridge@2.0.0-beta1-60e5015b.js",
    "cuid": "/assets/vendor/cuid@2.1.8-da32fb7d.js",
    "rxjs": "https://cdnjs.betterstack.com/rxjs@^7.4.0/dist/esm/index.js",
    "rxjs/": "https://cdnjs.betterstack.com/rxjs@^7.4.0/dist/esm/",
    "tslib": "https://cdnjs.betterstack.com/tslib@2.3.1/tslib.es6.js",
    "virtua": "https://cdnjs.betterstack.com/virtua@0.39.0/lib/vue/index.mjs",
    "flexsearch": "https://cdnjs.betterstack.com/flexsearch@0.7.43/dist/flexsearch.light.module.min.js",
    "monaco-editor": "/assets/vendor/monaco-editor@0.52.2-55952c28.js",
    "monaco-editor-markdown": "/assets/vendor/monaco-editor-markdown@0.52.2-0245f0a5.js",
    "monaco-editor-worker": "/assets/vendor/monaco-editor-worker@0.52.2-022da1df.js"
  }
}</script>
<link rel="modulepreload" href="https://cdnjs.betterstack.com/vue@3.5.13/dist/vue.esm-browser.prod.js" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
<link rel="modulepreload" href="/assets/vendor/pinia@3.0.0.prod-dc83e9f4.js" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
<link rel="modulepreload" href="https://cdnjs.betterstack.com/vue-turbolinks@2.2.2/index.js" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
<script type="module" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
//<![CDATA[
!function(b,e,t,r){
  b[t]=b[t]||function(...args){(b[t].q=b[t].q||[]).push(args)};
  b[t].l=+new Date;
  var s=e.createElement('script'); s.async=1; s.crossOrigin='anonymous';
  s.src='https://betterstack.net/b.js?t='+r;
  (e.head||e.getElementsByTagName('head')[0]).appendChild(s);
}(window,document,'betterstack','aVNoLWfbToe2t8eM7abofTHL');
// Every app reports into the one Better Stack tag, so tag events with the product they come from.
betterstack('config', { sentry: { initialScope: { tags: { product: 'betterstack' } } } })
betterstack('init', { environment: window.cfg.environment, release: window.cfg.app_version })
function setBetterstackUser() {
  betterstack('user', {
    ...(window.cfg.sentry_user || {}),
    group_id: window.cfg.organization_id,
    group_name: window.cfg.organization_name,
    locale: Intl.NumberFormat().resolvedOptions().locale,
    surface: document.querySelector('meta[name="bs-surface"]')?.content,
  })
}
setBetterstackUser()
// Turbo swaps head metas per visit but doesn't re-run this script; refresh so events carry the current page's surface.
document.addEventListener('turbo:load', setBetterstackUser)


//]]>
</script>
<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb' type='module'>import "common/aos"
import "common/lazy"
import "common/recaptchaSubmit"
import "common/data-disable-with-spinner"
import "common/railsSetup"
import "common/modals"
import "components"
import "common_controllers"

import "betterstack_v2/carousel"
import "betterstack_v2/collapse"
import "betterstack_v2/gallery"
import "betterstack_v2/menu"
import "betterstack_v2/slide"
import "betterstack_v2/toggle"
import "betterstack_v2/search"
import "betterstack_v2/typeformTracking"
import "common/site_settings_bootstrap"
import "common/site_settings_panel"
</script>

</head>
<body class='helvetica bg-[#0B0C14] text-neutral-200'>
<script type="application/javascript" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
//<![CDATA[
window.cfg = {"base_host":"betterstack.com","base_url":"https://betterstack.com","better_stack_url":"https://betterstack.com","uptime_url":"https://incidents.betterstack.com","logtail_url":"https://telemetry.betterstack.com","errors_url":"https://errors.betterstack.com","aisre_url":"https://chat.betterstack.com","rum_url":"https://rum.betterstack.com","cloud_url":"https://cloud.betterstack.com","warehouse_url":"https://warehouse.betterstack.com","controller":"betterstack","action":"uptime_v3","app":"betterstack","environment":"production","app_version":"4c07129c5ba2a5496c563506e2484aa81503faac"};


//]]>
</script>
<div class='main overflow-x-hidden'>
<header class='z-40 top-0 left-0 right-0 flex justify-center helvetica bg-[#0B0C14]/80 fixed before:absolute before:-z-10 before:inset-0 before:backdrop-blur-2xl' data-controller='header' id='navbar'>
<nav class='grow flex justify-between border-b mx-5 max-w-[1110px] h-[52px] text-[13px] leading-[100%] text-[#C9D3EE] border-[#727DA1]/15'>
<div class='flex items-stretch gap-3'>
<a aria-label='Go to homepage' class='flex items-center py-3' href='/'>
<svg width='154' height='21' class='scale-[65%] -mx-6' alt='Better Stack' style='--currentColor: currentColor;'><use href='/assets/v2/better-stack-logo-f5a76de1.svg#root' /></svg>
</a>
<div class='hidden md:flex items-stretch gap-4'>
<button aria-controls='platform-menu' aria-haspopup='menu' class='pl-3 py-3 pr-6 -mr-3 group relative flex items-center'>
<div class='transition group-hover:text-white'>Platform</div>
<span class='absolute right-2 text-[#656A7B]'><svg class='group-hover:rotate-180 transition  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-down-d602e268.svg#root' /></svg></span>
<div class='hidden group-hover:block absolute z-40 top-full left-0 text-left' id='platform-menu' role='menu' tabindex='-1'>
<div class='rounded-lg border backdrop-blur-2xl flex w-[667px] min-[1100px]:w-[950px] xl:w-[1005px] bg-[#181926]/80 border-[#1F2433]/75'>
<div class='grid md:grid-cols-2 w-full min-[1100px]:grid-cols-3'>
<div class='flex-1 py-3 flex flex-col gap-1 border-b md:border-r relative md:pl-[17px] md:pr-[17px] border-[#727DA112] min-[1100px]:border-b-0'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/ai-sre"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='scale-[85%]' style='--currentColor: currentColor;'><use href='/assets/v2/ai-sre-9ed692c8.svg#root' /></svg></span>
<div>
<div class='font-medium'>AI SRE</div>
<div class='mt-1 text-xs text-neutral-200'>Agentic root cause analysis</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/incident-management"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/calendar-f8fa6928.svg#root' /></svg></span>
<div>
<div class='font-medium'>Incident management &amp; on-call</div>
<div class='mt-1 text-xs text-neutral-200'>Move fast when things break</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/status-page"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-1px] left-[2px]' style='--currentColor: currentColor;'><use href='/assets/v2/page-a4cac846.svg#root' /></svg></span>
<div>
<div class='font-medium'>Status page</div>
<div class='mt-1 text-xs text-neutral-200'>Communicate downtime &amp; build trust</div>
</div>
</a>
</div>
<div class='flex-1 py-3 flex flex-col gap-1 border-b relative md:pl-[17px] md:pr-[17px] border-[#727DA112] min-[1100px]:border-b-0 min-[1100px]:border-r'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/tracing"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative' style='--currentColor: currentColor;'><use href='/assets/v2/telescope-bf9dc2b9.svg#root' /></svg></span>
<div>
<div class='font-medium'>Tracing</div>
<div class='mt-1 text-xs text-neutral-200'>eBPF-based OpenTelemetry-native tracing</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/log-management"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/code-insert-dbc41857.svg#root' /></svg></span>
<div>
<div class='font-medium'>Log management</div>
<div class='mt-1 text-xs text-neutral-200'>Collect insights across your stack</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/infrastructure-monitoring"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/server-f03364f4.svg#root' /></svg></span>
<div>
<div class='font-medium'>Infrastructure monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>OpenTelemetry-native infrastructure monitoring</div>
</div>
</a>
</div>
<div class='flex-1 mt-2 md:mt-0 py-3 flex flex-col gap-1 md:pl-[17px] md:pr-5'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/uptime"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/radar-4182d855.svg#root' /></svg></span>
<div>
<div class='font-medium'>Uptime monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>The most reliable uptime monitoring</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/real-user-monitoring"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative' style='--currentColor: currentColor;'><use href='/assets/v2/rum-dbe53d43.svg#root' /></svg></span>
<div>
<div class='font-medium'>Real user monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>Session replay, web vitals &amp; product analytics</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/error-tracking"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative scale-[75%] top-px left-px' style='--currentColor: currentColor;'><use href='/assets/v2/exclamation-circle-de67a698.svg#root' /></svg></span>
<div>
<div class='font-medium'>Error tracking</div>
<div class='mt-1 text-xs text-neutral-200'>AI‑native error tracking built on Better Stack</div>
</div>
</a>
</div>
</div>

</div>
</div>
</button>
<a class='hidden lg:flex p-3 hover:text-white transition items-center' href='https://betterstack.com/docs/'>
<span>Documentation</span>
</a>
<a class='hidden lg:flex p-3 hover:text-white transition items-center' href='/pricing'>
<span>Pricing</span>
</a>
<form action='https://betterstack.com/community' class='m-0 flex items-stretch'>
<button aria-controls='community-menu' aria-haspopup='menu' class='p-3 group relative flex items-center' type='submit'>
<div class='transition group-hover:text-white'>Community</div>
<span class='absolute -right-1 text-[#656A7B]'><svg class='group-hover:rotate-180 transition  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-down-d602e268.svg#root' /></svg></span>
<div class='hidden group-hover:block absolute z-40 top-full left-0 text-left' id='community-menu' role='menu' tabindex='-1'>
<div class='rounded-lg border backdrop-blur-2xl flex flex-col gap-1 w-[174px] p-[6px] bg-[#181926]/80 border-[#1F2433]/75'>
<a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%] md:hidden" href="https://betterstack.com/community"><span class='text-neutral-200'><svg class='mx-[2px]  w-4 h-4 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/users-c09a1e92.svg#root' /></svg></span>
Community home
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/guides"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/guides-fa8300b6.svg#root' /></svg></span>
Guides
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/questions"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/questions-ae0ab73b.svg#root' /></svg></span>
Questions
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/comparisons"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/comparisons-e0f4ca1e.svg#root' /></svg></span>
Comparisons
</a>
</div>
</div>
</button>
</form>
<button aria-controls='company-menu' aria-haspopup='menu' class='p-3 group relative flex items-center'>
<div class='transition group-hover:text-white'>Company</div>
<span class='absolute -right-1 text-[#656A7B]'><svg class='group-hover:rotate-180 transition  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-down-d602e268.svg#root' /></svg></span>
<div class='hidden group-hover:block absolute z-40 top-full left-0 text-left' id='company-menu' role='menu' tabindex='-1'>
<div class='rounded-lg border backdrop-blur-2xl flex flex-col gap-1 w-[190px] p-[6px] bg-[#181926]/80 border-[#1F2433]/75'>
<a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/careers"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/ship-38e68322.svg#root' /></svg></span>
Work at Better Stack
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/careers/engineering"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/code-05597a86.svg#root' /></svg></span>
Engineering
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/security"><span class='text-neutral-200'><svg width='20' height='20' alt='' class='w-5 h-5 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/shield-check-f947ade1.svg#root' /></svg></span>
Security
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/blog"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/blog-0647ef17.svg#root' /></svg></span>
Blog
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/tag/changelog"><span class='text-neutral-200'><svg class='w-5 h-5 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/newspaper-ea89647a.svg#root' /></svg></span>
Changelog
</a>
</div>
</div>
</button>
<a class='hidden lg:flex p-3 hover:text-white transition items-center' href='/enterprise'>
<span>Enterprise</span>
</a>
</div>
</div>
<div class='flex items-center sm:gap-2 whitespace-nowrap -mr-3 md:mr-0'>
<a class="p-2 transition hover:text-white" data-turbo="false" href="/users/sign-in">Sign in</a>
<a class="px-2 h-[27px] flex items-center rounded bg-button-gradient text-white font-medium" data-turbo="false" href="/users/sign-up">Sign up</a>
<button aria-label='Open menu' class='p-2 group relative md:hidden text-neutral-300' id='open-menu'>
<svg class='w-5 h-5 inline' style='--currentColor: currentColor;stroke-width:1.8;'><use href='/assets/icons/heroicons_v2/outline/bars-3-76c83e3d.svg#root' /></svg>
</button>
<button aria-label='Close menu' class='hidden p-2 group relative md:hidden text-neutral-300' id='close-menu'>
<svg class='w-5 h-5 inline' style='--currentColor: currentColor;stroke-width:1.8;'><use href='/assets/icons/heroicons_v2/outline/x-mark-0f864e39.svg#root' /></svg>
</button>
</div>
<div class='hidden md:hidden p-5 fixed z-40 left-0 right-0 backdrop-blur-2xl top-[52px] bg-[#181926]/80 text-[#C9D3EE] max-h-[calc(100dvh-52px)] overflow-y-scroll' id='mobile-menu'>
<div class='js-menu-section flex flex-col gap-1' data-section='root'>
<button class='p-3 group relative flex items-center' data-section='platform'>
Platform
<span class='text-[#656A7B]'><svg class='ml-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg></span>
</button>
<a class="p-3" href="https://betterstack.com/docs/">Documentation</a>
<a class="p-3" href="/pricing">Pricing</a>
<button class='p-3 group relative flex items-center' data-section='community'>
Community
<span class='text-[#656A7B]'><svg class='ml-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg></span>
</button>
<button class='p-3 group relative flex items-center' data-section='company'>
Company
<span class='text-[#656A7B]'><svg class='ml-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg></span>
</button>
<a class="p-3" href="/enterprise">Enterprise</a>
</div>
<div class='js-menu-section hidden' data-section='platform'>
<button class='mb-2 p-3 group relative flex items-center' data-section='root'>
<svg class='mr-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-left-1c3f2e01.svg#root' /></svg>
Back
</button>

<div class='grid md:grid-cols-2 w-full min-[1100px]:grid-cols-3'>
<div class='flex-1 py-3 flex flex-col gap-1 border-b md:border-r relative md:pl-[17px] md:pr-[17px] border-[#727DA112] min-[1100px]:border-b-0'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/ai-sre"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='scale-[85%]' style='--currentColor: currentColor;'><use href='/assets/v2/ai-sre-9ed692c8.svg#root' /></svg></span>
<div>
<div class='font-medium'>AI SRE</div>
<div class='mt-1 text-xs text-neutral-200'>Agentic root cause analysis</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/incident-management"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/calendar-f8fa6928.svg#root' /></svg></span>
<div>
<div class='font-medium'>Incident management &amp; on-call</div>
<div class='mt-1 text-xs text-neutral-200'>Move fast when things break</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/status-page"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-1px] left-[2px]' style='--currentColor: currentColor;'><use href='/assets/v2/page-a4cac846.svg#root' /></svg></span>
<div>
<div class='font-medium'>Status page</div>
<div class='mt-1 text-xs text-neutral-200'>Communicate downtime &amp; build trust</div>
</div>
</a>
</div>
<div class='flex-1 py-3 flex flex-col gap-1 border-b relative md:pl-[17px] md:pr-[17px] border-[#727DA112] min-[1100px]:border-b-0 min-[1100px]:border-r'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/tracing"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative' style='--currentColor: currentColor;'><use href='/assets/v2/telescope-bf9dc2b9.svg#root' /></svg></span>
<div>
<div class='font-medium'>Tracing</div>
<div class='mt-1 text-xs text-neutral-200'>eBPF-based OpenTelemetry-native tracing</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/log-management"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/code-insert-dbc41857.svg#root' /></svg></span>
<div>
<div class='font-medium'>Log management</div>
<div class='mt-1 text-xs text-neutral-200'>Collect insights across your stack</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/infrastructure-monitoring"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/server-f03364f4.svg#root' /></svg></span>
<div>
<div class='font-medium'>Infrastructure monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>OpenTelemetry-native infrastructure monitoring</div>
</div>
</a>
</div>
<div class='flex-1 mt-2 md:mt-0 py-3 flex flex-col gap-1 md:pl-[17px] md:pr-5'>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/uptime"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative top-[-2px] scale-[90%]' style='--currentColor: currentColor;'><use href='/assets/v2/radar-4182d855.svg#root' /></svg></span>
<div>
<div class='font-medium'>Uptime monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>The most reliable uptime monitoring</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/real-user-monitoring"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative' style='--currentColor: currentColor;'><use href='/assets/v2/rum-dbe53d43.svg#root' /></svg></span>
<div>
<div class='font-medium'>Real user monitoring</div>
<div class='mt-1 text-xs text-neutral-200'>Session replay, web vitals &amp; product analytics</div>
</div>
</a>
<a class="block px-2 flex gap-2 transition py-[10px] hover:bg-[#727DA1]/15 rounded leading-[145%]" href="/error-tracking"><span class='text-[#7C87F7]'><svg width='25' height='24' alt='' class='relative scale-[75%] top-px left-px' style='--currentColor: currentColor;'><use href='/assets/v2/exclamation-circle-de67a698.svg#root' /></svg></span>
<div>
<div class='font-medium'>Error tracking</div>
<div class='mt-1 text-xs text-neutral-200'>AI‑native error tracking built on Better Stack</div>
</div>
</a>
</div>
</div>

</div>
<div class='js-menu-section hidden flex flex-col gap-1' data-section='community'>
<button class='mb-2 p-3 group relative flex items-center' data-section='root'>
<svg class='mr-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-left-1c3f2e01.svg#root' /></svg>
Back
</button>

<a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%] md:hidden" href="https://betterstack.com/community"><span class='text-neutral-200'><svg class='mx-[2px]  w-4 h-4 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/users-c09a1e92.svg#root' /></svg></span>
Community home
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/guides"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/guides-fa8300b6.svg#root' /></svg></span>
Guides
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/questions"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/questions-ae0ab73b.svg#root' /></svg></span>
Questions
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/comparisons"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/comparisons-e0f4ca1e.svg#root' /></svg></span>
Comparisons
</a>
</div>
<div class='js-menu-section hidden pb-5 flex flex-col gap-1' data-section='company'>
<button class='mb-2 p-3 group relative flex items-center' data-section='root'>
<svg class='mr-[6px]  w-[11px] h-[11px] inline' style='--currentColor: currentColor;stroke-width:3.2727;'><use href='/assets/icons/heroicons_v2/outline/chevron-left-1c3f2e01.svg#root' /></svg>
Back
</button>

<a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/careers"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/ship-38e68322.svg#root' /></svg></span>
Work at Better Stack
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/careers/engineering"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/code-05597a86.svg#root' /></svg></span>
Engineering
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="/security"><span class='text-neutral-200'><svg width='20' height='20' alt='' class='w-5 h-5 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/shield-check-f947ade1.svg#root' /></svg></span>
Security
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/community/blog"><span class='text-neutral-200'><svg width='20' height='20' alt='' style='--currentColor: currentColor;'><use href='/assets/v2/blog-0647ef17.svg#root' /></svg></span>
Blog
</a><a class="block px-2 flex items-center gap-2 transition py-[6px] hover:bg-[#727DA1]/15 rounded-[6px] leading-[145%]" href="https://betterstack.com/tag/changelog"><span class='text-neutral-200'><svg class='w-5 h-5 inline' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/solid/newspaper-ea89647a.svg#root' /></svg></span>
Changelog
</a>
</div>
</div>
</nav>
</header>

<section class='relative mx-auto bg-uptime-v3-hero-flare max-w-[1888px]'>
<div class='container px-2 sm:px-5 pt-32 -mb-10 md:mb-0 mx-auto flex flex-col items-center relative z-10'>
<h1 class='mt-5 md:mt-8 homepage-heading-gradient font-medium text-center text-[36px] md:text-[66px] leading-[90%] max-w-[360px] md:max-w-[600px]'>
The most reliable
<span class='leading-[120%]'>uptime monitoring</span>
</h1>
<p class='mt-2 md:mt-4 text-center md:text-[20px] leading-[140%] max-w-[464px]'>
Get 10 monitors, 10 heartbeats and a status page with 3-minute checks totally free.
</p>
<div class='px-3 sm:px-0'>
<div class='mt-10 w-full sm:w-auto' data-controller='recaptcha' data-markdown='hide'>
<form id="recaptcha_signup" data-recaptcha-target="form" action="/users/link" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="rP6bRZpG09yBROSzJlv34g56LooYrWi2KLO1d4ouRKwL6w0fYvVDBR5HWZQjdAgmIcMM0CdzvUzUsd6ZUODilw" autocomplete="off" /><div class='flex flex-col sm:flex-row gap-3 items-center'>
<input autocomplete='email' class='appearance-none px-5 border rounded-lg backdrop-blur-2xl text-white h-12 w-full max-w-[316px] sm:max-w-full sm:w-[324px] border-[#727DA1]/20 bg-[#727DA1]/10 placeholder:text-neutral-300' data-1p-ignore name='user[email]' placeholder='Your work e-mail' required type='email'>
<button class='px-6 flex items-center justify-center text-white font-medium whitespace-nowrap h-12 w-full sm:w-auto max-w-[316px] cta-button' data-disable-with='spinner' data-recaptcha-target='submit' type='submit'>
Get started in 30 seconds
</button>
</div>
</form><p class='mt-5 pb-2 text-neutral-300 text-13 sm:text-base-landing text-center'>
Looking for an enterprise solution?
<a class='text-neutral-200 underline underline-offset-4 transition decoration-[#C9D3EE]/20 hover:decoration-[#C9D3EE]' href='https://betterstack.com/book-a-demo' rel='nofollow noopener' target='_blank'>
Book a demo
</a>

</p>
</div>
</div>
</div>
<div class='mt-10 mx-auto flex justify-center max-w-[1700px] sm:-mb-10'>
<img width="393" height="596" class="w-full sm:hidden -mt-14 -mb-24" alt="" src="https://betterstack.com/assets/v2/uptime-v3/hero-sm-a9daaad2.jpg" />
<img width="1730" height="662" class="hidden sm:block max-w-[800px] md:max-w-[1200px] lg:max-w-none" alt="" src="https://betterstack.com/assets/v2/uptime-v3/hero-9dc9f8c8.jpg" />
</div>
</section>

<section class='relative mt-4 -mb-20 flex flex-col items-center overflow-hidden' data-markdown='hide'>
<div class='mx-auto relative z-20 max-w-[1684px]'>
<p class='mb-4 md:mb-10 text-neutral-300 text-center md:text-md max-w-[200px] sm:max-w-none text-base' data-aos='fade-in' data-aos-delay='200'>
Relied on by the world’s best engineering teams
</p>
</div>
<div class='scale-75 md:scale-100'>
<div class='customers-scroll flex justify-center'>
<svg class='w-[1752px]' alt='Better Stack customers include Accenture, the Raspberry Pi foundation, Brave browser, NordVPN, Unicef, the government of Canada, Decathlon and more.' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
<svg class='w-[1752px]' aria-hidden='true' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
</div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow h-full bg-linear-to-r from-[#0B0C14] md:from-50%'></div>
<div class='min-w-[200px] md:min-w-[1000px]'></div>
<div class='grow h-full bg-linear-to-l from-[#0B0C14] md:from-50%'></div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow mask-gradient-to-l backdrop-blur-[2px]'></div>
<div class='w-[710px]'></div>
<div class='grow mask-gradient-to-r backdrop-blur-[2px]'></div>
</div>
</section>

<section class='mt-32 relative z-10 container mx-auto scroll-mt-32' id='uptime-monitoring'>
<div class='mx-auto flex flex-col items-center' data-aos='fade-up'>
<h2 class='mt-2 pb-2 logs-text text-transparent font-bold text-center text-[28px] md:text-[40px] leading-[108%] max-w-[600px]'>
Best-in-class uptime monitoring.  No false positives.
</h2>
<p class='mt-3 text-neutral-200 text-center max-w-[411px] tracking-[-0.01em]'>
Get a screenshot of the error and a second-by-second timeline with our fastest 30-second checks.
</p>
<a class='mt-5 pl-4 pr-3 py-2 flex items-center gap-2 text-13 rounded-full border border-[#939DB8]/20 bg-[#171824] text-[#C9D3EE] hover:brightness-110' href='/website-monitoring'>
Explore website monitoring
<svg class='mt-[1px]  w-3 h-3 inline' style='--currentColor: currentColor;stroke-width:3.0;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg>
</a>
</div>
<div class='mt-12 mx-auto relative flex flex-col md:flex-row max-w-[900px]'>
<div class='flex-1 mt-10 md:mt-0 sm:w-[470px]'>
<img width="687" height="823" alt="" class="hidden md:block absolute -z-10 -left-36 -top-20 max-w-none w-[760px] lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/mtr-e1cce87b.jpg" src="" />
<img width="196" height="322" alt="" class="md:hidden relative -z-10 -m-10 w-[calc(100%+80px)] max-w-none lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/mtr-sm-5f69221e.jpg" src="" />
<div class='md:h-[490px]'></div>
<div class='-mt-20 md:mt-20 ml-5 md:ml-0'>
<h3 class='text-white font-bold text-[18px] md:text-[28px] leading-[117%]'>
Traceroute & MTR for timeouts
</h3>
<p class='mt-3 text-base md:text-md max-w-[342px]'>
Understand connection timeouts and request timeouts with edge-based traceroute and MTR outputs.
</p>
</div>
</div>
<div class='flex-1 mt-20 sm:w-[470px]'>
<div class='relative mt-4 rounded-xl border bg-uptime-v3-screenshots border-[#939DB8]/10 bg-[#0F101A]'>
<div class='hidden md:block absolute -top-28 flex justify-center md:w-[450px]'>
<img width="472" height="746" alt="" class="relative -right-7 lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/incident-screenshot-85499935.png" src="" />
</div>
<img width="344" height="350" alt="" class="md:hidden w-full lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/incident-screenshot-sm-a4d9a888.png" src="" />
<div class='relative z-10 pl-9 pr-5 py-6 -mt-[30%] md:mt-[40%]'>
<h4 class='text-white font-medium'>
Screenshots & error logs
</h4>
<p class='mt-2'>
We record your API's error message and take a screenshot of your website being down so that
you know exactly what happened.
</p>
</div>
</div>
<div class='relative mt-6 px-9 py-6 rounded-xl border overflow-hidden border-[#939DB8]/10 bg-[#0F101A]'>
<div class='absolute inset-0 sm:w-[700px] xl:w-[750px]'>
<img width="470" height="351" alt="" data-src="https://betterstack.com/assets/v2/uptime-v3/playwright-79f69869.jpg" class=" lazyload" src="" />
</div>
<div class='relative z-10 mt-[55%]'>
<h4 class='text-white font-medium'>
Playwright transaction monitoring
</h4>
<p class='mt-2'>
We test all vital interactions by running a real Chrome browser instance, with a full-fledged JavaScript runtime.
</p>
</div>
</div>
</div>
</div>
<div class='container mx-auto mt-16 md:mt-28 flex flex-col md:flex-row justify-center items-center md:items-start gap-16'>
<div class='flex-1 max-w-[290px]'>
<img width="40" height="40" alt="" class="-ml-1 lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/scroll-icon-ccc2680b.jpg" src="" />
<h5 class='mt-4 text-white font-medium'>From SSL to domain expiration</h5>
<p class='mt-2 text-base'>
Monitor everything. Whether it's your web page, API, ping, SSL, domain expiration,
POP3, IMAP, SMTP, DNS, or generic network monitoring. We've got you covered.
</p>
</div>
<div class='flex-1 max-w-[290px]'>
<img width="40" height="40" alt="" class="-ml-1 lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/globe-icon-304ae300.jpg" src="" />
<h5 class='mt-4 text-white font-medium'>30s checks from around the world</h5>
<p class='mt-2 text-base'>
Get a screenshot of the error and a second-by-second timeline with our fastest 30-second checks.
</p>
</div>
<div class='flex-1 max-w-[290px]'>
<img width="40" height="40" alt="" class="-ml-1 lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/clock-icon-03379b61.jpg" src="" />
<h5 class='mt-4 text-white font-medium'>Cron monitoring</h5>
<p class='mt-2 text-base'>
Never lose a database backup again. Track your CRON jobs and serverless workers
and get alerted if they don't run correctly.
</p>
</div>
</div>
<hr class='mt-36 border-image-t border-separator-gradient'>
</section>

<section class='mt-32 relative z-10 container mx-auto'>
<div class='mx-auto flex flex-col items-center' data-aos='fade-up'>
<h2 class='mt-2 pb-2 logs-text text-transparent font-bold text-center text-[28px] md:text-[40px] leading-[108%] max-w-[629px]'>
A lot more than uptime monitoring. Batteries included.
</h2>
<p class='mt-3 text-neutral-200 text-center max-w-[441px] tracking-[-0.01em]'>
Get all the debug data you need and collaborate with your colleagues on fixing the root cause of the incident.
</p>
<a class='mt-5 pl-4 pr-3 py-2 flex items-center gap-2 text-13 rounded-full border border-[#939DB8]/20 bg-[#171824] text-[#C9D3EE] hover:brightness-110' href='/incident-management'>
Explore incident management
<svg class='mt-[1px]  w-3 h-3 inline' style='--currentColor: currentColor;stroke-width:3.0;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg>
</a>
</div>
<div class='mt-12 mx-auto relative flex flex-col md:flex-row max-w-[900px]'>
<div class='flex-1 sm:w-[470px]'>
<img width="783" height="778" alt="" class="relative md:absolute -z-10 -left-8 md:-left-36 -top-10 md:-top-5 -m-10 md:m-0 w-[calc(130%+80px)] max-w-none md:w-[783px] lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/smart-incident-merging-460e5683.jpg" src="" />
<div class='md:h-[490px]'></div>
<div class='ml-3 md:ml-0 -mt-48 md:mt-0'>
<h3 class='text-white font-bold text-[18px] md:text-[28px] leading-[117%]'>
Smart incident merging
</h3>
<p class='mt-3 text-base md:text-md max-w-[342px]'>
30 incidents get created at the same time. Acknowledge them with a single tap and stop your phone from ringing.
</p>
</div>
</div>
<div class='flex-1 mt-12 md:mt-0 sm:w-[470px]'>
<div class='relative mt-4 pl-9 pr-5 py-6 rounded-xl border overflow-hidden border-[#939DB8]/10 bg-[#0F101A]'>
<div class='absolute inset-0 w-[750px] sm:w-[700px] xl:w-[750px]'>
<img width="469" height="349" alt="" data-src="https://betterstack.com/assets/v2/uptime-v3/flexible-incident-escalations-ffed81de.jpg" class=" lazyload" src="" />
</div>
<div class='relative z-10 mt-52'>
<h4 class='text-white font-medium'>
Flexible incident escalations
</h4>
<p class='mt-2'>
Configure complex rules for escalating incidents based on time, team availability, and incident origin.
</p>
</div>
</div>
<div class='relative mt-6 px-9 py-6 rounded-xl border overflow-hidden border-[#939DB8]/10 bg-[#0F101A]'>
<div class='absolute inset-0 sm:w-[700px] xl:w-[750px] -top-1'>
<img width="440" height="350" alt="" data-src="https://betterstack.com/assets/v2/homepage-v3/phone-alert-4caaf9e6.jpg" class=" lazyload" src="" />
</div>
<div class='relative z-10 mt-[50%]'>
<h4 class='text-white font-medium'>
Unlimited voice call alerts
</h4>
<p class='mt-2'>
As well as SMS, e-mail, Slack, Teams, and push notifications with our all-you-can-alert pricing.
</p>
</div>
</div>
</div>
</div>
</section>

<section class='mt-32 relative z-10 container mx-auto'>
<div class='mx-auto flex flex-col items-center' data-aos='fade-up'>
<h2 class='mt-2 pb-2 logs-text text-transparent font-bold text-center text-[28px] md:text-[40px] leading-[108%]'>
Elegant status page
</h2>
<p class='mt-3 text-neutral-200 text-center max-w-[441px] tracking-[-0.01em]'>
Build confidence in your product by sharing your system status at status.yourdomain.com.
</p>
<a class='mt-5 pl-4 pr-3 py-2 flex items-center gap-2 text-13 rounded-full border border-[#939DB8]/20 bg-[#171824] text-[#C9D3EE] hover:brightness-110' href='/status-page'>
Explore status page
<svg class='mt-[1px]  w-3 h-3 inline' style='--currentColor: currentColor;stroke-width:3.0;'><use href='/assets/icons/heroicons_v2/outline/chevron-right-72e32d8a.svg#root' /></svg>
</a>
</div>
<div class='mt-12 mx-auto relative flex flex-col md:flex-row max-w-[900px]'>
<div class='flex-1 sm:w-[470px]'>
<img width="830" height="679" alt="" class="relative md:absolute -z-10 -left-8 md:-left-36 -top-10 md:-top-5 -m-10 md:m-0 w-[calc(130%+80px)] max-w-none md:w-[783px] lazyload" data-src="https://betterstack.com/assets/v2/uptime-v3/status-page-7a24dc91.jpg" src="" />
<div class='md:h-[490px]'></div>
<div class='ml-5 md:ml-0 -mt-32 md:mt-0'>
<h3 class='text-white font-bold text-[18px] md:text-[28px] leading-[117%]'>
Share incident updates
</h3>
<p class='mt-3 text-base md:text-md max-w-[342px]'>
Communicate ongoing incidents, planned maintenance, and service degradations.
</p>
</div>
</div>
<div class='flex-1 mt-12 md:mt-0 sm:w-[470px]'>
<div class='relative mt-4 pl-9 pr-5 py-6 rounded-xl border overflow-hidden border-[#939DB8]/10 bg-[#0F101A]'>
<div class='absolute inset-0 sm:w-[700px] xl:w-[750px]'>
<img width="470" height="300" alt="" data-src="https://betterstack.com/assets/v2/uptime-v3/custom-domain-41135bd6.jpg" class=" lazyload" src="" />
</div>
<div class='relative z-10 mt-[55%]'>
<h4 class='text-white font-medium'>
Custom status.yourdomain.com
</h4>
<p class='mt-2'>
Host a branded status page on your own custom subdomain and build confidence in your brand.
</p>
</div>
</div>
<div class='relative mt-6 px-9 py-6 rounded-xl border overflow-hidden border-[#939DB8]/10 bg-[#0F101A]'>
<div class='absolute inset-0 sm:w-[700px] xl:w-[750px]'>
<img width="472" height="352" alt="" data-src="https://betterstack.com/assets/v2/uptime-v3/subscribe-to-updates-21f03881.jpg" class=" lazyload" src="" />
</div>
<div class='relative z-10 mt-[55%]'>
<h4 class='text-white font-medium'>
Subscribe to updates
</h4>
<p class='mt-2'>
Let your customers subscribe to email updates so that they always know what's going on.
</p>
</div>
</div>
</div>
</div>
<hr class='mt-36 border-image-t border-separator-gradient'>
</section>

<section data-markdown='hide'>
<div class='py-20 container mx-auto flex flex-col lg:flex-row items-center max-w-[1020px]'>
<div class='lg:mr-16 flex flex-col items-center lg:items-start text-center lg:text-left' data-aos='fade-up'>
<h2 class='mt-5 pb-3 logs-text text-transparent font-bold text-[24px] sm:text-[36px] leading-[120%]'>
Save big with
<br class='hidden lg:inline'>
Better Stack
</h2>
<p class='mt-5 max-w-[387px] lg:max-w-[337px]'>
Better Stack replaces a bunch of existing tools. See how our fixed price for
unlimited monitors compares with PagerDuty, Pingdom, and Statuspage.io.
</p>
<a class='mt-8 flex items-center group text-[#5B63D3]' href='/pricing'>
See pricing&nbsp;
<svg class='transition-all relative top-[1px]  h-4 w-0 group-hover:w-4 inline' alt='' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/mini/arrow-right-1156ead0.svg#root' /></svg>
<svg class='transition-all relative top-[1px]  h-4 w-4 group-hover:w-0 inline' alt='' style='--currentColor: currentColor;'><use href='/assets/icons/heroicons_v2/mini/chevron-right-03b53609.svg#root' /></svg>
</a>
</div>
<div class='mt-16 lg:mt-0 flex flex-col md:flex-row items-center'>
<div class='p-2 rounded-xl flex flex-col items-center flex-1 border w-[calc(100%-40px)] md:w-[340px] bg-[#171824]/80 border-[#727DA1]/20'>
<div class='w-full w-[999px] sm:w-auto'></div>
<div class='self-stretch rounded-lg flex items-center px-[14px] py-[13px] bg-[#0B0C14]'>
<img class="mr-[10px] lazyload" width="40" height="40" data-src="https://betterstack.com/assets/uptime/homepage/pagerduty-43c1eee7.png" src="" />
<div>
<div class='font-bold text-white'>PagerDuty</div>
<p class='text-13 mt-[1px]'>Incident management</p>
</div>
</div>
<div class='rounded-full text-neutral-200 flex justify-center items-center pb-[2px] w-[22px] h-[22px]'>+</div>
<div class='self-stretch rounded-lg flex items-center px-[14px] py-[13px] bg-[#0B0C14]'>
<img class="mr-[10px] lazyload" width="40" height="40" data-src="https://betterstack.com/assets/uptime/homepage/pingdom-60cca5d7.png" src="" />
<div>
<div class='font-bold text-white'>Pingdom</div>
<p class='text-13 mt-[1px]'>Uptime monitoring</p>
</div>
</div>
<div class='rounded-full text-neutral-200 flex justify-center items-center pb-[2px] w-[22px] h-[22px]'>+</div>
<div class='self-stretch rounded-lg flex items-center px-[14px] py-[13px] bg-[#0B0C14]'>
<img class="mr-[10px] lazyload" width="40" height="40" data-src="https://betterstack.com/assets/uptime/homepage/statuspage-io-7f379018.png" src="" />
<div>
<div class='font-bold text-white'>Statuspage.io</div>
<p class='text-13 mt-[1px]'>Branded status page</p>
</div>
</div>
<figure class='mt-10 text-white relative'>
<span class='text-base font-bold absolute lg:-top-2 -left-3'>$</span>
<span class='font-bold logs-text text-transparent font-helveticaDisplay text-[36px] md:text-[44px] tracking-[-0.005em]'>673</span>
<span class='font-bold text-base relative -left-1'>/mo</span>
</figure>
<p class='mt-2 mb-6 text-13 text-center max-w-[210px]'>6 team members, 60 monitors, <br>and 2,000 subscribers</p>
</div>
<div class='md:-ml-4 -mt-5 md:mt-0 p-1 bg-white rounded-xl text-neutral-300 flex-1 shrink-0 max-w-[341px] sm:min-w-[341px] min-h-[450px]'>
<div class='mt-8 flex justify-center text-[#1F2433]'>
<svg alt='Better Stack' width='154' height='21' style='--currentColor: currentColor;'><use href='/assets/v2/better-stack-logo-f5a76de1.svg#root' /></svg>
</div>
<div class='mt-10 px-6 flex items-start'>
<svg alt='' width='18' height='19' class='shrink-0 mt-[2px]' style='--currentColor: currentColor;'><use href='/assets/v2/uptime/feature-item-9336795f.svg#root' /></svg>
<div class='ml-2'>Incident management with on-call</div>
</div>
<div class='mt-5 px-6 flex items-start'>
<svg alt='' width='18' height='19' class='shrink-0 mt-[2px]' style='--currentColor: currentColor;'><use href='/assets/v2/uptime/feature-item-9336795f.svg#root' /></svg>
<div class='ml-2'>Uptime monitoring built-in</div>
</div>
<div class='mt-5 px-6 flex items-start'>
<svg alt='' width='18' height='19' class='shrink-0 mt-[2px]' style='--currentColor: currentColor;'><use href='/assets/v2/uptime/feature-item-9336795f.svg#root' /></svg>
<div class='ml-2'>Branded status page on your own sub-domain status.domain.com</div>
</div>
<div class='mt-10 mb-7 mx-4 pt-10 border-t border-neutral-50 rounded-xl flex flex-col items-center'>
<figure class='text-neutral-800 relative'>
<span class='text-base font-bold absolute lg:-top-2 -left-3'>$</span>
<span class='font-bold font-helveticaDisplay text-[36px] md:text-[44px] text-[#1F2433] tracking-[-0.005em]'>269</span>
<span class='font-bold text-base relative -left-1'>/mo</span>
</figure>
<p class='mt-2 text-13 text-center max-w-[210px]'>6 team members, 60 monitors, <br>and 2,000 subscribers</p>
</div>
</div>
</div>
</div>
</section>

<section class='container mx-auto pt-32 -mb-32 sm:mb-32' data-markdown='hide'>
<div class='flex flex-col items-center text-center px-4' data-aos='fade-up'>
<h4 class='heading-h4 logs-text text-transparent text-[24px] lg:text-[36px] leading-[108%]'>
Don’t just take our word for it
</h4>
<p class='mt-4 max-w-[624px]' data-aos='fade-in' data-aos-delay='100'>
We're proud to be working with publicly traded companies as well as individual indie hackers and are thankful for their feedback, suggestions, and support.
</p>
</div>
<div class='mt-14'></div>
<section class='relative mt-4 -mb-20 flex flex-col items-center overflow-hidden' data-markdown='hide'>
<div class='mx-auto relative z-20 max-w-[1684px]'>
</div>
<div class='scale-75 md:scale-100'>
<div class='customers-scroll flex justify-center'>
<svg class='w-[1752px]' alt='Better Stack customers include Accenture, the Raspberry Pi foundation, Brave browser, NordVPN, Unicef, the government of Canada, Decathlon and more.' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
<svg class='w-[1752px]' aria-hidden='true' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
</div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow h-full bg-linear-to-r from-[#0B0C14] md:from-50%'></div>
<div class='min-w-[200px] md:min-w-[1000px]'></div>
<div class='grow h-full bg-linear-to-l from-[#0B0C14] md:from-50%'></div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow mask-gradient-to-l backdrop-blur-[2px]'></div>
<div class='w-[710px]'></div>
<div class='grow mask-gradient-to-r backdrop-blur-[2px]'></div>
</div>
</section>

<div class='mt-10 sm:columns-2 md:columns-3 lg:columns-4'>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
is one of the best products I've ever used. Went from 0-100 on logging in 15 minutes. Incredible

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/conor-avatar-b2a571f1.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Conor
</div>
<div class='text-base'>
@cnrstvns
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px]'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
I tested
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
for @gamubsapp! So much easier to configure and the interface is better than @FreshworksInc!

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/quentin-avatar-b1fa4f5b.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Quentin
</div>
<div class='text-base'>
@glaffont
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
status page looks SO neat! A fantastic tool for SaaS products like @Snapodcast

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/tony-avatar-c7f7948d.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
TonyHe
</div>
<div class='text-base'>
@ttttonyhe
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px]'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
By far
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
has given me more pleasant surprises other tool in this space. We had an outage due to a domain name
expiring, and it turns out we can even be alered about that. Great user experience and UI on top of all the features.
How is it not more popular?

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/john-avatar-672aa1f6.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
John
</div>
<div class='text-base'>
@johncjago
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px]'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
One year one tool. @linear won my heart last year. This year so far,
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
is the frontrunner, well designed 👏

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/tianzhou-avatar-58056662.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Tianzhou
</div>
<div class='text-base'>
@tianzhouchen
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px]'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
I just checked this out, and have never been so happy that I saw an ad 👏

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/chrishow-avatar-c3cd7f8e.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Chris
</div>
<div class='text-base'>
@chrishow
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px]'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
Looking for a status page? I recommend
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>.
Perfect support, answered my dms
in a couple of minutes, and it's the first actual cool looking status page which allows
custom domains (on the free plan 😱) haven't actually tried it, but it looks good so far.
<br>
<br>
#NotSponsor

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/neverland-avatar-b7306358.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
NeverLand
</div>
<div class='text-base'>
@neverlandoff
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
Switched from @Statuspage to
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
over the week end, looking pretty good status.speakbox.ca

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/valentin-avatar-5e6816d9.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Valentin Prugnaud 🦊
</div>
<div class='text-base'>
@valentinprgnd
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
What are you using for logging and incident management?
<br>
<br>
For me the go to is currently
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
- love their simplicity and
powerful features. Would like to learn more about what's out there.

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/markus-avatar-cf69cf0e.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Markus Leimer
</div>
<div class='text-base'>
@markuslei22
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
I'm utterly blown away by
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>!
They do everything. I'm now monitoring one of our US servers
for every kind of log Ubuntu creates, custom alerts for errors, website downtime, incident logging, Slack notifications,
S3 log storage, and loads more. 😍

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/darren-avatar-c61b4a3b.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
Darren Pinder
</div>
<div class='text-base'>
@dmpinder
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='break-inside-avoid mx-auto pb-4 max-w-[320px] hidden sm:block js-toggleable-twitter-post'>
<div class='p-5 backdrop-blur-xl rounded-xl border bg-[#171824]/80 border-[#727DA1]/20'>
<p>
I absolutely love services like
<a class="text-brand-primary-90" target="_blank" rel="nofollow noopener" href="https://twitter.com/betterstackhq">@BetterStackHQ</a>
<br>
<br>
simple, does a great job, and has a generous free plan for companies just starting out
<br>
<br>
I don't remember finding anything even close to it ~4 years ago when i was
looking for a monitoring tool for one of my projects

</p>
<div class='mt-5'></div>
<div class='flex items-start'>
<img width="37" height="37" alt="" class="mt-1 shrink-0 rounded-full lazyload" data-src="https://betterstack.com/assets/betterstack/twitter/kostya-avatar-34fee346.png" src="" />
<div class='mx-2 grow'>
<div class='font-bold text-white'>
kostya
</div>
<div class='text-base'>
@nstkostyal
</div>
</div>
<img width="22" height="16" alt="" class="mt-4 shrink-0 lazyload" data-src="https://betterstack.com/assets/betterstack/twitter-47a84f03.png" src="" />
</div>
</div>
</div>
<div class='js-twitter-show-more-button sm:hidden text-white mx-auto text-center -mt-16 relative z-10 max-w-[320px] bg-[#0B0C14]'>
<div class='relative pointer-events-none'>
<div class='absolute bottom-0 left-0 right-0 bg-linear-to-t top-[-400px] from-[#0B0C14]'></div>
</div>
<button class='p-4 border-none border-neutral-700 text-base w-full border-t!' data-toggle='.js-toggleable-twitter-post, .js-twitter-show-more-button'>
Show more
<svg class='w-4 h-4 inline' style='--currentColor: currentColor;stroke-width:2.25;'><use href='/assets/icons/heroicons_v2/outline/chevron-down-d602e268.svg#root' /></svg>
</button>
</div>
<div class='h-32'></div>
</div>
</section>

<section class='relative mt-4 -mb-20 flex flex-col items-center overflow-hidden' data-markdown='hide'>
<div class='mx-auto relative z-20 max-w-[1684px]'>
</div>
<div class='scale-75 md:scale-100'>
<div class='customers-scroll flex justify-center'>
<svg class='w-[1752px]' alt='Better Stack customers include Accenture, the Raspberry Pi foundation, Brave browser, NordVPN, Unicef, the government of Canada, Decathlon and more.' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
<svg class='w-[1752px]' aria-hidden='true' width='1752' style='--currentColor: currentColor;'><use href='/assets/v2/homepage-v3/customers-336920c0.svg#root' /></svg>
</div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow h-full bg-linear-to-r from-[#0B0C14] md:from-50%'></div>
<div class='min-w-[200px] md:min-w-[1000px]'></div>
<div class='grow h-full bg-linear-to-l from-[#0B0C14] md:from-50%'></div>
</div>
<div class='absolute inset-0 flex justify-center pointer-events-none'>
<div class='grow mask-gradient-to-l backdrop-blur-[2px]'></div>
<div class='w-[710px]'></div>
<div class='grow mask-gradient-to-r backdrop-blur-[2px]'></div>
</div>
</section>

<div class='-mt-28'>
<hr class='mt-36 container mx-auto border-image-t border-separator-gradient'>
<div class='mx-auto pt-24 pb-10 md:pb-24 md:pt-32 bg-downtime-cta-v2-flare max-w-[1888px]' data-markdown='hide'>
<section class='container mx-auto flex flex-col items-center' data-aos='fade-up'>
<svg width='154' height='21' alt='' class='text-white scale-[70%] md:scale-100' style='--currentColor: currentColor;'><use href='/assets/v2/better-stack-logo-f5a76de1.svg#root' /></svg>
<h2 class='mt-2 md:mt-5 font-medium homepage-heading-gradient text-center text-[28px] md:text-[40px] leading-[110%]'>
Get started in 30 seconds
</h2>
<p class='mt-5 text-center text-neutral-200 max-w-[400px] md:max-w-[483px]'>
We call you when your website goes down.
<br>
Get started in just 30 seconds, completely for free.

</p>
<div class='mt-10 w-full sm:w-auto' data-controller='recaptcha' data-markdown='hide'>
<form id="recaptcha_signup" data-recaptcha-target="form" action="/users/link" accept-charset="UTF-8" method="post"><input type="hidden" name="authenticity_token" value="4NrF3QvLkO-YjFd_NjHBSGJ5OsuKOrbCMTbXGMvK3NFHz1OH83gANgeP6lgzHj6MTcAYkbXkYzjNNLz2EQR66g" autocomplete="off" /><div class='flex flex-col sm:flex-row gap-3 items-center'>
<input autocomplete='email' class='appearance-none px-5 border rounded-lg backdrop-blur-2xl text-white h-12 w-full max-w-[316px] sm:max-w-full sm:w-[324px] border-[#727DA1]/20 bg-[#727DA1]/10 placeholder:text-neutral-300' data-1p-ignore name='user[email]' placeholder='Your work e-mail' required type='email'>
<button class='px-6 flex items-center justify-center text-white font-medium whitespace-nowrap h-12 w-full sm:w-auto max-w-[316px] cta-button' data-disable-with='spinner' data-recaptcha-target='submit' type='submit'>
Start for free
</button>
</div>
</form><p class='mt-5 pb-2 text-neutral-300 text-13 sm:text-base-landing text-center'>
Start monitoring for free or
<a class='text-neutral-200 underline underline-offset-4 transition decoration-[#C9D3EE]/20 hover:decoration-[#C9D3EE]' href='https://betterstack.com/book-a-demo' rel='nofollow noopener' target='_blank'>
book a demo
</a>
</p>
</div>
</section>
</div>
</div>

<div class='dark'>
<nav class='bg-white text-base border-t dark:bg-[#0B0C14] border-neutral-300/10 text-[#363D4E] dark:text-neutral-200'>
<div class='mx-auto px-5 md:px-10 pt-8 max-lg:pb-8 lg:pt-14 md:flex max-w-[1110px]'>
<div class='flex-2 lg:grow flex gap-5'>
<div class='flex-1 lg:flex-2 flex flex-col lg:flex-row'>
<div class='lg:mr-12 flex-1 lg:min-w-[200px]'>
<div class='mb-12'>
<div class='font-medium text-black dark:text-white'>Solutions</div>
<a class="inline-block -mx-1 px-1 mt-3" href="/ai-sre">AI SRE</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/tracing">OpenTelemetry tracing</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/telemetry">Log management</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/infrastructure-monitoring">Infrastructure monitoring</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/error-tracking">Error tracking</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/real-user-monitoring">Real user monitoring</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/incident-management">Incident management</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/uptime">Uptime monitoring</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/status-page">Status page</a>
</div>
</div>
<div class='flex-1'>
<div class='mb-12 lg:hidden'>
<div class='font-medium text-black dark:text-white'>Company</div>
<a class="inline-block -mx-1 px-1 mt-3" href="/careers">Work at Better Stack</a>
<br class='lg:hidden'>
<a class="inline-block -mx-1 px-1 mt-3" href="/careers/engineering">Engineering</a>
<br class='lg:hidden'>
<a class="inline-block -mx-1 px-1 mt-3" href="/security">Security</a>

</div>
<div class='mb-12 hidden lg:block'>
<div class='font-medium text-black dark:text-white'>Resources</div>
<a class="inline-block -mx-1 px-1 mt-3 whitespace-nowrap" href="/help">Help &amp; Support</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="https://betterstack.com/docs/">Documentation</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/enterprise">Enterprise</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/integrations">Integrations</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/dashboards">Dashboards</a>

</div>
</div>
</div>
<div class='lg:ml-12 flex-1 flex flex-col'>
<div class='mb-12 hidden lg:flex flex-col items-start lg:min-w-[200px]'>
<div class='font-medium text-black dark:text-white'>Company</div>
<a class="inline-block -mx-1 px-1 mt-3" href="/careers">Work at Better Stack</a>
<br class='lg:hidden'>
<a class="inline-block -mx-1 px-1 mt-3" href="/careers/engineering">Engineering</a>
<br class='lg:hidden'>
<a class="inline-block -mx-1 px-1 mt-3" href="/security">Security</a>

</div>
<div class='mb-12 lg:hidden'>
<div class='font-medium text-black dark:text-white'>Resources</div>
<a class="inline-block -mx-1 px-1 mt-3 whitespace-nowrap" href="/help">Help &amp; Support</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="https://betterstack.com/docs/">Documentation</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/enterprise">Enterprise</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/integrations">Integrations</a>
<br>
<a class="inline-block -mx-1 px-1 mt-3" href="/dashboards">Dashboards</a>

</div>
</div>
</div>
<div class='md:ml-12 flex-1 flex flex-col items-start grow max-w-[450px]'>
<div class='md:mb-12'>
<div class='font-medium text-black dark:text-white'>Community</div>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/guides/incident-management/what-is-incident-management/">What Is Incident Management? Beginner’s Guide</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/datadog-log-management-alternatives/">Best Datadog Alternatives to Consider in 2026</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/free-status-page-tools/">8 Best Free &amp; Open Source Status Page Tools in 2026</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/sentry-alternatives/">13 Best Sentry Alternatives in 2026</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/grafana-alternatives/">15 Best Grafana Alternatives in 2026</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/incident-io-alternative/">The 10 Best Incident.io Alternatives in 2026</a>
<a class="inline-block -mx-1 px-1 mt-4" href="https://betterstack.com/community/comparisons/incident-management-tools/">5 Most Used Incident Management Tools</a>
</div>
</div>
</div>
</nav>
<footer class='bg-[#F3F4F7] dark:bg-[#0B0C14]'>
<div class='mx-auto text-base lg:px-5 max-w-[1110px] text-[#363D4E] dark:text-neutral-200'>
<div class='px-5 lg:px-2 lg:mx-3 pt-7 flex flex-col lg:flex-row justify-between items-center lg:items-end border-t border-neutral-300/10'>
<div>
<svg width='154' height='21' alt='' class='text-black dark:text-white scale-75 lg:scale-100' style='--currentColor: currentColor;'><use href='/assets/v2/better-stack-logo-f5a76de1.svg#root' /></svg>
<p class='mt-3 hidden lg:block max-w-[342px]'>
30x cheaper than Datadog. Predictable pricing. Exceptional customer support.
</p>
</div>
<div class='flex items-center gap-6 whitespace-nowrap'>
<a class="hidden lg:block -mx-1 px-1" href="tel:+1 (628) 900-3830">+1 (628) 900-3830</a>
<a class="hidden lg:block -mx-1 px-1" href="mailto:hello@betterstack.com">hello@betterstack.com</a>
<div class='hidden lg:block h-4 border-l border-neutral-300/10'></div>
<div class='hidden lg:flex'><div class='flex gap-4 text-neutral-300'>
<a aria-label='Better Stack on Instagram' href='https://www.instagram.com/betterstackhq/' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/instagram-d9614e51.svg#root' /></svg></a>
<a aria-label='Better Stack on TikTok' href='https://www.tiktok.com/@betterstack' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/tiktok-ad9068a9.svg#root' /></svg></a>
<a aria-label='Better Stack on LinkedIn' href='https://www.linkedin.com/company/betterstack' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/linkedin-143ab64c.svg#root' /></svg></a>
<a aria-label='Better Stack on Twitter' href='https://twitter.com/betterstackhq' rel='nofollow noopener' target='_blank'><svg width='16' height='16' style='--currentColor: currentColor;'><use href='/assets/v2/twitter-4512e356.svg#root' /></svg></a>
<a aria-label='Better Stack on Github' href='https://github.com/BetterStackHQ/' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/github-8e0718fe.svg#root' /></svg></a>
<a aria-label='Better Stack on YouTube' href='https://www.youtube.com/@betterstack' rel='nofollow noopener' target='_blank'><svg width='22' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/youtube-72dade15.svg#root' /></svg></a>
</div>
</div>
</div>
</div>
<div class='px-5 lg:px-2 lg:mx-3 mt-5 py-3 lg:border-t flex flex-col lg:flex-row justify-between items-center border-neutral-300/10 text-[12px] leading-[18px]'>
<div class='flex items-center gap-6 whitespace-nowrap dark:text-neutral-300'>
<a class="-mx-1 px-1" href="/terms">Terms of Use</a>
<a class="-mx-1 px-1" href="/privacy">Privacy Policy</a>
<a class="-mx-1 px-1" href="/dpa">GDPR</a>
<a class='hidden sm:block -mx-1 px-1' href='https://status.betterstack.com/' target='_blank'>
<svg width='14' height='15' alt='All services are up' class='mr-1 hidden lg:inline' style='--currentColor: currentColor;'><use href='/assets/v2/status-green-4e79760e.svg#root' /></svg>
System status
</a>
</div>
<div class='mt-8 mb-2 flex lg:hidden'><div class='flex gap-4 text-neutral-300'>
<a aria-label='Better Stack on Instagram' href='https://www.instagram.com/betterstackhq/' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/instagram-d9614e51.svg#root' /></svg></a>
<a aria-label='Better Stack on TikTok' href='https://www.tiktok.com/@betterstack' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/tiktok-ad9068a9.svg#root' /></svg></a>
<a aria-label='Better Stack on LinkedIn' href='https://www.linkedin.com/company/betterstack' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/linkedin-143ab64c.svg#root' /></svg></a>
<a aria-label='Better Stack on Twitter' href='https://twitter.com/betterstackhq' rel='nofollow noopener' target='_blank'><svg width='16' height='16' style='--currentColor: currentColor;'><use href='/assets/v2/twitter-4512e356.svg#root' /></svg></a>
<a aria-label='Better Stack on Github' href='https://github.com/BetterStackHQ/' rel='nofollow noopener' target='_blank'><svg width='16' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/github-8e0718fe.svg#root' /></svg></a>
<a aria-label='Better Stack on YouTube' href='https://www.youtube.com/@betterstack' rel='nofollow noopener' target='_blank'><svg width='22' height='17' style='--currentColor: currentColor;'><use href='/assets/v2/youtube-72dade15.svg#root' /></svg></a>
</div>
</div>
<div class='flex items-center text-neutral-300'>
&copy; 2026 Better Stack, Inc.
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="root" fill="none" height="15" viewBox="0 0 14 15" width="14" class="ml-2 transition hover:-rotate-[15deg] hidden lg:inline"><mask id="a" fill="#000" height="14" maskUnits="userSpaceOnUse" width="14" x=".84082" y=".910156"><path d="m.84082.910156h14v14h-14z" fill="#fff"></path><path clip-rule="evenodd" d="m12.4541 1.91016h-4.37651v.54686h-.54823v.54771 1.85936 1.2038h-.54617v.54725h-.87535v.54642h-.87576v.54777h-.54616v.54551h-.0011-.54589-.54734v-.65488h-.54706v2.84474h.54616v.6549h.54824v.547h.54699v.4392.6557.5469.4376.0003h.65647v-.0003h.43765v-.4376h-.43765v-.5469h.43765v-.6557h.54706v-.5478h.65609v.5472h.43768v.1982h1.09412v-.4377h-.54709v-.8541h.54701v-.5472h.54712v-.87494h.54616v-1.86076h.65821v.43832h.547v-.54706h-.0011v-.43832h-1.20411v-1.2027h.65671v-1.09465h2.1892v-.0002h.5459v-2.40707h-.5459zm-9.41064 5.25148h-.54617v-1.20358h-.65647v3.50119h.54616v.43769h.65648zm7.22294-1.74985h1.6412v.54706h-1.6412zm-1.62526-2.63729h.00042v-.00005h.80045v.00013h.26677v1.06726h-.26682v-.00107h-.8004v-.26582h-.00042zm.26682.79945h.534v-.53268h-.534z" fill="#000" fill-rule="evenodd"></path></mask><path d="m8.07759 1.91016v-.952682h-.95268v.952682zm4.37651 0h.9527v-.952682h-.9527zm-4.37651.54686v.95268h.95268v-.95268zm-.54823 0v-.95268h-.95268v.95268zm0 3.61087v.95268h.95268v-.95268zm-.54617 0v-.95268h-.95267v.95268zm0 .54725v.95268h.95268v-.95268zm-.87535 0v-.95268h-.95267v.95268zm0 .54642v.95268h.95268v-.95268zm-.87576 0v-.95268h-.95268v.95268zm0 .54777v.95268h.95268v-.95268zm-.54616 0v-.95268h-.95268v.95268zm0 .54551v.95268h.95268v-.95268zm-1.09433 0h-.95268v.95268h.95268zm0-.65488h.95268v-.95268h-.95268zm-.54706 0v-.95268h-.95268v.95268zm0 2.84474h-.95268v.9527h.95268zm.54616 0h.95268v-.9527h-.95268zm0 .6549h-.95268v.9526h.95268zm.54824 0h.95268v-.9527h-.95268zm0 .547h-.95268v.9527h.95268zm.54699 0h.95268v-.9527h-.95268zm0 2.0797h-.95268v.9527h.95268zm.65647 0v.9527h.95268v-.9527zm0-.0003v-.9526h-.95268v.9526zm.43765 0v.9527h.95268v-.9527zm0-.4376h.95268v-.9527h-.95268zm-.43765 0h-.95268v.9527h.95268zm0-.5469v-.9527h-.95268v.9527zm.43765 0v.9527h.95268v-.9527zm0-.6557v-.9527h-.95268v.9527zm.54706 0v.9527h.95268v-.9527zm0-.5478v-.9526h-.95268v.9526zm.65609 0h.95268v-.9526h-.95268zm0 .5472h-.95267v.9527h.95267zm.43768 0h.95268v-.9527h-.95268zm0 .1982h-.95268v.9526h.95268zm1.09412 0v.9526h.95268v-.9526zm0-.4377h.95268v-.9527h-.95268zm-.54709 0h-.95267v.9527h.95267zm0-.8541v-.9527h-.95267v.9527zm.54701 0v.9527h.95268v-.9527zm0-.5472v-.9527h-.95268v.9527zm.54712 0v.9527h.95267v-.9527zm0-.87494v-.95267h-.95268v.95267zm.54616 0v.95264h.95271v-.95264zm0-1.86076v-.95268h-.95268v.95268zm.65821 0h.9527v-.95268h-.9527zm0 .43832h-.9527v.95268h.9527zm.547 0v.95268h.9527v-.95268zm0-.54706h.9527v-.95268h-.9527zm-.0011 0h-.95264v.95268h.95264zm0-.43832h.9527v-.95268h-.9527zm-1.20411 0h-.95268v.95268h.95268zm0-1.2027v-.95268h-.95268v.95268zm.65671 0v.95268h.9527v-.95268zm0-1.09465v-.95268h-.95267v.95268zm2.1892 0v.95267h.9527v-.95267zm0-.0002v-.95268h-.9527v.95268zm.5459 0v.95267h.9526v-.95267zm0-2.40707h.9526v-.95268h-.9526zm-.5459 0h-.9527v.95268h.9527zm-9.95681 4.70462h-.95268v.95268h.95268zm.54617 0h.95267v-.95268h-.95267zm-.54617-1.20358h.95268v-.95268h-.95268zm-.65647 0v-.95268h-.952678v.95268zm0 3.50119h-.952678v.95265h.952678zm.54616 0h.95268v-.95268h-.95268zm0 .43769h-.95268v.95266h.95268zm.65648 0v.95266h.95267v-.95266zm8.86414-4.48515h.9526v-.95268h-.9526zm-1.6412 0v-.95268h-.9527v.95268zm1.6412.54706v.95268h.9526v-.95268zm-1.6412 0h-.9527v.95268h.9527zm-1.62484-3.18435v.95268h.95268v-.95268zm-.00042 0v-.95268h-.95267v.95268zm.00042-.00005v-.95268h-.95268v.95268zm.80045 0h.95269v-.95268h-.95269zm0 .00013h-.95268v.95268h.95268zm.26677 0h.95272v-.95268h-.95272zm0 1.06726v.95268h.95272v-.95268zm-.26682 0h-.95268v.95268h.95268zm0-.00107h.95264v-.95268h-.95264zm-.8004 0h-.95268v.95267h.95268zm0-.26582h.95268v-.95268h-.95268zm-.00042 0h-.95267v.95268h.95267zm.26682-.001h-.95268v.95268h.95268zm.534 0v.95268h.95264v-.95268zm0-.53268h.95264v-.95268h-.95264zm-.534 0v-.95268h-.95268v.95268zm-.83037-.17844h4.37651v-1.905352h-4.37651zm.95268-.40581v-.54686h-1.90536v.54686zm-1.50091.95268h.54823v-1.90536h-.54823zm.95268-.40497v-.54771h-1.90536v.54771zm0 1.85936v-1.85936h-1.90536v1.85936zm0 1.2038v-1.2038h-1.90536v1.2038zm-1.49885.95268h.54617v-1.90536h-.54617zm.95268-.40543v-.54725h-1.90535v.54725zm-1.82803.95268h.87535v-1.90536h-.87535zm.95268-.40626v-.54642h-1.90535v.54642zm-1.82844.95268h.87576v-1.90536h-.87576zm.95268-.40491v-.54777h-1.90536v.54777zm-1.49884.95268h.54616v-1.90536h-.54616zm.95268-.40717v-.54551h-1.90536v.54551zm-.95378.95268h.0011v-1.90535h-.0011zm-.54589 0h.54589v-1.90535h-.54589zm-.54734 0h.54734v-1.90535h-.54734zm-.95268-1.60756v.65488h1.90536v-.65488zm.40562.95268h.54706v-1.90536h-.54706zm.95268 1.89206v-2.84474h-1.90536v2.84474zm-.40652-.9527h-.54616v1.9054h.54616zm.95268 1.6076v-.6549h-1.90536v.6549zm-.40444-.9527h-.54824v1.9053h.54824zm.95268 1.4997v-.547h-1.90536v.547zm-.40569-.9527h-.54699v1.9054h.54699zm.95268 1.3919v-.4392h-1.90536v.4392zm0 .6557v-.6557h-1.90536v.6557zm0 .5469v-.5469h-1.90536v.5469zm0 .4376v-.4376h-1.90536v.4376zm0 .0003v-.0003h-1.90536v.0003zm-.29621-.9526h-.65647v1.9053h.65647zm-.95268.9523v.0003h1.90536v-.0003zm1.39033-.9526h-.43765v1.9053h.43765zm-.95268.515v.4376h1.90536v-.4376zm.51503.9527h.43765v-1.9054h-.43765zm-.95268-1.4996v.5469h1.90536v-.5469zm1.39033-.9527h-.43765v1.9054h.43765zm-.95268.297v.6557h1.90536v-.6557zm1.49974-.9527h-.54706v1.9054h.54706zm-.95268.4049v.5478h1.90536v-.5478zm1.60877-.9526h-.65609v1.9053h.65609zm.95268 1.4998v-.5472h-1.90535v.5472zm-.515-.9527h-.43768v1.9054h.43768zm.95268 1.1509v-.1982h-1.90536v.1982zm.14144-.9527h-1.09412v1.9053h1.09412zm-.95268.515v.4377h1.90536v-.4377zm.40559.9527h.54709v-1.9054h-.54709zm-.95267-1.8068v.8541h1.90535v-.8541zm1.49968-.9527h-.54701v1.9054h.54701zm-.95268.4055v.5472h1.90536v-.5472zm1.4998-.9527h-.54712v1.9054h.54712zm-.95268.07776v.87494h1.90535v-.87494zm1.49884-.95267h-.54616v1.90531h.54616zm-.95268-.90809v1.86076h1.90539v-1.86076zm1.61089-.95268h-.65821v1.90536h.65821zm.9527 1.391v-.43832h-1.9054v.43832zm-.4057-.95268h-.547v1.90536h.547zm-.95264.40562v.54706h1.90534v-.54706zm.95154.95268h.0011v-1.90536h-.0011zm-.95264-1.391v.43832h1.90534v-.43832zm-.25147.95268h1.20411v-1.90536h-1.20411zm-.95268-2.15538v1.2027h1.90539v-1.2027zm1.60939-.95268h-.65671v1.90536h.65671zm-.95267-.14197v1.09465h1.90537v-1.09465zm3.14187-.95268h-2.1892v1.90535h2.1892zm-.9527.95248v.0002h1.9054v-.0002zm1.4986-.95268h-.5459v1.90535h.5459zm-.9527-1.45439v2.40707h1.9053v-2.40707zm.4068.95268h.5459v-1.90536h-.5459zm-.9527-1.49954v.54686h1.9054v-.54686zm-9.00411 6.20416h.54617v-1.90536h-.54617zm-.95268-2.15626v1.20358h1.90536v-1.20358zm.29621.95268h.65647v-1.90536h-.65647zm.95268 2.54851v-3.50119h-1.905358v3.50119zm-.40652-.95268h-.54616v1.90533h.54616zm.95268 1.39037v-.43769h-1.90536v.43769zm-.2962-.95268h-.65648v1.90534h.65648zm-.95268-1.78262v2.7353h1.90535v-2.7353zm9.81682-2.70253h-1.6412v1.90536h1.6412zm.9526 1.49974v-.54706h-1.9053v.54706zm-2.5938.95268h1.6412v-1.90536h-1.6412zm-.9527-1.49974v.54706h1.9054v-.54706zm-.67214-3.58997h-.00042v1.90536h.00042zm-.95268.95263v.00005h1.90536v-.00005zm1.75313-.95268h-.80045v1.90536h.80045zm.95269.95281v-.00013h-1.90537v.00013zm-.68592-.95268h-.26677v1.90536h.26677zm.95272 2.01994v-1.06726h-1.9054v1.06726zm-1.21954.95268h.26682v-1.90536h-.26682zm-.95268-.95375v.00107h1.90532v-.00107zm.95268-.95268h-.8004v1.90535h.8004zm.15228.95268v-.26582h-1.90536v.26582zm-.9531.68686h.00042v-1.90536h-.00042zm-.95267-1.75313v.80045h1.90535v-.80045zm1.21949 1.75213h.534v-1.90536h-.534zm-.41868-1.48536v.53268h1.90532v-.53268zm.41868.95268h.534v-1.90536h-.534zm.95268-.42v-.53268h-1.90536v.53268z" fill="#646e87" mask="url(#a)"></path></svg>
</div>
</div>
</div>
</footer>
</div>

<script nonce='f1633b8bc624d85bba0ecbeefdb9efbb' type='module'>
import { front_identity_path } from 'routes'
import WebStorageService from 'services/WebStorageService'

const currentPath = window.location.pathname
let identity = JSON.parse(WebStorageService.getItem('frontChat:identity')) || {}

function initFrontChat() {
  // Do nothing if the FrontChat script has been blocked or otherwise failed to load
  if (typeof window?.FrontChat !== 'function') return
  window.FrontChat('init', {
    chatId: '7ec348734d009c45fc063c20b36d58e1',
    useDefaultLauncher: true,
    ...identity,
  })
  document.getElementById('front-chat-iframe')?.style?.setProperty('color-scheme', 'auto')
}

function loadAndInit() {
  if (window.FrontChat) {
    initFrontChat()
    return
  }

  const script = document.createElement('script')
  script.id = 'front-script'
  script.src = 'https://chat-assets.frontapp.com/v1/chat.bundle.js'
  script.addEventListener('load', initFrontChat)
  document.head.appendChild(script)
}

// Wrapped in an async function rather than using top-level await, which browsers older than
// Chrome 89 cannot parse, and a parse error takes the whole chat widget down for them.
async function fetchIdentityAndInit() {
  if (!identity.userHash && (currentPath.startsWith('/settings') || currentPath.startsWith('/onboarding'))) {
    try {
      const response = await fetch(front_identity_path())
      identity = await response.json()
      WebStorageService.setItem('frontChat:identity', JSON.stringify(identity))
    } catch (_) {}
  }

  if (document.readyState === 'complete') {
    loadAndInit()
  } else {
    window.addEventListener('load', loadAndInit, { once: true })
  }
}

fetchIdentityAndInit()
</script>

<noscript>
<img height='1' src='https://www.facebook.com/tr?id=1062799887416376&amp;ev=PageView&amp;noscript=1' style='display:none' width='1'>
</noscript>
<noscript>
<img alt='' height='1' src='https://px.ads.linkedin.com/collect/?pid=8770794&amp;fmt=gif' style='display:none' width='1'>
</noscript>

<script type="application/javascript" nonce="f1633b8bc624d85bba0ecbeefdb9efbb">
//<![CDATA[
window.recaptchaLoaded = false
window.recaptchaLoading = null
window.recaptchaSiteKey = '6LcqMUUaAAAAAB9e71hGegt9lvZ2v_mO1lFsvlRX'

function initialize_recaptcha() {
  if (!document.getElementById('recaptcha-wrapper')) return;
  if (document.getElementById('recaptcha-wrapper').childNodes.length === 0) {
    grecaptcha.render('recaptcha-wrapper', { sitekey: '6LcqMUUaAAAAAB9e71hGegt9lvZ2v_mO1lFsvlRX', size: 'invisible', callback: 'recaptcha_submit', badge: 'bottomright' })
    console.log("Calling reCaptcha after render callback -->", window.recaptchaAfterRender)
    window.recaptchaAfterRender && window.recaptchaAfterRender('rendered')
  }
}

window.recaptcha_onload = function() {
  grecaptcha.ready(function() {
    initialize_recaptcha()
  })

  document.addEventListener('turbo:load', function() {
    initialize_recaptcha()
  })
}


//]]>
</script>
<div class='hidden fixed font-helveticaText bottom-8 inset-x-2 max-w-lg p-5 border rounded-lg backdrop-blur-xl z-[100000000] md:left-8 md:right-auto border-[#939DB81A] bg-[#0F101A]' id='cookie-consent-banner'>
<h3 class='font-semibold leading-normal font-helveticaText! text-[13px] md:text-md text-white'>Please accept cookies</h3>
<p class='mt-2 font-normal leading-normal text-[13px] md:text-md text-neutral-200'>
We use cookies to authenticate users, improve the product user experience, and for
<a target="_blank" rel="nofollow noopener" class="border-0 transition focus-visible -m-1 p-1 text-brand-primary-100 hover:text-neutral-100" href="https://business.safety.google/privacy/">personalized ads</a>.
<a target="_blank" class="border-0 transition focus-visible -m-1 p-1 text-brand-primary-100 hover:text-neutral-100" href="/privacy">Learn more.</a>
</p>
<div class='mt-4 flex flex-row gap-3'>
<button class='px-2 font-medium rounded py-0.5 text-[13px] border bg-gray-900 text-neutral-200 border-[#939DB833] bg-[#171926]' id='cookie-deny'>Deny</button>
<button class='px-2 font-medium rounded py-0.5 text-[13px] border bg-gray-900 text-neutral-200 border-[#939DB833] bg-[#171926]' id='cookie-accept-required'>Accept required</button>
<button class='ml-auto px-2 font-medium text-white rounded bg-button-gradient py-0.5 text-[13px]' id='cookie-accept-all'>Accept all</button>
</div>
</div>

<div id='recaptcha-wrapper'></div>
</div>
</body>
</html>
