Skip to content
https://localai.hex7.com

Infrastructure

· 17 checks — DNS, redirects, IPv6, crawlability, URL variants, and domain intelligence rolled into one auditable list.
SCORE
87
GRADE
B
FIX
0
REVIEW
7
PASS
10
INFO
0
Probed from Madrid, Spain
200 OK
Checks
17
10 PASS 7 REVIEW
B
DNSSEC
Unsigned (DNSSEC not deployed)
REVIEW
Unsigned (DNSSEC not deployed)
Info::
DNSSEC is not deployed
The zone is not DNSSEC-signed. Users on validating resolvers (Cloudflare 1.1.1.1, Quad9 9.9.9.9, growing default in mobile resolvers) get no protection against DNS spoofing for this domain. Most registrars now offer DNSSEC at a single click; consider enabling it for sites where authenticity matters (banking, healthcare, government).
B
CAA Records
No CAA records (any CA may issue certificates)
REVIEW
No CAA records (any CA may issue certificates)
Info::
No CAA records published
Without CAA records, any publicly-trusted CA can issue certificates for this domain. Adding a CAA record (`yourdomain. IN CAA 0 issue "letsencrypt.org"`) restricts issuance to CAs you authorize. Required by CAB Forum baseline since 2017; the default of 'any CA' is widely supported but is the broader attack surface for issuance fraud.
B
Reverse DNS
0/12 IPs match cert SAN
REVIEW
0/12 IPs match cert SAN
Info::
PTR for 143.204.55.64 does not match any cert SAN: server-143-204-55-64.zrh52.r.cloudfront.net
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR for 143.204.55.39 does not match any cert SAN: server-143-204-55-39.zrh52.r.cloudfront.net
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR for 143.204.55.11 does not match any cert SAN: server-143-204-55-11.zrh52.r.cloudfront.net
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR for 143.204.55.115 does not match any cert SAN: server-143-204-55-115.zrh52.r.cloudfront.net
Common when behind a CDN or shared hosting (PTR points at the provider's hostname). Mismatch can also affect mail deliverability if this IP sends email -- many MTAs reject mail when forward+reverse DNS disagree.
Info::
PTR lookup failed for 2600:9000:20a5:fc00:14:7d06:b040:93a1: lookup 2600:9000:20a5:fc00:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:2a00:14:7d06:b040:93a1: lookup 2600:9000:20a5:2a00:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:ec00:14:7d06:b040:93a1: lookup 2600:9000:20a5:ec00:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:8600:14:7d06:b040:93a1: lookup 2600:9000:20a5:8600:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:8800:14:7d06:b040:93a1: lookup 2600:9000:20a5:8800:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:f400:14:7d06:b040:93a1: lookup 2600:9000:20a5:f400:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:8000:14:7d06:b040:93a1: lookup 2600:9000:20a5:8000:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
Info::
PTR lookup failed for 2600:9000:20a5:4400:14:7d06:b040:93a1: lookup 2600:9000:20a5:4400:14:7d06:b040:93a1: no such host
No reverse DNS record set for this IP. Common on bare cloud-VM IPs without provider-side PTR; not a security issue.
C
Crawlability
Action
robots.txt present, sitemap with 0 URLs
REVIEW
robots.txt present, sitemap with 0 URLs
Info::
robots.txt is present
Got: 10240 bytes
Info::
sitemap.xml is present
Warning::
sitemap.xml contains invalid XML
Search engines may not be able to parse the sitemap. Fix XML validation errors.
Warning::
sitemap.xml is empty — no URLs found
An empty sitemap provides no value. Add <url> entries for your pages.
Info::
robots.txt does not reference a sitemap
Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Search engines may not be able to parse the sitemap. Fix XML validation errors.

Why this matters

An unparseable sitemap is silently ignored by Google — the URLs it advertises are never queued for crawl.

Learn more ▾

Google's sitemap parser is strict about XML validity. A single unescaped `&` or unclosed tag invalidates the whole file. Run your sitemap through a validator (Search Console's Sitemaps report flags it) and fix the offending entry. Most generators escape correctly; mistakes usually come from manually-written entries.

