Files
nexus/sreweekly/articles/89/01-cachet-the-open-source-status-page-system.html
2026-09-12 17:23:01 +08:00

53 lines
97 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="From startups to Fortune 500 companies, organizations worldwide trust Cachet to streamline their downtime communication, enhancing transparency with customers and stakeholders.">
<meta name="keywords" content="cachet, open source status page, self hosted status page, free status page, statuspage, status page, uptime, monitoring, incident management, status, statuspage, status page, uptime monitoring">
<link rel="canonical" href="https://cachethq.io">
<meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
<meta property="og:title" content="Cachet, the open source status page system">
<meta property="og:description" content="From startups to Fortune 500 companies, organizations worldwide trust Cachet to streamline their downtime communication, enhancing transparency with customers and stakeholders.">
<meta property="og:url" content="https://cachethq.io">
<meta property="og:type" content="website">
<meta property="og:site_name" content="Cachet">
<meta property="og:image" content="https://cachethq.io/images/og/home.png">
<meta property="og:image:width" content="1200">
<meta property="og:image:height" content="630">
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:site" content="@cachethq">
<meta name="twitter:creator" content="@jbrooksuk">
<meta name="twitter:image" content="https://cachethq.io/images/og/home.png">
<meta name="twitter:title" content="Cachet, the open source status page system">
<meta name="twitter:description" content="From startups to Fortune 500 companies, organizations worldwide trust Cachet to streamline their downtime communication, enhancing transparency with customers and stakeholders.">
<meta name="twitter:url" content="https://cachethq.io">
<script type="application/ld+json">{"@context":"https://schema.org","@type":"WebPage","name":"Cachet, the open source status page system","description":"From startups to Fortune 500 companies, organizations worldwide trust Cachet to streamline their downtime communication, enhancing transparency with customers and stakeholders.","url":"https://cachethq.io","image":"https://cachethq.io/images/og/home.png"}</script>
<!-- Favicon -->
<link rel="apple-touch-icon" sizes="180x180" href="https://cachethq.io/apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="https://cachethq.io/favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="https://cachethq.io/favicon-16x16.png">
<link rel="manifest" href="https://cachethq.io/site.webmanifest">
<!-- Fonts -->
<link rel="preconnect" href="https://fonts.bunny.net">
<link href="https://fonts.bunny.net/css?family=lexend:400,500,600&display=swap" rel="stylesheet" />
<!-- Scripts -->
<script type="text/javascript">const Ziggy={"url":"https:\/\/cachethq.io","port":null,"defaults":{},"routes":{"filament.exports.download":{"uri":"filament\/exports\/{export}\/download","methods":["GET","HEAD"],"parameters":["export"],"bindings":{"export":"id"}},"filament.imports.failed-rows.download":{"uri":"filament\/imports\/{import}\/failed-rows\/download","methods":["GET","HEAD"],"parameters":["import"],"bindings":{"import":"id"}},"filament.admin.auth.login":{"uri":"admin\/login","methods":["GET","HEAD"]},"filament.admin.auth.logout":{"uri":"admin\/logout","methods":["POST"]},"filament.admin.pages.dashboard":{"uri":"admin","methods":["GET","HEAD"]},"filament.admin.resources.beacons.index":{"uri":"admin\/beacons","methods":["GET","HEAD"]},"filament.admin.resources.beacons.view":{"uri":"admin\/beacons\/{record}","methods":["GET","HEAD"],"parameters":["record"]},"filament.admin.resources.companies.index":{"uri":"admin\/companies","methods":["GET","HEAD"]},"filament.admin.resources.companies.create":{"uri":"admin\/companies\/create","methods":["GET","HEAD"]},"filament.admin.resources.companies.edit":{"uri":"admin\/companies\/{record}\/edit","methods":["GET","HEAD"],"parameters":["record"]},"filament.admin.resources.faqs.index":{"uri":"admin\/faqs","methods":["GET","HEAD"]},"filament.admin.resources.faqs.create":{"uri":"admin\/faqs\/create","methods":["GET","HEAD"]},"filament.admin.resources.faqs.edit":{"uri":"admin\/faqs\/{record}\/edit","methods":["GET","HEAD"],"parameters":["record"]},"filament.admin.resources.sponsors.index":{"uri":"admin\/sponsors","methods":["GET","HEAD"]},"filament.admin.resources.sponsors.create":{"uri":"admin\/sponsors\/create","methods":["GET","HEAD"]},"filament.admin.resources.sponsors.edit":{"uri":"admin\/sponsors\/{record}\/edit","methods":["GET","HEAD"],"parameters":["record"]},"filament.admin.resources.updates.index":{"uri":"admin\/updates","methods":["GET","HEAD"]},"filament.admin.resources.updates.create":{"uri":"admin\/updates\/create","methods":["GET","HEAD"]},"filament.admin.resources.updates.edit":{"uri":"admin\/updates\/{record}\/edit","methods":["GET","HEAD"],"parameters":["record"]},"sanctum.csrf-cookie":{"uri":"sanctum\/csrf-cookie","methods":["GET","HEAD"]},"default.livewire.update":{"uri":"livewire\/update","methods":["POST"]},"livewire.upload-file":{"uri":"livewire\/upload-file","methods":["POST"]},"livewire.preview-file":{"uri":"livewire\/preview-file\/{filename}","methods":["GET","HEAD"],"parameters":["filename"]}}};!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t||self).route=e()}(this,function(){function t(t,e){for(var n=0;n<e.length;n++){var r=e[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,u(r.key),r)}}function e(e,n,r){return n&&t(e.prototype,n),r&&t(e,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function n(){return n=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)({}).hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},n.apply(null,arguments)}function r(t){return r=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},r(t)}function o(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(t){}return(o=function(){return!!t})()}function i(t,e){return i=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t},i(t,e)}function u(t){var e=function(t){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,"string");if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t);return"symbol"==typeof e?e:e+""}function f(t){var e="function"==typeof Map?new Map:void 0;return f=function(t){if(null===t||!function(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(e){return"function"==typeof t}}(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==e){if(e.has(t))return e.get(t);e.set(t,n)}function n(){return function(t,e,n){if(o())return Reflect.construct.apply(null,arguments);var r=[null];r.push.apply(r,e);var u=new(t.bind.apply(t,r));return n&&i(u,n.prototype),u}(t,arguments,r(this).constructor)}return n.prototype=Object.create(t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),i(n,t)},f(t)}const c=String.prototype.replace,l=/%20/g,a={RFC1738:function(t){return c.call(t,l,"+")},RFC3986:function(t){return String(t)}};var s="RFC3986";const p=Object.prototype.hasOwnProperty,y=Array.isArray,d=new WeakMap;var b=function(t,e){return d.set(t,e),t};function v(t){return d.has(t)}var h=function(t){return d.get(t)},m=function(t,e){d.set(t,e)};const g=function(){const t=[];for(let e=0;e<256;++e)t.push("%"+((e<16?"0":"")+e.toString(16)).toUpperCase());return t}(),w=function(t,e){const n=e&&e.plainObjects?Object.create(null):{};for(let e=0;e<t.length;++e)void 0!==t[e]&&(n[e]=t[e]);return n},j=function t(e,n,r){if(!n)return e;if("object"!=typeof n){if(y(e))e.push(n);else{if(!e||"object"!=typeof e)return[e,n];if(v(e)){var o=h(e)+1;e[o]=n,m(e,o)}else(r&&(r.plainObjects||r.allowPrototypes)||!p.call(Object.prototype,n))&&(e[n]=!0)}return e}if(!e||"object"!=typeof e){if(v(n)){for(var i=Object.keys(n),u=r&&r.plainObjects?{__proto__:null,0:e}:{0:e},f=0;f<i.length;f++)u[parseInt(i[f],10)+1]=n[i[f]];return b(u,h(n)+1)}return[e].concat(n)}let c=e;return y(e)&&!y(n)&&(c=w(e,r)),y(e)&&y(n)?(n.forEach(function(n,o){if(p.call(e,o)){const i=e[o];i&&"object"==typeof i&&n&&"object"==typeof n?e[o]=t(i,n,r):e.push(n)}else e[o]=n}),e):Object.keys(n).reduce(function(e,o){const i=n[o];return e[o]=p.call(e,o)?t(e[o],i,r):i,e},c)},O=1024,E=function(t,e,n,r){if(v(t)){var o=h(t)+1;return t[o]=e,m(t,o),t}var i=[].concat(t,e);return i.length>n?b(w(i,{plainObjects:r}),i.length-1):i},T=function(t,e){if(y(t)){const n=[];for(let r=0;r<t.length;r+=1)n.push(e(t[r]));return n}return e(t)},R=Object.prototype.hasOwnProperty,k={brackets:function(t){return t+"[]"},comma:"comma",indices:function(t,e){return t+"["+e+"]"},repeat:function(t){return t}},S=Array.isArray,I=Array.prototype.push,A=function(t,e){I.apply(t,S(e)?e:[e])},D=Date.prototype.toISOString,$={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:function(t,e,n,r,o){if(0===t.length)return t;let i=t;if("symbol"==typeof t?i=Symbol.prototype.toString.call(t):"string"!=typeof t&&(i=String(t)),"iso-8859-1"===n)return escape(i).replace(/%u[0-9a-f]{4}/gi,function(t){return"%26%23"+parseInt(t.slice(2),16)+"%3B"});let u="";for(let t=0;t<i.length;t+=O){const e=i.length>=O?i.slice(t,t+O):i,n=[];for(let t=0;t<e.length;++t){let r=e.charCodeAt(t);45===r||46===r||95===r||126===r||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||"RFC1738"===o&&(40===r||41===r)?n[n.length]=e.charAt(t):r<128?n[n.length]=g[r]:r<2048?n[n.length]=g[192|r>>6]+g[128|63&r]:r<55296||r>=57344?n[n.length]=g[224|r>>12]+g[128|r>>6&63]+g[128|63&r]:(t+=1,r=65536+((1023&r)<<10|1023&e.charCodeAt(t)),n[n.length]=g[240|r>>18]+g[128|r>>12&63]+g[128|r>>6&63]+g[128|63&r])}u+=n.join("")}return u},encodeValuesOnly:!1,format:s,formatter:a[s],indices:!1,serializeDate:function(t){return D.call(t)},skipNulls:!1,strictNullHandling:!1},N={},_=function(t,e,n,r,o,i,u,f,c,l,a,s,p,y,d,b,v,h){let m=t,g=h,w=0,j=!1;for(;void 0!==(g=g.get(N))&&!j;){const e=g.get(t);if(w+=1,void 0!==e){if(e===w)throw new RangeError("Cyclic object value");j=!0}void 0===g.get(N)&&(w=0)}if("function"==typeof l?m=l(e,m):m instanceof Date?m=p(m):"comma"===n&&S(m)&&(m=T(m,function(t){return t instanceof Date?p(t):t})),null===m){if(i)return c&&!b?c(e,$.encoder,v,"key",y):e;m=""}if("string"==typeof(O=m)||"number"==typeof O||"boolean"==typeof O||"symbol"==typeof O||"bigint"==typeof O||function(t){return!(!t||"object"!=typeof t||!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t)))}(m))return c?[d(b?e:c(e,$.encoder,v,"key",y))+"="+d(c(m,$.encoder,v,"value",y))]:[d(e)+"="+d(String(m))];var O;const E=[];if(void 0===m)return E;let R;if("comma"===n&&S(m))b&&c&&(m=T(m,c)),R=[{value:m.length>0?m.join(",")||null:void 0}];else if(S(l))R=l;else{const t=Object.keys(m);R=a?t.sort(a):t}const k=f?e.replace(/\./g,"%2E"):e,I=r&&S(m)&&1===m.length?k+"[]":k;if(o&&S(m)&&0===m.length)return I+"[]";for(let e=0;e<R.length;++e){const g=R[e],j="object"==typeof g&&void 0!==g.value?g.value:m[g];if(u&&null===j)continue;const O=s&&f?g.replace(/\./g,"%2E"):g,T=S(m)?"function"==typeof n?n(I,O):I:I+(s?"."+O:"["+O+"]");h.set(t,w);const k=new WeakMap;k.set(N,h),A(E,_(j,T,n,r,o,i,u,f,"comma"===n&&b&&S(m)?null:c,l,a,s,p,y,d,b,v,k))}return E},x=Object.prototype.hasOwnProperty,C=Array.isArray,P={allowDots:!1,allowEmptyArrays:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decodeDotInKeys:!1,decoder:function(t,e,n){const r=t.replace(/\+/g," ");if("iso-8859-1"===n)return r.replace(/%[0-9a-f]{2}/gi,unescape);try{return decodeURIComponent(r)}catch(t){return r}},delimiter:"&",depth:5,duplicates:"combine",ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},F=function(t){return t.replace(/&#(\d+);/g,function(t,e){return String.fromCharCode(parseInt(e,10))})},U=function(t,e){return t&&"string"==typeof t&&e.comma&&t.indexOf(",")>-1?t.split(","):t},q=function(t,e,n,r){if(!t)return;const o=n.allowDots?t.replace(/\.([^.[]+)/g,"[$1]"):t,i=/(\[[^[\]]*])/g;let u=n.depth>0&&/(\[[^[\]]*])/.exec(o);const f=u?o.slice(0,u.index):o,c=[];if(f){if(!n.plainObjects&&x.call(Object.prototype,f)&&!n.allowPrototypes)return;c.push(f)}let l=0;for(;n.depth>0&&null!==(u=i.exec(o))&&l<n.depth;){if(l+=1,!n.plainObjects&&x.call(Object.prototype,u[1].slice(1,-1))&&!n.allowPrototypes)return;c.push(u[1])}return u&&c.push("["+o.slice(u.index)+"]"),function(t,e,n,r){let o=r?e:U(e,n);for(let e=t.length-1;e>=0;--e){let r;const i=t[e];if("[]"===i&&n.parseArrays)r=v(o)?o:n.allowEmptyArrays&&(""===o||n.strictNullHandling&&null===o)?[]:E([],o,n.arrayLimit,n.plainObjects);else{r=n.plainObjects?Object.create(null):{};const t="["===i.charAt(0)&&"]"===i.charAt(i.length-1)?i.slice(1,-1):i,e=n.decodeDotInKeys?t.replace(/%2E/g,"."):t,u=parseInt(e,10);n.parseArrays||""!==e?!isNaN(u)&&i!==e&&String(u)===e&&u>=0&&n.parseArrays&&u<=n.arrayLimit?(r=[],r[u]=o):"__proto__"!==e&&(r[e]=o):r={0:o}}o=r}return o}(c,e,n,r)};function K(t,e){const n=function(t){if(!t)return P;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.decodeDotInKeys&&"boolean"!=typeof t.decodeDotInKeys)throw new TypeError("`decodeDotInKeys` option can only be `true` or `false`, when provided");if(null!=t.decoder&&"function"!=typeof t.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");const e=void 0===t.charset?P.charset:t.charset,n=void 0===t.duplicates?P.duplicates:t.duplicates;if("combine"!==n&&"first"!==n&&"last"!==n)throw new TypeError("The duplicates option must be either combine, first, or last");return{allowDots:void 0===t.allowDots?!0===t.decodeDotInKeys||P.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:P.allowEmptyArrays,allowPrototypes:"boolean"==typeof t.allowPrototypes?t.allowPrototypes:P.allowPrototypes,allowSparse:"boolean"==typeof t.allowSparse?t.allowSparse:P.allowSparse,arrayLimit:"number"==typeof t.arrayLimit?t.arrayLimit:P.arrayLimit,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:P.charsetSentinel,comma:"boolean"==typeof t.comma?t.comma:P.comma,decodeDotInKeys:"boolean"==typeof t.decodeDotInKeys?t.decodeDotInKeys:P.decodeDotInKeys,decoder:"function"==typeof t.decoder?t.decoder:P.decoder,delimiter:"string"==typeof t.delimiter||(r=t.delimiter,"[object RegExp]"===Object.prototype.toString.call(r))?t.delimiter:P.delimiter,depth:"number"==typeof t.depth||!1===t.depth?+t.depth:P.depth,duplicates:n,ignoreQueryPrefix:!0===t.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof t.interpretNumericEntities?t.interpretNumericEntities:P.interpretNumericEntities,parameterLimit:"number"==typeof t.parameterLimit?t.parameterLimit:P.parameterLimit,parseArrays:!1!==t.parseArrays,plainObjects:"boolean"==typeof t.plainObjects?t.plainObjects:P.plainObjects,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:P.strictNullHandling};var r}(e);if(""===t||null==t)return n.plainObjects?Object.create(null):{};const r="string"==typeof t?function(t,e){const n={__proto__:null},r=(e.ignoreQueryPrefix?t.replace(/^\?/,""):t).split(e.delimiter,Infinity===e.parameterLimit?void 0:e.parameterLimit);let o,i=-1,u=e.charset;if(e.charsetSentinel)for(o=0;o<r.length;++o)0===r[o].indexOf("utf8=")&&("utf8=%E2%9C%93"===r[o]?u="utf-8":"utf8=%26%2310003%3B"===r[o]&&(u="iso-8859-1"),i=o,o=r.length);for(o=0;o<r.length;++o){if(o===i)continue;const t=r[o],f=t.indexOf("]="),c=-1===f?t.indexOf("="):f+1;let l,a;-1===c?(l=e.decoder(t,P.decoder,u,"key"),a=e.strictNullHandling?null:""):(l=e.decoder(t.slice(0,c),P.decoder,u,"key"),a=T(U(t.slice(c+1),e),function(t){return e.decoder(t,P.decoder,u,"value")})),a&&e.interpretNumericEntities&&"iso-8859-1"===u&&(a=F(a)),t.indexOf("[]=")>-1&&(a=C(a)?[a]:a);const s=x.call(n,l);s&&"combine"===e.duplicates?n[l]=E(n[l],a,e.arrayLimit,e.plainObjects):s&&"last"!==e.duplicates||(n[l]=a)}return n}(t,n):t;let o=n.plainObjects?Object.create(null):{};const i=Object.keys(r);for(let e=0;e<i.length;++e){const u=i[e],f=q(u,r[u],n,"string"==typeof t);o=j(o,f,n)}return!0===n.allowSparse?o:function(t){const e=[{obj:{o:t},prop:"o"}],n=[];for(let t=0;t<e.length;++t){const r=e[t],o=r.obj[r.prop],i=Object.keys(o);for(let t=0;t<i.length;++t){const r=i[t],u=o[r];"object"==typeof u&&null!==u&&-1===n.indexOf(u)&&(e.push({obj:o,prop:r}),n.push(u))}}return function(t){for(;t.length>1;){const e=t.pop(),n=e.obj[e.prop];if(y(n)){const t=[];for(let e=0;e<n.length;++e)void 0!==n[e]&&t.push(n[e]);e.obj[e.prop]=t}}}(e),t}(o)}var Z=/*#__PURE__*/function(){function t(t,e,n){var r,o;this.name=t,this.definition=e,this.bindings=null!=(r=e.bindings)?r:{},this.wheres=null!=(o=e.wheres)?o:{},this.config=n}var n=t.prototype;return n.matchesUrl=function(t){var e,n=this;if(!this.definition.methods.includes("GET"))return!1;var r=this.template.replace(/[.*+$()[\]]/g,"\\$&").replace(/(\/?){([^}?]*)(\??)}/g,function(t,e,r,o){var i,u="(?<"+r+">"+((null==(i=n.wheres[r])?void 0:i.replace(/(^\^)|(\$$)/g,""))||"[^/?]+")+")";return o?"("+e+u+")?":""+e+u}).replace(/^\w+:\/\//,""),o=t.replace(/^\w+:\/\//,"").split("?"),i=o[0],u=o[1],f=null!=(e=new RegExp("^"+r+"/?$").exec(i))?e:new RegExp("^"+r+"/?$").exec(decodeURI(i));if(f){for(var c in f.groups)f.groups[c]="string"==typeof f.groups[c]?decodeURIComponent(f.groups[c]):f.groups[c];return{params:f.groups,query:K(u)}}return!1},n.compile=function(t){var e=this;return this.parameterSegments.length?this.template.replace(/{([^}?]+)(\??)}/g,function(n,r,o){var i,u;if(!o&&[null,void 0].includes(t[r]))throw new Error("Ziggy error: '"+r+"' parameter is required for route '"+e.name+"'.");if(e.wheres[r]&&!new RegExp("^"+(o?"("+e.wheres[r]+")?":e.wheres[r])+"$").test(null!=(u=t[r])?u:""))throw new Error("Ziggy error: '"+r+"' parameter '"+t[r]+"' does not match required format '"+e.wheres[r]+"' for route '"+e.name+"'.");return encodeURI(null!=(i=t[r])?i:"").replace(/%7C/g,"|").replace(/%25/g,"%").replace(/\$/g,"%24")}).replace(this.config.absolute?/(\.[^/]+?)(\/\/)/:/(^)(\/\/)/,"$1/").replace(/\/+$/,""):this.template},e(t,[{key:"template",get:function(){var t=(this.origin+"/"+this.definition.uri).replace(/\/+$/,"");return""===t?"/":t}},{key:"origin",get:function(){return this.config.absolute?this.definition.domain?""+this.config.url.match(/^\w+:\/\//)[0]+this.definition.domain+(this.config.port?":"+this.config.port:""):this.config.url:""}},{key:"parameterSegments",get:function(){var t,e;return null!=(t=null==(e=this.template.match(/{[^}?]+\??}/g))?void 0:e.map(function(t){return{name:t.replace(/{|\??}/g,""),required:!/\?}$/.test(t)}}))?t:[]}}])}(),B=/*#__PURE__*/function(t){function r(e,r,o,i){var u;if(void 0===o&&(o=!0),(u=t.call(this)||this).t=null!=i?i:"undefined"!=typeof Ziggy?Ziggy:null==globalThis?void 0:globalThis.Ziggy,!u.t&&"undefined"!=typeof document&&document.getElementById("ziggy-routes-json")&&(globalThis.Ziggy=JSON.parse(document.getElementById("ziggy-routes-json").textContent),u.t=globalThis.Ziggy),u.t=n({},u.t,{absolute:o}),e){if(!u.t.routes[e])throw new Error("Ziggy error: route '"+e+"' is not in the route list.");u.i=new Z(e,u.t.routes[e],u.t),u.u=u.l(r)}return u}var o,u;u=t,(o=r).prototype=Object.create(u.prototype),o.prototype.constructor=o,i(o,u);var f=r.prototype;return f.toString=function(){var t=this,e=Object.keys(this.u).filter(function(e){return!t.i.parameterSegments.some(function(t){return t.name===e})}).filter(function(t){return"_query"!==t}).reduce(function(e,r){var o;return n({},e,((o={})[r]=t.u[r],o))},{});return this.i.compile(this.u)+function(t,e){let n=t;const r=function(t){if(!t)return $;if(void 0!==t.allowEmptyArrays&&"boolean"!=typeof t.allowEmptyArrays)throw new TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==t.encodeDotInKeys&&"boolean"!=typeof t.encodeDotInKeys)throw new TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!=t.encoder&&"function"!=typeof t.encoder)throw new TypeError("Encoder has to be a function.");const e=t.charset||$.charset;if(void 0!==t.charset&&"utf-8"!==t.charset&&"iso-8859-1"!==t.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let n=s;if(void 0!==t.format){if(!R.call(a,t.format))throw new TypeError("Unknown format option provided.");n=t.format}const r=a[n];let o,i=$.filter;if(("function"==typeof t.filter||S(t.filter))&&(i=t.filter),o=t.arrayFormat in k?t.arrayFormat:"indices"in t?t.indices?"indices":"repeat":$.arrayFormat,"commaRoundTrip"in t&&"boolean"!=typeof t.commaRoundTrip)throw new TypeError("`commaRoundTrip` must be a boolean, or absent");return{addQueryPrefix:"boolean"==typeof t.addQueryPrefix?t.addQueryPrefix:$.addQueryPrefix,allowDots:void 0===t.allowDots?!0===t.encodeDotInKeys||$.allowDots:!!t.allowDots,allowEmptyArrays:"boolean"==typeof t.allowEmptyArrays?!!t.allowEmptyArrays:$.allowEmptyArrays,arrayFormat:o,charset:e,charsetSentinel:"boolean"==typeof t.charsetSentinel?t.charsetSentinel:$.charsetSentinel,commaRoundTrip:t.commaRoundTrip,delimiter:void 0===t.delimiter?$.delimiter:t.delimiter,encode:"boolean"==typeof t.encode?t.encode:$.encode,encodeDotInKeys:"boolean"==typeof t.encodeDotInKeys?t.encodeDotInKeys:$.encodeDotInKeys,encoder:"function"==typeof t.encoder?t.encoder:$.encoder,encodeValuesOnly:"boolean"==typeof t.encodeValuesOnly?t.encodeValuesOnly:$.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:"function"==typeof t.serializeDate?t.serializeDate:$.serializeDate,skipNulls:"boolean"==typeof t.skipNulls?t.skipNulls:$.skipNulls,sort:"function"==typeof t.sort?t.sort:null,strictNullHandling:"boolean"==typeof t.strictNullHandling?t.strictNullHandling:$.strictNullHandling}}(e);let o,i;"function"==typeof r.filter?(i=r.filter,n=i("",n)):S(r.filter)&&(i=r.filter,o=i);const u=[];if("object"!=typeof n||null===n)return"";const f=k[r.arrayFormat],c="comma"===f&&r.commaRoundTrip;o||(o=Object.keys(n)),r.sort&&o.sort(r.sort);const l=new WeakMap;for(let t=0;t<o.length;++t){const e=o[t];r.skipNulls&&null===n[e]||A(u,_(n[e],e,f,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}const p=u.join(r.delimiter);let y=!0===r.addQueryPrefix?"?":"";return r.charsetSentinel&&(y+="iso-8859-1"===r.charset?"utf8=%26%2310003%3B&":"utf8=%E2%9C%93&"),p.length>0?y+p:""}(n({},e,this.u._query),{addQueryPrefix:!0,arrayFormat:"indices",encodeValuesOnly:!0,skipNulls:!0,encoder:function(t,e){return"boolean"==typeof t?Number(t):e(t)}})},f.p=function(t){var e=this;t?this.t.absolute&&t.startsWith("/")&&(t=this.v().host+t):t=this.h();var r={},o=Object.entries(this.t.routes).find(function(n){return r=new Z(n[0],n[1],e.t).matchesUrl(t)})||[void 0,void 0];return n({name:o[0]},r,{route:o[1]})},f.h=function(){var t=this.v(),e=t.pathname,n=t.search;return(this.t.absolute?t.host+e:e.replace(this.t.url.replace(/^\w*:\/\/[^/]+/,""),"").replace(/^\/+/,"/"))+n},f.current=function(t,e){var r=this.p(),o=r.name,i=r.params,u=r.query,f=r.route;if(!t)return o;var c=new RegExp("^"+t.replace(/\./g,"\\.").replace(/\*/g,".*")+"$").test(o);if([null,void 0].includes(e)||!c)return c;var l=new Z(o,f,this.t);e=this.l(e,l);var a=n({},i,u);if(Object.values(e).every(function(t){return!t})&&!Object.values(a).some(function(t){return void 0!==t}))return!0;var s=function(t,e){return Object.entries(t).every(function(t){var n=t[0],r=t[1];return Array.isArray(r)&&Array.isArray(e[n])?r.every(function(t){return e[n].includes(t)||e[n].includes(decodeURIComponent(t))}):"object"==typeof r&&"object"==typeof e[n]&&null!==r&&null!==e[n]?s(r,e[n]):e[n]==r||e[n]==decodeURIComponent(r)})};return s(e,a)},f.v=function(){var t,e,n,r,o,i,u="undefined"!=typeof window?window.location:{},f=u.host,c=u.pathname,l=u.search;return{host:null!=(t=null==(e=this.t.location)?void 0:e.host)?t:void 0===f?"":f,pathname:null!=(n=null==(r=this.t.location)?void 0:r.pathname)?n:void 0===c?"":c,search:null!=(o=null==(i=this.t.location)?void 0:i.search)?o:void 0===l?"":l}},f.has=function(t){return this.t.routes.hasOwnProperty(t)},f.l=function(t,e){var r=this;void 0===t&&(t={}),void 0===e&&(e=this.i),null!=t||(t={}),t=["string","number"].includes(typeof t)?[t]:t;var o=e.parameterSegments.filter(function(t){return!r.t.defaults[t.name]});if(Array.isArray(t))t=t.reduce(function(t,e,r){var i,u;return n({},t,o[r]?((i={})[o[r].name]=e,i):"object"==typeof e?e:((u={})[e]="",u))},{});else if(1===o.length&&!t.hasOwnProperty(o[0].name)&&(t.hasOwnProperty(Object.values(e.bindings)[0])||t.hasOwnProperty("id"))){var i;(i={})[o[0].name]=t,t=i}return n({},this.m(e),this.j(t,e))},f.m=function(t){var e=this;return t.parameterSegments.filter(function(t){return e.t.defaults[t.name]}).reduce(function(t,r,o){var i,u=r.name;return n({},t,((i={})[u]=e.t.defaults[u],i))},{})},f.j=function(t,e){var r=e.bindings,o=e.parameterSegments;return Object.entries(t).reduce(function(t,e){var i,u,f=e[0],c=e[1];if(!c||"object"!=typeof c||Array.isArray(c)||!o.some(function(t){return t.name===f}))return n({},t,((u={})[f]=c,u));var l=c.hasOwnProperty(r[f])?r[f]:c.hasOwnProperty("id")?"id":void 0;if(void 0===l)throw new Error("Ziggy error: object passed as '"+f+"' parameter is missing route model binding key '"+r[f]+"'.");return n({},t,((i={})[f]=c[l],i))},{})},f.valueOf=function(){return this.toString()},e(r,[{key:"params",get:function(){var t=this.p();return n({},t.params,t.query)}},{key:"routeParams",get:function(){return this.p().params}},{key:"queryParams",get:function(){return this.p().query}}])}(/*#__PURE__*/f(String));return function(t,e,n,r){var o=new B(t,e,n,r);return t?o.toString():o}});
</script> <!-- Include our JS snippet to avoid form redirects -->
<script src="https://getsendstack.com/js/form.js"></script>
<!-- Optionally include our CSS -->
<link rel="preload" as="style" href="https://cachethq.io/build/assets/app-d2e8e03e.css" /><link rel="preload" as="style" href="https://cachethq.io/build/assets/Carbon-eff28261.css" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/app-d2c101ac.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/Welcome-f2973509.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/Carbon-00ab1674.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/Footer-2f28fa6d.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/ApplicationLogo-e7158a8c.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/_plugin-vue_export-helper-c27b6911.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/Header-d4a40744.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/HeartIcon-9ebe2dea.js" /><link rel="modulepreload" as="script" href="https://cachethq.io/build/assets/ShieldCheckIcon-af9bf0d2.js" /><link rel="stylesheet" href="https://cachethq.io/build/assets/app-d2e8e03e.css" data-navigate-track="reload" /><link rel="stylesheet" href="https://cachethq.io/build/assets/Carbon-eff28261.css" data-navigate-track="reload" /><script type="module" src="https://cachethq.io/build/assets/app-d2c101ac.js" data-navigate-track="reload"></script><script type="module" src="https://cachethq.io/build/assets/Welcome-f2973509.js" data-navigate-track="reload"></script> <title inertia>The open source status page system - Cachet Website</title>
<!-- Fathom -->
<script src="https://cdn.usefathom.com/script.js" data-site="GRVWZVUU" defer></script>
</head>
<body class="font-sans antialiased">
<div id="app" data-page="{&quot;component&quot;:&quot;Marketing/Welcome&quot;,&quot;props&quot;:{&quot;errors&quot;:{},&quot;auth&quot;:{&quot;user&quot;:null},&quot;ziggy&quot;:{&quot;url&quot;:&quot;https://cachethq.io&quot;,&quot;port&quot;:null,&quot;defaults&quot;:[],&quot;routes&quot;:{&quot;filament.exports.download&quot;:{&quot;uri&quot;:&quot;filament/exports/{export}/download&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;export&quot;],&quot;bindings&quot;:{&quot;export&quot;:&quot;id&quot;}},&quot;filament.imports.failed-rows.download&quot;:{&quot;uri&quot;:&quot;filament/imports/{import}/failed-rows/download&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;import&quot;],&quot;bindings&quot;:{&quot;import&quot;:&quot;id&quot;}},&quot;filament.admin.auth.login&quot;:{&quot;uri&quot;:&quot;admin/login&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.auth.logout&quot;:{&quot;uri&quot;:&quot;admin/logout&quot;,&quot;methods&quot;:[&quot;POST&quot;]},&quot;filament.admin.pages.dashboard&quot;:{&quot;uri&quot;:&quot;admin&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.beacons.index&quot;:{&quot;uri&quot;:&quot;admin/beacons&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.beacons.view&quot;:{&quot;uri&quot;:&quot;admin/beacons/{record}&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;record&quot;]},&quot;filament.admin.resources.companies.index&quot;:{&quot;uri&quot;:&quot;admin/companies&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.companies.create&quot;:{&quot;uri&quot;:&quot;admin/companies/create&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.companies.edit&quot;:{&quot;uri&quot;:&quot;admin/companies/{record}/edit&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;record&quot;]},&quot;filament.admin.resources.faqs.index&quot;:{&quot;uri&quot;:&quot;admin/faqs&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.faqs.create&quot;:{&quot;uri&quot;:&quot;admin/faqs/create&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.faqs.edit&quot;:{&quot;uri&quot;:&quot;admin/faqs/{record}/edit&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;record&quot;]},&quot;filament.admin.resources.sponsors.index&quot;:{&quot;uri&quot;:&quot;admin/sponsors&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.sponsors.create&quot;:{&quot;uri&quot;:&quot;admin/sponsors/create&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.sponsors.edit&quot;:{&quot;uri&quot;:&quot;admin/sponsors/{record}/edit&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;record&quot;]},&quot;filament.admin.resources.updates.index&quot;:{&quot;uri&quot;:&quot;admin/updates&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.updates.create&quot;:{&quot;uri&quot;:&quot;admin/updates/create&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;filament.admin.resources.updates.edit&quot;:{&quot;uri&quot;:&quot;admin/updates/{record}/edit&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;record&quot;]},&quot;sanctum.csrf-cookie&quot;:{&quot;uri&quot;:&quot;sanctum/csrf-cookie&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;]},&quot;default.livewire.update&quot;:{&quot;uri&quot;:&quot;livewire/update&quot;,&quot;methods&quot;:[&quot;POST&quot;]},&quot;livewire.upload-file&quot;:{&quot;uri&quot;:&quot;livewire/upload-file&quot;,&quot;methods&quot;:[&quot;POST&quot;]},&quot;livewire.preview-file&quot;:{&quot;uri&quot;:&quot;livewire/preview-file/{filename}&quot;,&quot;methods&quot;:[&quot;GET&quot;,&quot;HEAD&quot;],&quot;parameters&quot;:[&quot;filename&quot;]}},&quot;location&quot;:&quot;https://cachethq.io&quot;},&quot;production&quot;:true,&quot;sponsors&quot;:[{&quot;name&quot;:&quot;Jump24&quot;,&quot;href&quot;:&quot;https://www.jump24.co.uk/&quot;,&quot;logo&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/sponsors/jump24.svg&quot;},{&quot;name&quot;:&quot;Xyphen-IT&quot;,&quot;href&quot;:&quot;https://www.xyphen-it.nl&quot;,&quot;logo&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/sponsors/xyphen-it.svg&quot;},{&quot;name&quot;:&quot;Scramble by de:doc&quot;,&quot;href&quot;:&quot;https://scramble.dedoc.co&quot;,&quot;logo&quot;:&quot;https://github.com/dedoc.png&quot;}],&quot;usedBy&quot;:[{&quot;name&quot;:&quot;OpenSuse&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/opensuse.svg&quot;},{&quot;name&quot;:&quot;Uberspace&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/uberspace.svg&quot;},{&quot;name&quot;:&quot;European Environmental Agency&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/eea.svg&quot;},{&quot;name&quot;:&quot;Sky&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/sky.svg&quot;},{&quot;name&quot;:&quot;Lucky Orange&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/luckorange.svg&quot;},{&quot;name&quot;:&quot;Bosch&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/bosch.svg&quot;},{&quot;name&quot;:&quot;Gnome&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/gnome.svg&quot;},{&quot;name&quot;:&quot;Michelin&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/michelin.svg&quot;},{&quot;name&quot;:&quot;Orange&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/orange.svg&quot;},{&quot;name&quot;:&quot;Klevu&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/klevu.svg&quot;},{&quot;name&quot;:&quot;Boeing&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/boeing.svg&quot;},{&quot;name&quot;:&quot;Siemens&quot;,&quot;image&quot;:&quot;https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/siemens.svg&quot;}],&quot;faqs&quot;:[{&quot;id&quot;:1,&quot;question&quot;:&quot;What is Cachet?&quot;,&quot;answer&quot;:&quot;&lt;p&gt;Cachet is the leading open source status page system. It helps you transparently communicate downtime and system outages to your customers and stakeholders.&lt;/p&gt;&quot;},{&quot;id&quot;:2,&quot;question&quot;:&quot;Who is Cachet for?&quot;,&quot;answer&quot;:&quot;&lt;p&gt;Everyone. From personal projects to large enterprises, if you have a service that people rely on, you need Cachet to keep them informed.&lt;/p&gt;&quot;},{&quot;id&quot;:3,&quot;question&quot;:&quot;How much does Cachet cost?&quot;,&quot;answer&quot;:&quot;&lt;p&gt;Zero. Cachet is open source and free to self-host. If you want to support development, consider &lt;a href=\&quot;https://github.com/cachethq/cachet/?sponsor=1\&quot; class=\&quot;font-semibold text-primary-600 hover:text-primary-700\&quot;&gt;sponsoring us on GitHub.&lt;/a&gt;&lt;/p&gt;&quot;},{&quot;id&quot;:4,&quot;question&quot;:&quot;Is this Cachet v3?&quot;,&quot;answer&quot;:&quot;&lt;p&gt;Yes! We are back. We&#39;re rebuilding Cachet with Laravel, Tailwind, and Filament to make it faster and easier to use than ever. We&#39;re committed to making Cachet the best status page system available.&lt;/p&gt;&quot;},{&quot;id&quot;:5,&quot;question&quot;:&quot;Can you install Cachet for me?&quot;,&quot;answer&quot;:&quot;&lt;p&gt;We offer &lt;a href=\&quot;mailto:support@cachethq.io?subject=Cachet%20Installation\&quot; class=\&quot;font-semibold text-primary-600 hover:text-primary-700\&quot;&gt;professional installation&lt;/a&gt; for your business, handled by our team from start to finish.&lt;/p&gt;&quot;}],&quot;latestUpdate&quot;:{&quot;title&quot;:&quot;2024 Recap&quot;,&quot;link&quot;:&quot;https://blog.cachethq.io/2024-recap/&quot;}},&quot;url&quot;:&quot;/&quot;,&quot;version&quot;:&quot;10bed2140ede7aff1bf8e752485bcab8&quot;,&quot;clearHistory&quot;:false,&quot;encryptHistory&quot;:false}"><!--[--><!----><div class="bg-white min-h-screen"><header class="absolute inset-x-0 top-0 z-50"><nav class="mx-auto flex max-w-7xl items-center justify-between px-6 py-5 lg:px-8" aria-label="Global"><div class="flex lg:flex-1"><a href="/" class="-m-1.5 p-1.5"><span class="sr-only">Cachet</span><img class="h-8 md:h-10 w-auto" src="/build/assets/logomark-083de090.svg" alt="Cachet Logo"></a></div><div class="flex lg:hidden"><button type="button" class="-m-2.5 inline-flex items-center justify-center rounded-md p-2.5 text-gray-700"><span class="sr-only">Open main menu</span><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-6 w-6"><path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5"></path></svg></button></div><div class="hidden lg:flex lg:gap-x-9"><!--[--><a href="https://cachethq.io/docs" class="text-sm font-medium leading-6 text-gray-600 transition-colors hover:text-gray-950">Documentation</a><a href="https://v3.cachethq.io" class="text-sm font-medium leading-6 text-gray-600 transition-colors hover:text-gray-950">Demo</a><a href="/#features" class="text-sm font-medium leading-6 text-gray-600 transition-colors hover:text-gray-950">Features</a><a href="https://blog.cachethq.io" class="text-sm font-medium leading-6 text-gray-600 transition-colors hover:text-gray-950">Blog</a><a href="/sponsor" class="text-sm font-medium leading-6 text-gray-600 transition-colors hover:text-gray-950">Sponsor Cachet</a><!--]--></div><div class="hidden lg:flex lg:flex-1 lg:justify-end"></div></nav><!--[--><!----><div style="position:fixed;top:1;left:1;width:1;height:0;padding:0;margin:-1;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;display:none;"></div><!--]--></header><main class="isolate"><div class="relative overflow-hidden bg-gradient-to-b from-primary-50 via-white to-white pt-16"><div aria-hidden="true" class="absolute inset-x-0 top-0 h-[30rem] bg-[radial-gradient(ellipse_at_top,rgba(4,193,71,0.14),transparent_68%)]"></div><div class="relative py-16 sm:py-24 lg:py-28"><div class="mx-auto max-w-7xl px-6 lg:px-8"><div class="mb-7 flex justify-center transition-all duration-700 opacity-0 -translate-y-4"><a href="https://blog.cachethq.io/2024-recap/" class="group inline-flex items-center gap-x-2 rounded-full border border-gray-200 bg-white px-3.5 py-2 text-sm leading-6 text-gray-600 shadow-sm transition-colors hover:border-primary-200 hover:bg-primary-50"><span class="relative flex items-center gap-2"><span class="h-2 w-2 rounded-full bg-primary-500 shadow-[0_0_0_4px_rgba(4,193,71,0.14)]" aria-hidden="true"></span><span class="hidden md:inline font-medium">2024 Recap</span><span class="font-semibold text-primary-600"> Read the update <span aria-hidden="true" class="transition-transform group-hover:translate-x-0.5 inline-block">→</span></span></span></a></div><div class="mx-auto max-w-3xl text-center"><h1 class="text-4xl font-bold tracking-[-0.04em] text-gray-950 sm:text-6xl lg:text-7xl transition-all duration-700 delay-100 opacity-0 translate-y-8"><span class="block">Downtime happens.</span><span class="block text-primary-600">Communicate it.</span></h1><p class="mt-6 text-lg leading-8 text-gray-600 max-w-2xl mx-auto transition-all duration-700 delay-200 opacity-0 translate-y-8"> Cachet is the open source status page trusted by thousands. Keep your customers in the loop and build trust, even when things go wrong. </p><div class="mt-9 flex flex-col items-center justify-center gap-y-4 transition-all duration-700 delay-300 opacity-0 translate-y-8"><div class="flex flex-wrap items-center justify-center gap-4"><a href="https://v3.cachethq.io" class="group relative inline-flex items-center gap-2 rounded-lg bg-gray-950 px-5 py-3 text-sm font-semibold text-white shadow-sm transition-all hover:-translate-y-0.5 hover:bg-primary-700 hover:shadow-lg"><span>View 3.x demo</span><svg class="h-4 w-4 transition-transform group-hover:translate-x-0.5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path></svg></a><a href="https://demo.cachethq.io" class="group inline-flex items-center gap-2 rounded-lg border border-gray-300 bg-white px-5 py-3 text-sm font-semibold text-gray-700 shadow-sm transition-all hover:-translate-y-0.5 hover:border-gray-400 hover:shadow-md"><span>2.x demo</span></a></div><a href="https://github.com/cachethq/cachet" class="group inline-flex items-center gap-2 text-sm font-semibold text-gray-600 transition-colors hover:text-primary-600"><svg class="h-5 w-5" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg><span>Star on GitHub</span><span aria-hidden="true" class="transition-transform group-hover:translate-x-0.5">→</span></a></div></div><div class="mt-14 sm:mt-20 transition-all duration-1000 delay-500 opacity-0 translate-y-12"><div class="relative mx-auto max-w-5xl"><div class="absolute -inset-3 rounded-2xl bg-primary-500/15 blur-2xl"></div><div class="relative rounded-2xl border border-gray-200 bg-white p-2 lg:p-3 shadow-2xl shadow-gray-900/10"><div class="rounded-xl overflow-hidden ring-1 ring-gray-900/5"><img src="/build/assets/screenshot-v3-22880707.png" alt="Cachet 3.x Screenshot" class="w-full" title="Cachet 3.x Screenshot"></div></div></div></div></div></div></div><div class="relative py-16 sm:py-20 transition-all duration-1000 opacity-0"><div class="mx-auto max-w-7xl px-6 lg:px-8"><div class="text-center mb-12"><p class="text-sm font-semibold text-primary-600 uppercase tracking-wider mb-2 transition-all duration-700 opacity-0 translate-y-4"> Trusted worldwide </p><h3 class="text-2xl sm:text-3xl font-bold text-gray-900 transition-all duration-700 delay-100 opacity-0 translate-y-4"> Powering status pages for industry leaders </h3></div><div class="relative transition-all duration-700 delay-200 opacity-0 translate-y-8"><div class="relative rounded-2xl border border-gray-200 bg-gray-50/70 p-8 lg:p-10"><div class="grid grid-cols-2 sm:grid-cols-3 md:grid-cols-4 lg:grid-cols-6 gap-8 lg:gap-12 items-center justify-items-center"><!--[--><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/opensuse.svg" title="OpenSuse" alt="OpenSuse" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">OpenSuse</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/uberspace.svg" title="Uberspace" alt="Uberspace" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Uberspace</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/eea.svg" title="European Environmental Agency" alt="European Environmental Agency" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">European Environmental Agency</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/sky.svg" title="Sky" alt="Sky" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Sky</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/luckorange.svg" title="Lucky Orange" alt="Lucky Orange" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Lucky Orange</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/bosch.svg" title="Bosch" alt="Bosch" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Bosch</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/gnome.svg" title="Gnome" alt="Gnome" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Gnome</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/michelin.svg" title="Michelin" alt="Michelin" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Michelin</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/orange.svg" title="Orange" alt="Orange" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Orange</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/klevu.svg" title="Klevu" alt="Klevu" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Klevu</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/boeing.svg" title="Boeing" alt="Boeing" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Boeing</span></div><div class="group relative flex items-center justify-center h-16 w-full transition-all duration-500 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/companies/siemens.svg" title="Siemens" alt="Siemens" class="max-h-10 lg:max-h-12 w-auto grayscale opacity-50 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-6 left-1/2 -translate-x-1/2 text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap">Siemens</span></div><!--]--></div></div></div><div class="mt-12 grid grid-cols-2 md:grid-cols-4 gap-4 lg:gap-8 transition-all duration-700 delay-500 opacity-0 translate-y-8"><div class="text-center p-4 rounded-xl border border-gray-100 bg-white"><div class="text-3xl lg:text-4xl font-bold text-gray-900">15k+</div><div class="text-sm text-gray-500 mt-1">GitHub stars</div></div><div class="text-center p-4 rounded-xl border border-gray-100 bg-white"><div class="text-3xl lg:text-4xl font-bold text-gray-900">2k+</div><div class="text-sm text-gray-500 mt-1">Forks</div></div><div class="text-center p-4 rounded-xl border border-gray-100 bg-white"><div class="text-3xl lg:text-4xl font-bold text-gray-900">10+</div><div class="text-sm text-gray-500 mt-1">Languages</div></div><div class="text-center p-4 rounded-xl border border-gray-100 bg-white"><div class="text-3xl lg:text-4xl font-bold text-gray-900">1M+</div><div class="text-sm text-gray-500 mt-1">Downloads</div></div></div></div></div><div id="features" class="relative py-24 sm:py-32 overflow-hidden"><!----><div class="relative mx-auto max-w-7xl px-6 lg:px-8"><div class="mx-auto max-w-2xl text-center mb-16 sm:mb-20 transition-all duration-700 opacity-0 translate-y-8"><span class="inline-flex items-center rounded-full glass-light px-4 py-1.5 text-sm font-medium text-primary-700 mb-4"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-4 w-4 mr-1.5"><path stroke-linecap="round" stroke-linejoin="round" d="M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"></path></svg> Features </span><h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl lg:text-5xl"> Turn incidents into <span class="text-gradient">trust</span></h2><p class="mt-4 text-lg leading-8 text-gray-600"> Everything you need to manage downtime with transparency and style. </p></div><div class="grid grid-cols-1 md:grid-cols-3 gap-4 lg:gap-6"><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-white/90 backdrop-blur-xl border border-white/60 shadow-lg shadow-gray-900/5 md:col-span-2 md:row-span-2 hover:-translate-y-1 hover:shadow-xl hover:shadow-gray-900/10" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><div class="bg-primary-200 absolute -right-12 -top-12 h-40 w-40 rounded-full opacity-40 blur-3xl transition-all duration-700 ease-out group-hover:opacity-60 group-hover:scale-110"></div><div class="absolute -left-8 -bottom-8 h-32 w-32 rounded-full bg-blue-200/30 blur-3xl opacity-0 transition-opacity duration-700 group-hover:opacity-50"></div><!----><div class="relative z-10 h-full flex flex-col"><!--[--><div class="flex-1 flex items-center justify-center mb-6"><div class="w-full max-w-sm"><div class="glass-light rounded-xl shadow-lg border border-white/50 overflow-hidden transform transition-all duration-500 group-hover:-translate-y-1 group-hover:shadow-2xl"><div class="bg-gray-100/80 backdrop-blur px-4 py-2.5 border-b border-gray-200/50 flex items-center gap-2"><div class="flex gap-1.5"><div class="w-2.5 h-2.5 rounded-full bg-red-400/80"></div><div class="w-2.5 h-2.5 rounded-full bg-yellow-400/80"></div><div class="w-2.5 h-2.5 rounded-full bg-green-400/80"></div></div><div class="flex-1 mx-4"><div class="h-5 bg-white/60 rounded-md flex items-center px-2"><div class="h-2 w-20 bg-gray-200 rounded"></div></div></div></div><div class="p-5 space-y-3 bg-white/50"><div class="flex items-center justify-between"><div class="h-3 w-20 bg-gray-200/80 rounded"></div><div class="flex items-center gap-1.5 px-2 py-1 bg-primary-100 rounded-full"><span class="relative flex h-2 w-2"><span class="animate-ping absolute inline-flex h-full w-full rounded-full bg-primary-400 opacity-75"></span><span class="relative inline-flex rounded-full h-2 w-2 bg-primary-500"></span></span><span class="text-[10px] font-medium text-primary-700">Operational</span></div></div><div class="space-y-2"><div class="h-9 w-full bg-gray-50 rounded-lg border border-gray-100 flex items-center px-3 gap-2"><div class="h-1.5 w-1.5 rounded-full bg-primary-500"></div><div class="h-2 w-24 bg-gray-200 rounded"></div></div><div class="h-9 w-full bg-gray-50 rounded-lg border border-gray-100 flex items-center px-3 gap-2"><div class="h-1.5 w-1.5 rounded-full bg-primary-500"></div><div class="h-2 w-32 bg-gray-200 rounded"></div></div><div class="h-9 w-full bg-gray-50 rounded-lg border border-gray-100 flex items-center px-3 gap-2"><div class="h-1.5 w-1.5 rounded-full bg-yellow-500"></div><div class="h-2 w-20 bg-gray-200 rounded"></div></div></div></div></div></div></div><div class="mt-auto"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-primary-500 to-primary-600 shadow-lg shadow-primary-500/25 transition-transform duration-300 group-hover:scale-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-white"><path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"></path></svg></div><h3 class="text-xl font-bold text-gray-900">Stunning by design</h3></div><p class="text-gray-600 leading-relaxed"> Your status page reflects your brand. Cachet looks polished and professional on every device. </p></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-gray-900/95 backdrop-blur-xl border border-white/10 text-white shadow-lg shadow-gray-900/20 hover:shadow-xl hover:shadow-primary-500/20 hover:border-primary-500/30" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><!----><!----><div class="absolute -right-8 -top-8 h-32 w-32 rounded-full bg-primary-500/10 blur-3xl transition-all duration-700 ease-out group-hover:bg-primary-500/25 group-hover:scale-125"></div><div class="relative z-10 h-full flex flex-col"><!--[--><div class="mb-6 font-mono text-xs"><div class="text-primary-400 mb-1">POST /api/incidents</div><div class="glass rounded-lg p-3 space-y-1"><div class="text-gray-400">{</div><div class="pl-3 flex"><span class="text-purple-400">&quot;name&quot;</span><span class="text-gray-400">:</span><span class="text-primary-400 ml-1 typing-cursor">&quot;API outage&quot;</span></div><div class="pl-3 flex"><span class="text-purple-400">&quot;status&quot;</span><span class="text-gray-400">:</span><span class="text-blue-400 ml-1">2</span></div><div class="pl-3 flex opacity-60 group-hover:opacity-100 transition-opacity"><span class="text-purple-400">&quot;visible&quot;</span><span class="text-gray-400">:</span><span class="text-blue-400 ml-1">true</span></div><div class="text-gray-400">}</div></div></div><div class="mt-auto"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gray-800 border border-gray-700 transition-all duration-300 group-hover:border-primary-500/50 group-hover:shadow-lg group-hover:shadow-primary-500/20"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-primary-400"><path stroke-linecap="round" stroke-linejoin="round" d="M17.25 6.75L22.5 12l-5.25 5.25m-10.5 0L1.5 12l5.25-5.25m7.5-3l-4.5 16.5"></path></svg></div><h3 class="text-xl font-bold text-white">API first</h3></div><p class="text-gray-400 text-sm leading-relaxed"> Automate incidents with our robust JSON API. Hook into your monitoring tools effortlessly. </p></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-white/70 backdrop-blur-xl border border-white/40 shadow-lg shadow-gray-900/5 hover:-translate-y-1 hover:shadow-xl hover:shadow-gray-900/10" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><div class="bg-primary-200 absolute -right-12 -top-12 h-40 w-40 rounded-full opacity-40 blur-3xl transition-all duration-700 ease-out group-hover:opacity-60 group-hover:scale-110"></div><!----><!----><div class="relative z-10 h-full flex flex-col"><!--[--><div class="mb-6 space-y-2"><div class="inline-flex px-3 py-1.5 glass-light rounded-lg text-sm text-gray-700 transform transition-all duration-300 group-hover:translate-x-2"> Hello </div><div class="inline-flex px-3 py-1.5 bg-primary-50 border border-primary-100 rounded-lg text-sm text-primary-700 transform transition-all duration-500 group-hover:translate-x-4 delay-75"> Bonjour </div><div class="inline-flex px-3 py-1.5 glass-light rounded-lg text-sm text-gray-700 transform transition-all duration-300 group-hover:translate-x-2 delay-100"> Hola </div><div class="inline-flex px-3 py-1.5 glass-light rounded-lg text-sm text-gray-700 transform transition-all duration-500 group-hover:translate-x-3 delay-150 opacity-60 group-hover:opacity-100"> Hallo </div></div><div class="mt-auto"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-blue-500 to-indigo-600 shadow-lg shadow-blue-500/25 transition-transform duration-300 group-hover:scale-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-white"><path stroke-linecap="round" stroke-linejoin="round" d="M12 21a9.004 9.004 0 008.716-6.747M12 21a9.004 9.004 0 01-8.716-6.747M12 21c2.485 0 4.5-4.03 4.5-9S14.485 3 12 3m0 18c-2.485 0-4.5-4.03-4.5-9S9.515 3 12 3m0 0a8.997 8.997 0 017.843 4.582M12 3a8.997 8.997 0 00-7.843 4.582m15.686 0A11.953 11.953 0 0112 10.5c-2.998 0-5.74-1.1-7.843-2.918m15.686 0A8.959 8.959 0 0121 12c0 .778-.099 1.533-.284 2.253m0 0A17.919 17.919 0 0112 16.5c-3.162 0-6.133-.815-8.716-2.247m0 0A9.015 9.015 0 013 12c0-1.605.42-3.113 1.157-4.418"></path></svg></div><h3 class="text-xl font-bold text-gray-900">Global ready</h3></div><p class="text-gray-600 text-sm leading-relaxed"> Support for 10+ languages to keep your global audience informed. </p></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-white/90 backdrop-blur-xl border border-white/60 shadow-lg shadow-gray-900/5 hover:-translate-y-1 hover:shadow-xl hover:shadow-gray-900/10" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><div class="bg-primary-200 absolute -right-12 -top-12 h-40 w-40 rounded-full opacity-40 blur-3xl transition-all duration-700 ease-out group-hover:opacity-60 group-hover:scale-110"></div><!----><!----><div class="relative z-10 h-full flex flex-col"><!--[--><div class="mb-6"><div class="grid grid-cols-7 gap-1.5 w-full max-w-[180px]"><!--[--><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-orange-400 shadow-lg shadow-orange-400/30 animate-pulse"></div><div class="aspect-square rounded transition-all duration-500 bg-orange-300 opacity-80"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-primary-200 opacity-60 group-hover:opacity-100"></div><div class="aspect-square rounded transition-all duration-500 bg-primary-200 opacity-60 group-hover:opacity-100"></div><div class="aspect-square rounded transition-all duration-500 bg-primary-200 opacity-60 group-hover:opacity-100"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><div class="aspect-square rounded transition-all duration-500 bg-gray-100 group-hover:bg-gray-200"></div><!--]--></div></div><div class="mt-auto"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-orange-400 to-orange-500 shadow-lg shadow-orange-500/25 transition-transform duration-300 group-hover:scale-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-white"><path stroke-linecap="round" stroke-linejoin="round" d="M11.42 15.17L17.25 21A2.652 2.652 0 0021 17.25l-5.877-5.877M11.42 15.17l2.496-3.03c.317-.384.74-.626 1.208-.766M11.42 15.17l-4.655 5.653a2.548 2.548 0 11-3.586-3.586l6.837-5.63m5.108-.233c.55-.164 1.163-.188 1.743-.14a4.5 4.5 0 004.486-6.336l-3.276 3.277a3.004 3.004 0 01-2.25-2.25l3.276-3.276a4.5 4.5 0 00-6.336 4.486c.091 1.076-.071 2.264-.904 2.95l-.102.085m-1.745 1.437L5.909 7.5H4.5L2.25 3.75l1.5-1.5L7.5 4.5v1.409l4.26 4.26m-1.745 1.437l1.745-1.437m6.615 8.206L15.75 15.75M4.867 19.125h.008v.008h-.008v-.008z"></path></svg></div><h3 class="text-xl font-bold text-gray-900">Planned maintenance</h3></div><p class="text-gray-600 text-sm leading-relaxed"> Schedule updates ahead of time, so your users always know what&#39;s coming. </p></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-white/90 backdrop-blur-xl border border-white/60 shadow-lg shadow-gray-900/5 md:col-span-2 hover:-translate-y-1 hover:shadow-xl hover:shadow-gray-900/10" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><div class="bg-primary-200 absolute -right-12 -top-12 h-40 w-40 rounded-full opacity-40 blur-3xl transition-all duration-700 ease-out group-hover:opacity-60 group-hover:scale-110"></div><!----><!----><div class="relative z-10 h-full flex flex-col"><!--[--><div class="flex flex-col md:flex-row gap-6"><div class="flex-1"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gradient-to-br from-primary-500 to-emerald-500 shadow-lg shadow-primary-500/25 transition-transform duration-300 group-hover:scale-110"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-white"><path stroke-linecap="round" stroke-linejoin="round" d="M3 13.125C3 12.504 3.504 12 4.125 12h2.25c.621 0 1.125.504 1.125 1.125v6.75C7.5 20.496 6.996 21 6.375 21h-2.25A1.125 1.125 0 013 19.875v-6.75zM9.75 8.625c0-.621.504-1.125 1.125-1.125h2.25c.621 0 1.125.504 1.125 1.125v11.25c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V8.625zM16.5 4.125c0-.621.504-1.125 1.125-1.125h2.25C20.496 3 21 3.504 21 4.125v15.75c0 .621-.504 1.125-1.125 1.125h-2.25a1.125 1.125 0 01-1.125-1.125V4.125z"></path></svg></div><h3 class="text-xl font-bold text-gray-900">Track what matters</h3></div><p class="text-gray-600 leading-relaxed"> Visualize system health with custom metrics. Pipe data directly into beautiful, easy-to-read charts. </p></div><div class="flex items-end justify-end gap-2 h-32 md:w-48"><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out chart-bar" style="height:30%;"></div><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out delay-100 chart-bar" style="height:60%;"></div><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out delay-200 chart-bar" style="height:45%;"></div><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out delay-300 chart-bar" style="height:80%;"></div><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out delay-400 chart-bar" style="height:55%;"></div><div class="w-6 bg-gradient-to-t from-primary-600 to-primary-400 rounded-t-lg transition-all duration-700 ease-out delay-500 chart-bar opacity-60" style="height:35%;"></div></div></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-gray-900/95 backdrop-blur-xl border border-white/10 text-white shadow-lg shadow-gray-900/20 hover:shadow-xl hover:shadow-primary-500/20 hover:border-primary-500/30" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><!----><!----><div class="absolute -right-8 -top-8 h-32 w-32 rounded-full bg-primary-500/10 blur-3xl transition-all duration-700 ease-out group-hover:bg-primary-500/25 group-hover:scale-125"></div><div class="relative z-10 h-full flex flex-col"><!--[--><div class="flex-1 flex items-center justify-center mb-6"><div class="relative"><div class="absolute inset-0 overflow-hidden rounded-full"><div class="absolute inset-x-0 h-8 bg-gradient-to-b from-primary-500/30 to-transparent animate-scan-line"></div></div><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-20 w-20 text-gray-700 transition-all duration-500 group-hover:text-primary-400"><path stroke-linecap="round" stroke-linejoin="round" d="M7.864 4.243A7.5 7.5 0 0119.5 10.5c0 2.92-.556 5.709-1.568 8.268M5.742 6.364A7.465 7.465 0 004.5 10.5a7.464 7.464 0 01-1.15 3.993m1.989 3.559A11.209 11.209 0 008.25 10.5a3.75 3.75 0 117.5 0c0 .527-.021 1.049-.064 1.565M12 10.5a14.94 14.94 0 01-3.6 9.75m6.633-4.596a18.666 18.666 0 01-2.485 5.33"></path></svg><div class="absolute inset-0 bg-primary-500 blur-2xl opacity-0 group-hover:opacity-20 transition-opacity duration-500"></div></div></div><div class="mt-auto"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gray-800 border border-gray-700 transition-all duration-300 group-hover:border-primary-500/50"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-primary-400"><path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75m-3-7.036A11.959 11.959 0 013.598 6 11.99 11.99 0 003 9.749c0 5.592 3.824 10.29 9 11.623 5.176-1.332 9-6.03 9-11.622 0-1.31-.21-2.571-.598-3.751h-.152c-3.196 0-6.1-1.248-8.25-3.285z"></path></svg></div><h3 class="text-xl font-bold text-white">Secure by default</h3></div><p class="text-gray-400 text-sm leading-relaxed"> Two-factor authentication and password manager integration keep your data safe. </p></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div><div class="bento-card group relative rounded-3xl p-6 lg:p-8 overflow-hidden bg-gradient-to-br from-white/80 to-white/60 backdrop-blur-xl border border-white/50 shadow-lg md:col-span-2 hover:scale-[1.01] hover:shadow-xl" style="opacity:0;transform:translateY(24px);transition:opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1), transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s ease;will-change:opacity, transform;"><div class="bg-primary-300 absolute -right-12 -top-12 h-40 w-40 rounded-full opacity-40 blur-3xl transition-all duration-700 ease-out group-hover:opacity-60 group-hover:scale-110"></div><!----><!----><div class="relative z-10 h-full flex flex-col"><!--[--><div class="flex flex-col md:flex-row items-center gap-6 py-2"><div class="flex-1"><div class="flex items-center gap-3 mb-3"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gray-900 shadow-lg transition-transform duration-300 group-hover:scale-110"><svg class="h-5 w-5 text-white" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></div><h3 class="text-xl font-bold text-gray-900">100% open source</h3></div><p class="text-gray-600 leading-relaxed"> Free forever. Self-host on your own infrastructure and stay in full control. </p></div><div class="flex items-center gap-4"><div class="glass-light rounded-xl px-4 py-3 text-center min-w-[80px]"><div class="text-2xl font-bold text-gray-900">15k+</div><div class="text-xs text-gray-500">Stars</div></div><div class="glass-light rounded-xl px-4 py-3 text-center min-w-[80px]"><div class="text-2xl font-bold text-gray-900">2k+</div><div class="text-xs text-gray-500">Forks</div></div></div></div><!--]--></div><div class="absolute inset-0 z-20 pointer-events-none opacity-0 group-hover:opacity-100 transition-opacity duration-300"><div class="absolute inset-0 -translate-x-full group-hover:translate-x-full transition-transform duration-1000 ease-out" style="background:linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);"></div></div></div></div></div></div><div class="relative py-24 sm:py-32"><div class="mx-auto max-w-7xl px-6 lg:px-8"><div class="mx-auto max-w-2xl lg:max-w-none"><h2 class="text-3xl font-bold tracking-tight text-gray-900 sm:text-4xl transition-all duration-700 opacity-0 translate-y-8"> Frequently asked questions </h2><dl class="mt-10 space-y-6"><!--[--><div class="glass-light rounded-2xl p-6 transition-all duration-700 opacity-0 translate-y-8" style="transition-delay:0ms;"><dt class="text-base font-semibold leading-7 text-gray-900">What is Cachet?</dt><dd class="mt-2 text-base leading-7 text-gray-600"><p>Cachet is the leading open source status page system. It helps you transparently communicate downtime and system outages to your customers and stakeholders.</p></dd></div><div class="glass-light rounded-2xl p-6 transition-all duration-700 opacity-0 translate-y-8" style="transition-delay:100ms;"><dt class="text-base font-semibold leading-7 text-gray-900">Who is Cachet for?</dt><dd class="mt-2 text-base leading-7 text-gray-600"><p>Everyone. From personal projects to large enterprises, if you have a service that people rely on, you need Cachet to keep them informed.</p></dd></div><div class="glass-light rounded-2xl p-6 transition-all duration-700 opacity-0 translate-y-8" style="transition-delay:200ms;"><dt class="text-base font-semibold leading-7 text-gray-900">How much does Cachet cost?</dt><dd class="mt-2 text-base leading-7 text-gray-600"><p>Zero. Cachet is open source and free to self-host. If you want to support development, consider <a href="https://github.com/cachethq/cachet/?sponsor=1" class="font-semibold text-primary-600 hover:text-primary-700">sponsoring us on GitHub.</a></p></dd></div><div class="glass-light rounded-2xl p-6 transition-all duration-700 opacity-0 translate-y-8" style="transition-delay:300ms;"><dt class="text-base font-semibold leading-7 text-gray-900">Is this Cachet v3?</dt><dd class="mt-2 text-base leading-7 text-gray-600"><p>Yes! We are back. We're rebuilding Cachet with Laravel, Tailwind, and Filament to make it faster and easier to use than ever. We're committed to making Cachet the best status page system available.</p></dd></div><div class="glass-light rounded-2xl p-6 transition-all duration-700 opacity-0 translate-y-8" style="transition-delay:400ms;"><dt class="text-base font-semibold leading-7 text-gray-900">Can you install Cachet for me?</dt><dd class="mt-2 text-base leading-7 text-gray-600"><p>We offer <a href="/cdn-cgi/l/email-protection#01727471716e73754162606269647569702f686e3e7274636b6462753c426062696475243331486f7275606d6d6075686e6f" class="font-semibold text-primary-600 hover:text-primary-700">professional installation</a> for your business, handled by our team from start to finish.</p></dd></div><!--]--></dl></div></div></div><div class="flex w-full justify-center md:relative"><div class="carbonads"></div></div><div class="relative py-24 sm:py-32 overflow-hidden"><div class="absolute inset-0 bg-gradient-to-b from-white via-primary-50/30 to-white"></div><div class="relative mx-auto max-w-7xl px-6 lg:px-8"><div class="mx-auto max-w-2xl lg:max-w-none transition-all duration-700 opacity-0 translate-y-8"><div class="text-center mb-12"><span class="inline-flex items-center gap-2 rounded-full bg-primary-100 px-4 py-1.5 text-sm font-medium text-primary-700 mb-4"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-4 w-4"><path stroke-linecap="round" stroke-linejoin="round" d="M21 8.25c0-2.485-2.099-4.5-4.688-4.5-1.935 0-3.597 1.126-4.312 2.733-.715-1.607-2.377-2.733-4.313-2.733C5.1 3.75 3 5.765 3 8.25c0 7.22 9 12 9 12s9-4.78 9-12z"></path></svg> Our sponsors </span><h2 class="text-2xl font-bold tracking-tight text-gray-900 sm:text-3xl"> These companies sponsor Cachet </h2><p class="mt-3 text-gray-600"> Their support helps keep Cachet free and open source. </p></div><div class="transition-all duration-700 delay-200 opacity-0 translate-y-8"><div class="bg-white/70 backdrop-blur-sm rounded-3xl border border-gray-200/50 shadow-lg p-8 lg:p-12"><div class="grid grid-cols-2 md:grid-cols-4 gap-8 lg:gap-12 items-center justify-items-center"><!--[--><a href="https://www.jump24.co.uk/" rel="noopener nofollow" class="group relative flex items-center justify-center h-20 w-full rounded-2xl p-4 transition-all duration-500 hover:bg-gray-50 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/sponsors/jump24.svg" alt="Jump24" class="max-h-12 w-auto grayscale opacity-60 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-2 left-1/2 -translate-x-1/2 translate-y-full text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap bg-white px-2 py-1 rounded-md shadow-sm">Jump24</span></a><a href="https://www.xyphen-it.nl" rel="noopener nofollow" class="group relative flex items-center justify-center h-20 w-full rounded-2xl p-4 transition-all duration-500 hover:bg-gray-50 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://fls-a242525d-8495-4d68-a16e-afded72cad1e.laravel.cloud/sponsors/xyphen-it.svg" alt="Xyphen-IT" class="max-h-12 w-auto grayscale opacity-60 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-2 left-1/2 -translate-x-1/2 translate-y-full text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap bg-white px-2 py-1 rounded-md shadow-sm">Xyphen-IT</span></a><a href="https://scramble.dedoc.co" rel="noopener nofollow" class="group relative flex items-center justify-center h-20 w-full rounded-2xl p-4 transition-all duration-500 hover:bg-gray-50 opacity-0 translate-y-4" style="transition-delay:0ms;"><img src="https://github.com/dedoc.png" alt="Scramble by de:doc" class="max-h-12 w-auto grayscale opacity-60 group-hover:grayscale-0 group-hover:opacity-100 transition-all duration-300"><span class="absolute -bottom-2 left-1/2 -translate-x-1/2 translate-y-full text-xs font-medium text-gray-500 opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap bg-white px-2 py-1 rounded-md shadow-sm">Scramble by de:doc</span></a><!--]--></div></div></div><div class="mt-12 text-center transition-all duration-700 delay-400 opacity-0 translate-y-8"><a href="https://github.com/sponsors/cachethq" class="group inline-flex items-center gap-3 rounded-2xl bg-white px-6 py-4 text-sm font-semibold text-gray-900 shadow-lg border border-gray-200 transition-all hover:shadow-xl hover:border-primary-200 hover:-translate-y-0.5"><div class="flex h-10 w-10 items-center justify-center rounded-xl bg-gray-900 group-hover:bg-primary-600 transition-colors"><svg class="h-5 w-5 text-white" fill="currentColor" viewBox="0 0 24 24"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></div><div class="text-left"><div class="font-semibold">Become a sponsor</div><div class="text-xs text-gray-500">Support Cachet on GitHub</div></div><svg class="h-5 w-5 text-gray-400 group-hover:text-primary-600 transition-colors" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path></svg></a></div></div></div></div><div class="relative py-24 sm:py-32 overflow-hidden"><div class="absolute inset-0 bg-gradient-to-br from-gray-900 via-gray-900 to-gray-800"></div><div class="absolute top-0 left-1/4 w-96 h-96 bg-primary-500/20 rounded-full blur-3xl animate-float"></div><div class="absolute bottom-0 right-1/4 w-80 h-80 bg-purple-500/15 rounded-full blur-3xl animate-float-delayed"></div><div class="absolute top-1/2 right-0 w-64 h-64 bg-blue-500/10 rounded-full blur-3xl animate-float-slow"></div><div class="absolute inset-0 opacity-[0.03]" style="background-image:linear-gradient(rgba(255, 255, 255, 0.1) 1px, transparent 1px),
linear-gradient(90deg, rgba(255, 255, 255, 0.1) 1px, transparent 1px);background-size:60px 60px;"></div><div class="relative mx-auto max-w-7xl px-6 lg:px-8"><div class="mx-auto max-w-2xl text-center transition-all duration-700 opacity-0 translate-y-8"><div class="flex justify-center mb-6"><span class="inline-flex items-center gap-2 rounded-full bg-white/10 backdrop-blur-sm px-4 py-1.5 text-sm font-medium text-primary-400 ring-1 ring-white/20"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-4 w-4"><path stroke-linecap="round" stroke-linejoin="round" d="M9.813 15.904L9 18.75l-.813-2.846a4.5 4.5 0 00-3.09-3.09L2.25 12l2.846-.813a4.5 4.5 0 003.09-3.09L9 5.25l.813 2.846a4.5 4.5 0 003.09 3.09L15.75 12l-2.846.813a4.5 4.5 0 00-3.09 3.09zM18.259 8.715L18 9.75l-.259-1.035a3.375 3.375 0 00-2.455-2.456L14.25 6l1.036-.259a3.375 3.375 0 002.455-2.456L18 2.25l.259 1.035a3.375 3.375 0 002.456 2.456L21.75 6l-1.035.259a3.375 3.375 0 00-2.456 2.456zM16.894 20.567L16.5 21.75l-.394-1.183a2.25 2.25 0 00-1.423-1.423L13.5 18.75l1.183-.394a2.25 2.25 0 001.423-1.423l.394-1.183.394 1.183a2.25 2.25 0 001.423 1.423l1.183.394-1.183.394a2.25 2.25 0 00-1.423 1.423z"></path></svg> Stay in the loop </span></div><h2 class="text-3xl font-bold tracking-tight text-white sm:text-4xl lg:text-5xl"> Keep updated </h2><p class="mt-4 text-lg leading-8 text-gray-300"> Join our mailing list to follow Cachet 3.x development. </p><div class="mt-10 transition-all duration-700 delay-200 opacity-0 translate-y-8"><form data-sendstack-form class="mx-auto max-w-md" action="https://getsendstack.com/forms/c69fcc6e-99e6-498a-9e76-b301b4760fb0/subscribers" method="post"><span data-element="success" style="display:none;"> Success! Please verify your email address to confirm your subscription. </span><ul data-element="errors" style="display:none;"></ul><div class="relative flex flex-col sm:flex-row gap-3 p-2 rounded-2xl bg-white/5 backdrop-blur-sm ring-1 ring-white/10"><div class="relative flex-1"><div class="pointer-events-none absolute inset-y-0 left-0 flex items-center pl-4"><svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" aria-hidden="true" class="h-5 w-5 text-gray-400"><path stroke-linecap="round" stroke-linejoin="round" d="M21.75 6.75v10.5a2.25 2.25 0 01-2.25 2.25h-15a2.25 2.25 0 01-2.25-2.25V6.75m19.5 0A2.25 2.25 0 0019.5 4.5h-15a2.25 2.25 0 00-2.25 2.25m19.5 0v.243a2.25 2.25 0 01-1.07 1.916l-7.5 4.615a2.25 2.25 0 01-2.36 0L3.32 8.91a2.25 2.25 0 01-1.07-1.916V6.75"></path></svg></div><label for="newsletter-email" class="sr-only">Email address</label><input id="newsletter-email" name="email" type="email" autocomplete="email" required class="block w-full rounded-xl border-0 bg-white/5 py-3.5 pl-11 pr-4 text-white placeholder:text-gray-400 focus:bg-white/10 focus:ring-2 focus:ring-inset focus:ring-primary-500 sm:text-sm sm:leading-6 transition-colors" placeholder="Enter your email"></div><div style="position:absolute;left:-5000px;"><input type="text" name="d35062f666e64adb03978745ea79ba786b9fc90f5180a70464d83bbc5cfbc163" tabindex="-1" value=""></div><button type="submit" class="group relative inline-flex items-center justify-center gap-2 rounded-xl bg-primary-500 px-6 py-3.5 text-sm font-semibold text-white shadow-lg shadow-primary-500/25 transition-all hover:bg-primary-400 hover:shadow-xl hover:shadow-primary-500/30 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-500"><span>Subscribe</span><svg class="h-4 w-4 transition-transform group-hover:translate-x-0.5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 7l5 5m0 0l-5 5m5-5H6"></path></svg></button></div><p class="mt-4 text-sm text-gray-400"> Only the updates worth reading. Unsubscribe at any time. </p></form></div></div></div></div></main><footer class="relative bg-gray-50 border-t border-gray-100"><div class="absolute inset-0 bg-gradient-to-b from-white to-gray-50/80 pointer-events-none"></div><div class="relative mx-auto max-w-7xl px-6 py-16 lg:px-8 lg:py-20"><div class="transition-all duration-700 opacity-0 translate-y-8"><div class="xl:grid xl:grid-cols-3 xl:gap-8"><div class="space-y-6"><div class="flex items-center gap-3"><svg width="60" height="60" viewbox="0 0 60 60" fill="none" xmlns="http://www.w3.org/2000/svg" class="h-10 w-10"><path fill-rule="evenodd" clip-rule="evenodd" d="M3.01913 22.7112C-1.00638 26.7367 -1.00638 33.2633 3.01914 37.2889L22.7112 56.9809C26.7367 61.0064 33.2633 61.0064 37.2889 56.9809L56.9809 37.2888C61.0064 33.2633 61.0064 26.7367 56.9809 22.7111L54.2343 19.9646L29.5493 44.2837L13.5538 29.0651L21.0467 21.6696L29.423 29.6228L46.7906 12.5209L37.2888 3.01913C33.2633 -1.00638 26.7367 -1.00638 22.7111 3.01914L3.01913 22.7112Z" fill="#04C147"></path></svg><span class="text-xl font-bold text-gray-900">Cachet</span></div><p class="text-sm leading-6 text-gray-600 max-w-xs"> The open source status page system. Communicate downtime and system outages to your customers with ease. </p><div class="flex gap-4"><!--[--><a href="https://x.com/CachetHQ" class="group flex h-10 w-10 items-center justify-center rounded-xl bg-white border border-gray-200 text-gray-400 shadow-sm transition-all hover:border-primary-200 hover:bg-primary-50 hover:text-primary-600 hover:shadow-md"><span class="sr-only">X</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-5 w-5" aria-hidden="true"><path d="M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84"></path></svg></a><a href="https://bsky.app/profile/cachethq.io" class="group flex h-10 w-10 items-center justify-center rounded-xl bg-white border border-gray-200 text-gray-400 shadow-sm transition-all hover:border-primary-200 hover:bg-primary-50 hover:text-primary-600 hover:shadow-md"><span class="sr-only">Bluesky</span><svg fill="currentColor" viewBox="0 0 600 530" class="h-5 w-5" aria-hidden="true"><path d="m135.72 44.03c66.496 49.921 138.02 151.14 164.28 205.46 26.262-54.316 97.782-155.54 164.28-205.46 47.98-36.021 125.72-63.892 125.72 24.795 0 17.712-10.155 148.79-16.111 170.07-20.703 73.984-96.144 92.854-163.25 81.433 117.3 19.964 147.14 86.092 82.697 152.22-122.39 125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937 0.51669-3.7077 7.8964-13.714 40.255-67.233 197.36-189.63 71.766-64.444-66.128-34.605-132.26 82.697-152.22-67.108 11.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07 0-88.687 77.742-60.816 125.72-24.795z"></path></svg></a><a href="https://github.com/cachethq" class="group flex h-10 w-10 items-center justify-center rounded-xl bg-white border border-gray-200 text-gray-400 shadow-sm transition-all hover:border-primary-200 hover:bg-primary-50 hover:text-primary-600 hover:shadow-md"><span class="sr-only">GitHub</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-5 w-5" aria-hidden="true"><path fill-rule="evenodd" d="M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z" clip-rule="evenodd"></path></svg></a><a href="https://www.linkedin.com/company/cachethq" class="group flex h-10 w-10 items-center justify-center rounded-xl bg-white border border-gray-200 text-gray-400 shadow-sm transition-all hover:border-primary-200 hover:bg-primary-50 hover:text-primary-600 hover:shadow-md"><span class="sr-only">LinkedIn</span><svg fill="currentColor" viewBox="0 0 24 24" class="h-5 w-5" aria-hidden="true"><path fill-rule="evenodd" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z" clip-rule="evenodd"></path></svg></a><!--]--></div></div><div class="mt-16 grid grid-cols-2 gap-8 xl:col-span-2 xl:mt-0"><div class="md:grid md:grid-cols-2 md:gap-8"><div><h3 class="text-sm font-semibold leading-6 text-gray-900">Product</h3><ul role="list" class="mt-4 space-y-3"><!--[--><li><a href="/#features" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Features</a></li><li><a href="https://v3.cachethq.io" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">3.x demo</a></li><li><a href="https://demo.cachethq.io" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">2.x demo</a></li><li><a href="https://cachethq.io/docs" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Documentation</a></li><!--]--></ul></div><div class="mt-10 md:mt-0"><h3 class="text-sm font-semibold leading-6 text-gray-900">Resources</h3><ul role="list" class="mt-4 space-y-3"><!--[--><li><a href="https://blog.cachethq.io" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Blog</a></li><li><a href="https://github.com/cachethq/cachet" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">GitHub</a></li><li><a href="/sponsor" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Sponsor</a></li><li><a href="https://usefathom.com/james" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Fathom Analytics</a></li><!--]--></ul></div></div><div class="md:grid md:grid-cols-2 md:gap-8"><div><h3 class="text-sm font-semibold leading-6 text-gray-900">Legal</h3><ul role="list" class="mt-4 space-y-3"><!--[--><li><a href="/trademark" class="text-sm leading-6 text-gray-600 hover:text-primary-600 transition-colors">Trademark</a></li><!--]--></ul></div><div class="mt-10 md:mt-0"><h3 class="text-sm font-semibold leading-6 text-gray-900">Support the project</h3><div class="mt-4"><a href="https://github.com/sponsors/cachethq" class="group inline-flex items-center gap-2 rounded-xl bg-gray-900 px-4 py-2.5 text-sm font-semibold text-white shadow-sm transition-all hover:bg-gray-800 hover:shadow-md"><svg class="h-4 w-4 text-red-400" fill="currentColor" viewBox="0 0 24 24"><path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"></path></svg><span>Sponsor</span></a></div></div></div></div></div><div class="mt-16 pt-8 border-t border-gray-200"><div class="flex flex-col md:flex-row md:items-center md:justify-between gap-4"><p class="text-xs leading-5 text-gray-500"> Cachet is a trademark of Alt Three Services Limited. Copyright © 2014–2026 <a href="https://alt-three.com" class="text-primary-600 hover:text-primary-700 font-medium">Alt Three Services Limited</a>. </p><p class="text-xs leading-5 text-gray-400"> Registered Number: 09671573. Registered in England and Wales. </p></div></div></div></div></footer></div><!--]--></div> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script><script>(function(){function c(){var b=a.contentDocument||(a.contentWindow&&a.contentWindow.document);if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'a3937a175e8f6762',t:'MTc4OTA5NjIwMA=='};var a=document.createElement('script');a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script></body>
</html>