Source: sitemaps.org / Google Search Central

An empty sitemap provides no value. Add <url> entries for your pages.

Why this matters

An empty sitemap signals 'no content to index' to Google — actively harmful versus having no sitemap at all.

Learn more ▾

Google compares URLs in the sitemap against URLs it has crawled. An empty sitemap on a site with thousands of pages signals abandonment. Either populate it correctly (most CMSes auto-generate) or delete the file and let Google crawl normally.

Source: Google Search Central / sitemaps.org

Add a 'Sitemap:' directive to robots.txt so search engines can discover your sitemap.

Why this matters

robots.txt omits Sitemap: directive — crawlers must fetch /sitemap.xml by convention; reliable but missing the explicit hint.

Source: sitemaps.org

robots.txt 200 OK
Size 10240 B Sitemaps referenced 0 User-agents Blocking No — crawling allowed
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>¡---=== LOCAL AI ===---! Private AI Services for Catalunya</title>
<meta name="description" content="Local AI / IA Local — private, practical AI deployed and supported on site across Catalonia and the Perpignan–Barcelona corridor.">
<link rel="stylesheet" href="styles.css">
</head>
<body>

<main class="stage">
  <h1 class="visually-hidden">
    Local AI — IA Local. Private, on-site AI systems for organisations across
    Catalonia and the Perpignan–Barcelona corridor.
  </h1>

  <!-- net.js builds the neural field inside this panel: a chaotic scatter of
     nodes, linked to near neighbours — the whole network stays visible in
     medium/dark green, with subtle dark-green connections underneath that
     shimmer and drift. Only the word-shapes light up, in uniform light red.
     The word always reads exactly "LOCAL AI" at ~75% of panel width; the
     typeface continuously morphs through a rotation of 17 self-hosted
     techy faces, all normalized to the same letter height and overall
     size, so nothing resizes — only the letterstyle changes. No text is
     ever drawn directly. -->

  <div class="visual" role="img"
       aria-label="A neural network, always visible in medium/dark green, whose nodes light up in pale red to form the words “LOCAL AI”, continuously morphing through different typeface styles while keeping the same size.">
  </div>

  <footer class="footlines">
    <div class="tagswap" aria-live="off">

      <div class="tag on" lang="en">
        <span class="brandline">Private Local AI</span>
        <span>Human support, private infrastructure, practical outcomes.</span>
      </div>

      <div class="tag" lang="es">
        <span class="brandline">IA Local Privada</span>
        <span>Soporte humano, infraestructura privada, resultados reales.</span>
      </div>

      <div class="tag" lang="fr">
        <span class="brandline">IA Locale Privée</span>
        <span>Accompagnement humain, infrastructure privée, résultats concrets.</span>
      </div>

      <div class="tag" lang="ca">
        <span class="brandline">AI Local Privada</span>
        <span>Suport humà, infraestructura privada, resultats concrets.</span>
      </div>

    </div>

    <a class="mailline" href="mailto:localai@hex7.com">localai@hex7.com</a>

    <!-- language control — always visible, fixed below the email line.
         AUTO keeps every text rotating; picking one language freezes the
         whole page (hero caption, footer, info boxes) in that language. -->
    <div class="langswitch" role="group" aria-label="Language">
      <button type="button" data-lang="auto" class="on">AUTO</button>
      <button type="button" data-lang="en">EN</button>
      <button type="button" data-lang="es">ES</button>
      <button type="button" data-lang="fr">FR</button>
      <button type="button" data-lang="ca">CA</button>
    </div>
  </footer>

  <!-- Below-the-fold information: stays hidden until you scroll it into
       view (rise/visible handled by net.js + styles.css). Green/black
      palette matches the hero field; accent mint = the lit-word color. -->
  <section class="belowfold" aria-label="On-site AI capabilities">
    <div class="bf-head rise">
      <div class="langswap">
        <div class="tag on" lang="en">
          <p class="bf-kicker">// On-site systems — Catalonia</p>
          <h2>Run intelligence on your own hardware.</h2>
          <p class="bf-lead">Small and medium organisations across the Perpignan · Girona ·
            Barcelona corridor running their own private AI, on their own hardware,
            at a discount — because efficiency is built in: smaller models run well,
            memory works smarter, and inference stops being billed per query.</p>
        </div>
        <div class="tag" lang="es">
          <p class="bf-kicker">// Sistemas locales — Cataluña</p>
          <h2>Su inteligencia, en su propio hardware.</h2>
          <p class="bf-lead">Pequeñas y medianas empresas del corredor Perpiñán · Gerona ·
            Barcelona ejecutan su propia IA privada, en su propio hardware, a precio
            reducido — porque la eficiencia está integrada: los modelos pequeños
            rinden bien, la memoria trabaja mejor y la inferencia ya no se cobra
            por consulta.</p>
        </div>
        <div class="tag" lang="fr">
          <p class="bf-kicker">// Systèmes sur site — Catalogne</p>
          <h2>Votre intelligence, sur votre propre matériel.</h2>
          <p class="bf-lead">Petites et moyennes entreprises du corridor Perpignan · Gérone ·
            Barcelone exécutant leur propre IA privée, sur leur propre matériel, à
            prix réduit — car l'efficacité est intégrée : les petits modèles
            tournent bien, la mémoire travaille mieux et l'infrence n'est plus
            facturée par requête.</p>
        </div>
        <div class="tag" lang="ca">
          <p class="bf-kicker">// Sistemes locals — Catalunya</p>
          <h2>Su intel·lig artificial, en su propio maquinari.</h2>
          <p class="bf-lead">Petites et míjanes empresas del corridor Perpinyà · Girona ·
            Barcelona executant su propia IA privada, en su propio maquinari, a
            preu reduit — per la eficiencia integrada: los models chiquitos
            rinden bi, la memoria truca mes alt y la inferència no es cobra
            per consulta.</p>
        </div>
      </div>
    </div>

    <div class="bf-grid">
      <article class="bf-card rise">
        <h3>llama.cpp</h3>
        <div class="langswap">
          <p class="tag on" lang="en">An open inference engine and API server — the base of everything
            here. Small and medium models run well on ordinary machines you already
            have — desktops, workstations or a modest GPU box — fully quantised, at
            a fraction of any cloud bill.</p>
          <p class="tag" lang="es">Un motor de inferencia abierto y servidor de API — la base de todo lo
            aquí. Los modelos pequeños y medianos funcionan bien en máquinas
            normales — ordenadores, estaciones o una GPU modesta — completamente
            cuantificados, a una fracción de cualquier factura de nube.</p>
          <p class="tag" lang="fr">Un moteur d'infrence ouvert et serveur API — la base de tout ce qui
            ici. Les petits et moyens modèles tournent sur des machines ordinaires —
            bureau, station ou simple GPU — entièrement quantifiés, pour une fraction
            du prix du cloud.</p>
          <p class="tag" lang="ca">Un motor d'inferència obert i servidor API — la base de todo lo aquí. Los
            modelos pequeños y medians funcionan bi en màquines normales — ordenadores,
            estaciones o una GPU modesta — quantificats per complet, a una fracció de
            la factura del núvol.</p>
        </div>
      </article>

      <article class="bf-card rise">
        <h3>FreeToken</h3>
        <div class="langswap">
          <p class="tag on" lang="en">An inference engine and local API endpoint. Tokens are not metered:
            a billion tokens cost the same as one, and there is no per-query billing.</p>
          <p class="tag" lang="es">Un motor de inferencia y endpoint API local. Los tokens no se miden: mil
            millones de tokens cuestan lo mismo que uno, y no hay cobros por consulta.</p>
          <p class="tag" lang="fr">Un moteur d'infrence et endpoint API local. Les tokens ne sont pas mesurés :
            un milliard de tokens coûtent le même prix qu'un seul, et aucune facturation
            par requête.</p>
          <p class="tag" lang="ca">Un motor de inferència y endpoint API local. Els tokens no se miden: mil
            milions de tokens cuestan lo mismo que uno, y no hay cobros por consulta.</p>
        </div>
      </article>

      <article class="bf-card rise">
        <h3>Strata</h3>
        <div class="langswap">
          <p class="tag on" lang="en">An inference engine and API, forked from llama.cpp and built for
            memory efficiency: it keeps resident only the experts that are hot — the
            ones actually in use — and leaves the rest parked. That is how big
            MoE models run on small RAM.</p>
          <p class="tag" lang="es">Un motor de inferencia derivado de llama.cpp y construido para la
            eficiencia de memoria: mantiene residentes solo los expertos en uso —
            los que se usan de verdad — y deja el resto aparcados. Así es cómo
            grandes modelos MoE funcionan con poca RAM.</p>
          <p class="tag" lang="fr">Un moteur d'infrence issu de llama.cpp et conçu pour l'efficacité
            mémoire : il ne garde résidents que les experts en cours d'utilisation —
            ceux qui servent vraiment — et met le reste en attente. Voilà comment
            les grands modèles MoE tournent avec peu de RAM.</p>
          <p class="tag" lang="ca">Un motor de inferència derivat de llama.cpp i construido para la
            eficiencia de memoria: manté residentes solo los expertos en uso — los
            que se usan de verdad — y deja el resto aparcados. Así es cómo grandes
            modelos MoE funcionan con poca RAM.</p>
        </div>
      </article>

      <article class="bf-card rise">
        <h3>Avalon</h3>
        <div class="langswap">
          <p class="tag on" lang="en">An inference engine and API, forked from Strata and tuned even
            further for memory: keeps the hot set tighter still — longer usable
            context and larger models on the same hardware.</p>
          <p class="tag" lang="es">Un motor de inferencia y API, derivado de Strata y optimizado aún más para
            la memoria: mantiene el conjunto activo más ceñido — contexto utilizable
            más largo y modelos más grandes en el mismo hardware.</p>
          <p class="tag" lang="fr">Un moteur d'infrence et API, issu de Strata et encore plus poussé pour la
            mémoire : gar
sitemap.xml 200 OK
Type URL Set URLs 0 entries Valid XML No
B
URL Variants
www/non-www, trailing slash, HTTP→HTTPS
REVIEW
www/non-www, trailing slash, HTTP→HTTPS
Critical::
HTTP version does not redirect to HTTPS
Got: HTTP 200 Expected: 301 redirect to HTTPS

www / non-www

https://www.localai.hex7.com/
200https://localai.hex7.com/

HTTP → HTTPS

200http://localai.hex7.com/

HTTP version does not redirect to HTTPS

B
TLS Certificate Expiry & Recommendations
197 days until leaf cert expires — 2 issues to address
REVIEW

Certificate validity

197
days left
0d 30d 60d 90d+

Recommended actions

  • Enable HSTS: Strict-Transport-Security: max-age=31536000; includeSubDomains
  • Enable OCSP stapling on your TLS server to remove a CA roundtrip and protect user privacy
B
Operational Status Page
No status page link detected
REVIEW
No status page link detected
Info::
No operational status page link detected
Status pages communicate planned maintenance and incidents to users -- a hallmark of operationally-mature services. Most SaaS teams publish one via Atlassian Statuspage, Instatus, BetterUptime, or a self-hosted Cachet. Smaller sites legitimately don't need one; flagged as Info, not a failure.
A
DNS Records
4 A records, 56 ms lookup
PASS
4 A records, 56 ms lookup
Info::
Resolves to 4 IPv4 address(es)
Got: 143.204.55.64, 143.204.55.39, 143.204.55.11, 143.204.55.115
Info::
Has 8 IPv6 (AAAA) record(s)
Got: 2600:9000:20a5:fc00:14:7d06:b040:93a1, 2600:9000:20a5:2a00:14:7d06:b040:93a1, 2600:9000:20a5:ec00:14:7d06:b040:93a1, 2600:9000:20a5:8600:14:7d06:b040:93a1, 2600:9000:20a5:8800:14:7d06:b040:93a1, 2600:9000:20a5:f400:14:7d06:b040:93a1, 2600:9000:20a5:8000:14:7d06:b040:93a1, 2600:9000:20a5:4400:14:7d06:b040:93a1
Info::
No NS records found
Info::
No MX records — email not configured via DNS
Info::
No SPF record found in TXT records
SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.
Info::
DNS resolution time: 56 ms
Got: 56 ms
A143.204.55.64, 143.204.55.39, 143.204.55.11, 143.204.55.115
AAAA2600:9000:20a5:fc00:14:7d06:b040:93a1, 2600:9000:20a5:2a00:14:7d06:b040:93a1, 2600:9000:20a5:ec00:14:7d06:b040:93a1, 2600:9000:20a5:8600:14:7d06:b040:93a1, 2600:9000:20a5:8800:14:7d06:b040:93a1, 2600:9000:20a5:f400:14:7d06:b040:93a1, 2600:9000:20a5:8000:14:7d06:b040:93a1, 2600:9000:20a5:4400:14:7d06:b040:93a1
CNAME—
NS—
MX—
TXT—
CAALookup not available with standard resolver
Resolved in 56 ms

SPF helps prevent email spoofing. Add a TXT record starting with 'v=spf1'.

Why this matters

Without SPF, receiving servers can't validate sending IPs — your domain is easier to spoof in phishing.

Learn more ▾

SPF complements DMARC. Both should be published. SPF records list authorized sending IPs (e.g., `v=spf1 include:_spf.google.com ~all` for Google Workspace). After publishing, verify in Google Postmaster Tools or mxtoolbox.

Source: RFC 7208 (SPF)

A+
Subdomain Takeover
No subdomain takeover risk detected
PASS
No subdomain takeover risk detected
Info::
No CNAME record present
A+
Multi-Resolver DNS Speed
Mean 35ms across 3 resolvers (spread 15ms)
PASS
Mean 35ms across 3 resolvers (spread 15ms)
Info::
Google: 28ms
Got: 28ms via 8.8.8.8:53
Info::
Quad9: 36ms
Got: 36ms via 9.9.9.9:53
Info::
Cloudflare: 43ms
Got: 43ms via 1.1.1.1:53
A+
Redirect Chain
No redirects — direct access
PASS
No redirects — direct access
Info::
No redirects — direct access
Got: https://localai.hex7.com

https://localai.hex7.com

120 ms · HTTP/1.1 FINAL

#URLStatusTimeProtocolServer
1https://localai.hex7.com200120 msHTTP/1.1AmazonS3
A+
IPv6 Readiness
IPv6 reachable (33 ms)
PASS
IPv6 reachable (33 ms)
Info::
IPv6 is configured and reachable at 2600:9000:20a5:fc00:14:7d06:b040:93a1, 2600:9000:20a5:2a00:14:7d06:b040:93a1, 2600:9000:20a5:ec00:14:7d06:b040:93a1, 2600:9000:20a5:8600:14:7d06:b040:93a1, 2600:9000:20a5:8800:14:7d06:b040:93a1, 2600:9000:20a5:f400:14:7d06:b040:93a1, 2600:9000:20a5:8000:14:7d06:b040:93a1, 2600:9000:20a5:4400:14:7d06:b040:93a1
Got: 33 ms connect
IPv6 Ready
AAAA Records 2600:9000:20a5:fc00:14:7d06:b040:93a1, 2600:9000:20a5:2a00:14:7d06:b040:93a1, 2600:9000:20a5:ec00:14:7d06:b040:93a1, 2600:9000:20a5:8600:14:7d06:b040:93a1, 2600:9000:20a5:8800:14:7d06:b040:93a1, 2600:9000:20a5:f400:14:7d06:b040:93a1, 2600:9000:20a5:8000:14:7d06:b040:93a1, 2600:9000:20a5:4400:14:7d06:b040:93a1 Connection Reachable (33 ms)
A+
Domain Intelligence
hex7.com — via Gandi SAS, 16 years old, hosted on AWS
PASS
hex7.com — via Gandi SAS, 16 years old, hosted on AWS
Info::
Domain registered until Jan 27, 2032 (5 years, 3 months remaining)
Info::
DNSSEC is enabled
Info::
Registrar: Gandi SAS
Warning::
Registrar lock is NOT enabled
The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.
Info::
Hosting: AWS
Got: AS16509
Domain expiry

1905 days

January 27, 2032

SSL certificate

197 days

Issued by Amazon

Domain age

16 years

Registered January 27, 2011

DNSSEC

Enabled

Protects against DNS spoofing

Hosting

AWS

ASN AS16509

3.219.153.97

Registrar

Gandi SAS

Unlocked 4 NS records
Expiry timeline
Today
+1 year
Domain expiry SSL expiry Danger zone (≤30 days)
Recommended actions
  • Enable registrar lock (clientTransferProhibited) to block unauthorized domain transfers
Registrar Gandi SAS
Created January 27, 2011 (16 years ago)
Expires January 27, 2032 (5 years, 3 months)
Last Updated December 24, 2025
Name Servers ns-1238.awsdns-26.org, ns-1556.awsdns-02.co.uk, ns-363.awsdns-45.com, ns-950.awsdns-54.net
DNSSEC Enabled
Hosting
IP Address 3.219.153.97
ASN AS16509 (AMAZON-02 - Amazon.com, Inc., US)
Provider AWS
Data source: rdap (0.4s)

The domain can be transferred without an unlock step. Enable registrar lock (clientTransferProhibited) in your registrar's control panel to protect against unauthorized or accidental transfers.

Why this matters

Without registrar lock, an attacker who phishes your registrar credentials can transfer the domain in minutes — total brand hijack.

Learn more ▾

Registrar lock (clientTransferProhibited, clientUpdateProhibited, clientDeleteProhibited) requires extra verification before any transfer/update/delete. Every major registrar offers it free. Combined with 2FA on your registrar account, it's the strongest defense against domain hijacking.

Source: ICANN / domain-security best practice

A+
HTTP Probe Timing
Total 375 ms — DNS, TCP, TLS, TTFB, content transfer breakdown
PASS
DNS Lookup DNS Lookup — time to resolve the domain name to an IP address.
69 ms
TCP Connect TCP Connect — time to establish a TCP connection to the server.
33 ms
TLS Handshake TLS Handshake — time to complete the HTTPS encryption handshake.
39 ms
Time to First Byte Time to First Byte — how long the server takes to respond with the first byte of data.
321 ms
Total Time Total request time from DNS lookup through full response.
375 ms

Connection waterfall

DNS Lookup 69 ms TCP Connect 33 ms TLS Handshake 39 ms Server Processing 180 ms Content Transfer 55 ms
A
CDN & Delivery
AWS CloudFront (Miss from cloudfront)
PASS
AWS CloudFront (Miss from cloudfront)
Info::
Document is served via AWS CloudFront CDN (edge: ZRH52-P1)
Got: x-amz-cf-id: ZnnNsSd5Q61dRtzDXWF1eaEyWvR4Twxz0tpb1q2xbXFoCUGEqxRaCA==
Info::
CDN cache status: Miss from cloudfront
Document served via CDN: AWS CloudFront
Provider AWS CloudFront Cache Status Miss from cloudfront Evidence x-amz-cf-id: ZnnNsSd5Q61dRtzDXWF1eaEyWvR4Twxz0tpb1q2xbXFoCUGEqxRaCA==
A+
CDN Cache Observability
Cache state: MISS
PASS
Cache state: MISS
Info::
CDN cache state observable via 1 header(s)
Got: x-cache=Miss from cloudfront
A+
Health Check Endpoint
Health endpoint at https://localai.hex7.com/health (HTTP 200)
PASS
Health endpoint at https://localai.hex7.com/health (HTTP 200)
Info::
Public health endpoint at https://localai.hex7.com/health
Got: https://localai.hex7.com/health
All checks on this page are automated. Results are estimates - run targeted manual reviews when the score affects a release decision.

Send Feedback