PageSourceSearch

https://tidra.ai/contact/

html tidra.ai collected 2026-10-05 12:45:03 UTC 25,400 bytes, 93 lines download raw bytes

1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="description" content="Get in touch with the Tidra team. Ask about the platform for engineering maintenance, request a demo, or reach us by email or phone."><meta name="generator" content="Astro v6.3.7"><link rel="canonical" href="https://tidra.ai/contact/"><!-- Open Graph --><meta property="og:site_name" content="Tidra"><meta property="og:type" content="website"><meta property="og:url" content="https://tidra.ai/contact/"><meta property="og:title" content="Tidra | Contact"><meta property="og:description" content="Get in touch with the Tidra team. Ask about the platform for engineering maintenance, request a demo, or reach us by email or phone."><meta property="og:image" content="https://tidra.ai/og.png"><!-- Twitter / X --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Tidra | Contact"><meta name="twitter:description" content="Get in touch with the Tidra team. Ask about the platform for engineering maintenance, request a demo, or reach us by email or phone."><meta name="twitter:image" content="https://tidra.ai/og.png"><link rel="sitemap" href="/sitemap-index.xml"><link rel="icon" type="image/png" href="/favicon/favicon-96x96.png" sizes="96x96"><link rel="icon" type="image/svg+xml" href="/favicon/favicon.svg"><link rel="shortcut icon" href="/favicon/favicon.ico"><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Tidra"><link rel="manifest" href="/favicon/site.webmanifest"><!-- Preload critical fonts to avoid chain latency --><link rel="preload" href="/fonts/Inter-Variable.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/JetBrainsMono-Light.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/JetBrainsMono-Regular.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/JetBrainsMono-Medium.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/JetBrainsMono-SemiBold.woff2" as="font" type="font/woff2" crossorigin><link rel="preload" href="/fonts/JetBrainsMono-Bold.woff2" as="font" type="font/woff2" crossorigin><title>Tidra | Contact</title>
1<script type="application/ld+json">{JSON.stringify({
2      "@context": "https://schema.org",
3      "@graph": [
4        {
5          "@type": "WebSite",
6          "@id": "https://tidra.ai/#website",
7          "name": "Tidra",
8          "url": "https://tidra.ai"
9        },
10        {
11          "@type": "Organization",
12          "@id": "https://tidra.ai/#organization",
13          "name": "Tidra",
14          "url": "https://tidra.ai",
15          "logo": {
16            "@type": "ImageObject",
17            "url": "https://tidra.ai/tidra-logo.svg"
18          },
19          "sameAs": ["https://www.linkedin.com/company/tidra-ai/"]
20        }
21      ]
22    })}</script>
vendor: 63 bytes, line 22
22<script async src="https://www.googletagmanager.com/gtag/js?id=
22G-0659T720DD
vendor: 11 bytes, line 22
22"></script>
22<script>(function(){const gaId = "G-0659T720DD";
23
24      window.dataLayer = window.dataLayer || [];
25      function gtag(){dataLayer.push(arguments);}
26      gtag('js', new Date());
27      gtag('config', gaId);
28      gtag('config', 'AW-18007840620');
29    })();</script>
29<script>(function(){const gtmId = "GTM-N74L7Z6C";
30
31    (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
32    new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
33    j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
34    'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
35    })(window,document,'script','dataLayer',gtmId);
36  })();</script>
36<!-- Inline: apply saved theme before first paint to prevent flash.
37         The `js` class gates reveal animations so no-JS visitors see all content. -->
37<script>
38      document.documentElement.classList.add('js');
39      if (localStorage.getItem('theme') === 'light') {
40        document.documentElement.classList.add('light');
41      }
42    </script>
42<link rel="stylesheet" href="/_astro/style.BfVXkGiT.css"></head> <body class="min-h-screen bg-bg antialiased">
vendor: 68 bytes, line 42
42 <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
42GTM-N74L7Z6C
vendor: 84 bytes, line 42
42" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>  
42<!-- Preconnect to HubSpot form origins (only include on pages with embedded forms) --><link rel="preconnect" href="https://js.hsforms.net"><link rel="preconnect" href="https://forms.hsforms.com"><link rel="preconnect" href="https://api.github.com"> <header class="fixed left-0 right-0 z-50 border-b border-border/50 bg-bg/80 backdrop-blur-xl top-0"> <nav class="mx-auto flex max-w-7xl items-center justify-between px-6 py-4"> <!-- Logo --> <a href="/" class="flex items-center gap-2"> <img src="/tidra-logo.svg" alt="Tidra" width="43" height="28" class="flex-shrink-0"> <span id="logo-wordmark" class="font-mono text-xl font-bold text-text-primary flex" aria-label="tidra"> <span class="matrix-letter inline-block text-center" data-letter="t" style="height:28px;line-height:28px;font-size:20px;color:inherit;font-weight:600;position:relative"> <span class="matrix-char">t</span> <span class="matrix-underline" style="position:absolute;bottom:0;left:50%;width:0;height:1.5px;background:rgb(var(--color-accent));transform:translateX(-50%);transition:width 150ms ease-out"></span> </span><span class="matrix-letter inline-block text-center" data-letter="i" style="height:28px;line-height:28px;font-size:20px;color:inherit;font-weight:600;position:relative"> <span class="matrix-char">i</span> <span class="matrix-underline" style="position:absolute;bottom:0;left:50%;width:0;height:1.5px;background:rgb(var(--color-accent));transform:translateX(-50%);transition:width 150ms ease-out"></span> </span><span class="matrix-letter inline-block text-center" data-letter="d" style="height:28px;line-height:28px;font-size:20px;color:inherit;font-weight:600;position:relative"> <span class="matrix-char">d</span> <span class="matrix-underline" style="position:absolute;bottom:0;left:50%;width:0;height:1.5px;background:rgb(var(--color-accent));transform:translateX(-50%);transition:width 150ms ease-out"></span> </span><span class="matrix-letter inline-block text-center" data-letter="r" style="height:28px;line-height:28px;font-size:20px;color:inherit;font-weight:600;position:relative"> <span class="matrix-char">r</span> <span class="matrix-underline" style="position:absolute;bottom:0;left:50%;width:0;height:1.5px;background:rgb(var(--color-accent));transform:translateX(-50%);transition:width 150ms ease-out"></span> </span><span class="matrix-letter inline-block text-center" data-letter="a" style="height:28px;line-height:28px;font-size:20px;color:inherit;font-weight:600;position:relative"> <span class="matrix-char">a</span> <span class="matrix-underline" style="position:absolute;bottom:0;left:50%;width:0;height:1.5px;background:rgb(var(--color-accent));transform:translateX(-50%);transition:width 150ms ease-out"></span> </span> </span> 
42<script type="module">(()=>{const r="tidra",a="abcdefghijklmnopqrstuvwxyz0123456789{}()[];:=></$_@#!&*+~^%",e=document.querySelectorAll(".matrix-letter"),S=document.getElementById("logo-wordmark")?.closest("a");if(!e.length)return;const i=()=>a[Math.floor(Math.random()*a.length)];function u(c){return getComputedStyle(document.documentElement).getPropertyValue(c).trim()}let o=null;function m(){o&&(clearInterval(o),o=null);const c=`rgb(${u("--color-accent-dim")} / 0.4)`;e.forEach(t=>{const n=t.querySelector(".matrix-char"),l=t.querySelector(".matrix-underline");n.textContent=i(),t.style.color=c,t.style.fontWeight="400",t.style.textShadow="none",l.style.transition="width 150ms ease-out",l.style.width="0",l.style.opacity="1"});const s=new Array(r.length).fill(!1),h=r.split("").map((t,n)=>5+n*4),y=new Array(r.length).fill(0);o=setInterval(()=>{for(let t=0;t<r.length;t++){if(s[t])continue;y[t]++;const n=e[t].querySelector(".matrix-char"),l=e[t].querySelector(".matrix-underline");if(y[t]>=h[t]){s[t]=!0,n.textContent=r[t];const d=u("--color-accent");e[t].style.color=`rgb(${d})`,e[t].style.fontWeight="600",e[t].style.textShadow=`0 0 8px rgb(${d} / 0.6)`,l.style.width="100%",setTimeout(()=>{e[t].style.color="",e[t].style.textShadow="none"},150)}else n.textContent=i()}s.every(Boolean)&&(clearInterval(o),o=null,setTimeout(()=>{e.forEach(t=>{const n=t.querySelector(".matrix-underline");n.style.transition="width 200ms ease-out, opacity 200ms ease-out",n.style.opacity="0"})},200))},35)}S?.addEventListener("mouseenter",()=>{m()})})();</script>
42 </a> <!-- Desktop Nav --> <div class="hidden items-center gap-7 lg:flex"> <a href="/product/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Product </a><div class="nav-dropdown relative"> <a href="/use-cases/" class="flex items-center gap-1 text-sm text-text-secondary transition-colors hover:text-text-primary"> Use Cases <svg class="h-3.5 w-3.5 transition-transform nav-dropdown-chevron" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="2"> <path d="M4 6l4 4 4-4"></path> </svg> </a> <div class="nav-dropdown-menu absolute left-1/2 -translate-x-1/2 top-full pt-2 opacity-0 invisible transition-all duration-150"> <div class="w-56 rounded-lg border border-border bg-bg-surface p-2 shadow-xl shadow-black/20"> <a href="/use-cases/code-migrations/" class="flex items-center gap-3 rounded-md px-3 py-2.5 text-sm text-text-secondary transition-colors hover:bg-bg-card hover:text-text-primary"> <span class="flex-shrink-0"><svg class="h-5 w-5 text-accent" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M10 2v16"/><path d="M6 6l4-4 4 4" opacity="0.4"/><rect x="3" y="8" width="6" height="4" rx="1"/><rect x="11" y="8" width="6" height="4" rx="1"/><path d="M6 12v2a2 2 0 002 2h4a2 2 0 002-2v-2" stroke-dasharray="2 1.5" opacity="0.5"/></svg></span> Code Migrations </a><a href="/use-cases/config-standardization/" class="flex items-center gap-3 rounded-md px-3 py-2.5 text-sm text-text-secondary transition-colors hover:bg-bg-card hover:text-text-primary"> <span class="flex-shrink-0"><svg class="h-5 w-5 text-accent" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="2" y="2" width="16" height="16" rx="2"/><path d="M6 6h3v3H6zM11 6h3v3h-3zM6 11h3v3H6z"/><path d="M11 11h3v3h-3z" opacity="0.4"/><path d="M9 7.5h2M9 12.5h2M7.5 9v2M12.5 9v2" stroke-dasharray="1 1" opacity="0.5"/></svg></span> Config Standardization </a><a href="/use-cases/cicd-migrations/" class="flex items-center gap-3 rounded-md px-3 py-2.5 text-sm text-text-secondary transition-colors hover:bg-bg-card hover:text-text-primary"> <span class="flex-shrink-0"><svg class="h-5 w-5 text-accent" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5"><rect x="1" y="4" width="7" height="5" rx="1.5"/><rect x="1" y="11" width="7" height="5" rx="1.5"/><rect x="12" y="7" width="7" height="6" rx="1.5" opacity="0.7"/><path d="M8 6.5h4M8 13.5h4" stroke-dasharray="2 1.5"/><path d="M15.5 7V5.5a2 2 0 00-2-2H10M15.5 13v1.5a2 2 0 01-2 2H10" opacity="0.4"/></svg></span> CI/CD Migrations </a><a href="/use-cases/security-compliance/" class="flex items-center gap-3 rounded-md px-3 py-2.5 text-sm text-text-secondary transition-colors hover:bg-bg-card hover:text-text-primary"> <span class="flex-shrink-0"><svg class="h-5 w-5 text-accent" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="1.5"><path d="M10 1.5l7 3.5v5c0 4.5-3.5 7.5-7 8.5-3.5-1-7-4-7-8.5V5l7-3.5z"/><path d="M7 10l2 2 4-4"/><path d="M10 1.5V10M3 5l7 5 7-5" opacity="0.15" stroke-width="1"/></svg></span> Security &amp; Compliance </a> </div> </div> </div><a href="/initiatives/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Initiative Library </a><a href="https://docs.tidra.ai" class="text-sm text-text-secondary transition-colors hover:text-text-primary" target="_blank" rel="noopener noreferrer"> Docs </a><a href="/blog/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Blog </a> </div> <!-- Auth + Theme toggle --> <div class="flex items-center gap-4"> <button aria-label="Toggle light/dark mode" class="theme-toggle-btn flex items-center justify-center w-8 h-8 rounded-lg text-text-muted transition-colors hover:text-text-primary hover:bg-bg-surface"> <svg class="icon-moon h-4 w-4" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M21.752 15.002A9.72 9.72 0 0 1 18 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 0 0 3 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 0 0 9.002-5.998Z"></path> </svg> <svg class="icon-sun h-4 w-4 hidden" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"> <path d="M12 3v2.25m6.364.386-1.591 1.591M21 12h-2.25m-.386 6.364-1.591-1.591M12 18.75V21m-4.773-4.227-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 1 1-7.5 0 3.75 3.75 0 0 1 7.5 0Z"></path> </svg> </button> <a href="https://app.tidra.ai" class="hidden whitespace-nowrap text-sm text-text-secondary transition-colors hover:text-text-primary lg:block">
43Sign In
44</a> <a href="/demo/" class="btn-primary !px-4 !py-2 text-sm">
45Book a demo
46</a> </div> <!-- Mobile menu button --> <button id="mobile-menu-btn" class="ml-4 flex items-center lg:hidden" aria-label="Toggle menu"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="text-text-secondary"> <path d="M3 12h18M3 6h18M3 18h18"></path> </svg> </button> </nav> <!-- Mobile menu --> <div id="mobile-menu" class="hidden border-t border-border bg-bg px-6 py-4 lg:hidden"> <a href="/product/" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary"> Product </a> <a href="/use-cases/" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary"> Use Cases </a> <div class="pl-4 border-l border-border ml-2"> <a href="/use-cases/code-migrations/" class="block py-1.5 text-xs text-text-muted transition-colors hover:text-text-primary"> Code Migrations </a><a href="/use-cases/config-standardization/" class="block py-1.5 text-xs text-text-muted transition-colors hover:text-text-primary"> Config Standardization </a><a href="/use-cases/cicd-migrations/" class="block py-1.5 text-xs text-text-muted transition-colors hover:text-text-primary"> CI/CD Migrations </a><a href="/use-cases/security-compliance/" class="block py-1.5 text-xs text-text-muted transition-colors hover:text-text-primary"> Security &amp; Compliance </a> </div> <a href="/initiatives/" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary"> Initiative Library </a><a href="https://docs.tidra.ai" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary"> Docs </a><a href="/blog/" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary"> Blog </a> <a href="/demo/" class="mt-2 block py-2 text-sm font-semibold text-accent transition-colors hover:text-accent-light">
47Book a demo
48</a> <a href="https://app.tidra.ai" class="block py-2 text-sm text-text-secondary transition-colors hover:text-text-primary">
49Sign In
50</a> </div> </header>  
50<script type="module">const s=document.getElementById("mobile-menu-btn"),c=document.getElementById("mobile-menu");s?.addEventListener("click",()=>{c?.classList.toggle("hidden")});const d=document.querySelector(".theme-toggle-btn"),e=document.querySelector(".icon-moon"),t=document.querySelector(".icon-sun");function n(o){o?(document.documentElement.classList.add("light"),e?.classList.add("hidden"),t?.classList.remove("hidden"),localStorage.setItem("theme","light")):(document.documentElement.classList.remove("light"),e?.classList.remove("hidden"),t?.classList.add("hidden"),localStorage.setItem("theme","dark"))}n(document.documentElement.classList.contains("light"));d?.addEventListener("click",()=>{n(!document.documentElement.classList.contains("light"))});</script>
50 <main class="pt-32 pb-24"> <!-- Hero + Form Section --> <section class="mx-auto max-w-7xl px-6"> <div class="grid gap-16 lg:grid-cols-2 lg:gap-20 items-start"> <!-- Left: Copy + Contact Details --> <div class="reveal"> <p class="font-mono text-xs uppercase tracking-widest text-accent mb-4">Contact Us</p> <h1 class="font-sans text-4xl font-semibold tracking-[-0.03em] md:text-5xl lg:text-6xl">
51Get in<br> <span class="text-gradient">touch</span> </h1> <p class="mt-6 max-w-lg text-lg text-text-secondary leading-relaxed">
52Have a question about Tidra? Want to discuss how <span class="whitespace-nowrap">AI-powered</span> maintenance can work for your team? We'd love to hear from you.
53</p> <div class="mt-10 fieldset-border p-6" data-label="Contact"> <div class="space-y-6"> <!-- Location --> <div class="flex items-start gap-4"> <div class="mt-1 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg bg-text-muted/10 text-text-muted"> <svg class="h-4 w-4" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5"> <path d="M8 1C5.2 1 3 3.2 3 6c0 4 5 9 5 9s5-5 5-9c0-2.8-2.2-5-5-5z"></path> <circle cx="8" cy="6" r="1.5"></circle> </svg> </div> <div> <p class="font-mono text-xs uppercase tracking-widest text-text-muted mb-1">Location</p> <p class="text-sm text-text-primary leading-relaxed">111 Peter Street, Suite 700<br>Toronto, ON M5V 2H1</p> </div> </div> <!-- Email --> <div class="flex items-start gap-4"> <div class="mt-1 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg bg-text-muted/10 text-text-muted"> <svg class="h-4 w-4" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5"> <rect x="1" y="3" width="14" height="10" rx="1.5"></rect> <path d="M1 3l7 5 7-5"></path> </svg> </div> <div> <p class="font-mono text-xs uppercase tracking-widest text-text-muted mb-1">Email</p> <a href="/cdn-cgi/l/email-protection#6e070008012e1a070a1c0f400f07" class="text-sm text-accent hover:text-accent-light transition-colors"><span class="__cf_email__" data-cfemail="751c1b131a35011c1107145b141c">[email&#160;protected]</span></a> </div> </div> <!-- Phone --> <div class="flex items-start gap-4"> <div class="mt-1 flex h-8 w-8 flex-shrink-0 items-center justify-center rounded-lg bg-text-muted/10 text-text-muted"> <svg class="h-4 w-4" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5"> <path d="M3.5 1.5l2.4 2.4L4 5.8a10 10 0 006.2 6.2l1.9-1.9 2.4 2.4-1.2 1.2a2 2 0 01-2.2.4A14 14 0 012 4.9a2 2 0 01.4-2.2z"></path> </svg> </div> <div> <p class="font-mono text-xs uppercase tracking-widest text-text-muted mb-1">Phone</p> <a href="tel:+16474839025" class="text-sm text-accent hover:text-accent-light transition-colors">+1 (647) 483-9025</a> </div> </div> </div> </div> </div> <!-- Right: Form --> <div class="reveal reveal-delay-1"> <div class="glow-border bg-bg-surface/50 p-8 md:p-10"> <h2 class="font-mono text-xl font-semibold text-text-primary mb-2">Send a message</h2> <div id="hubspot-form"></div> </div> </div> </div> </section> </main> <footer class="section-divider section-dots py-16 bg-deep bg-bg-card site-footer"> <div class="mx-auto max-w-7xl px-6"> <div class="grid gap-12 md:grid-cols-6"> <!-- Brand --> <div class="md:col-span-2"> <a href="/" class="flex items-center gap-2"> <img src="/tidra-logo.svg" alt="Tidra" width="37" height="24" class="flex-shrink-0"> <span class="font-mono text-lg font-bold text-text-primary">tidra</span> </a> <p class="mt-4 max-w-xs text-sm text-text-muted leading-relaxed">
54The platform for engineering maintenance. An AI maintenance agent that runs CVE patches, dependency upgrades, framework migrations, and CI/CD migrations across hundreds of repos. Generated, reviewed, and tracked to merge.
55</p> <a href="/legal/security/" class="mt-6 flex items-center gap-4 w-fit" aria-label="Read about Tidra's security practices"> <img src="/soc2.webp" alt="SOC 2" width="48" height="48" loading="lazy" class="opacity-70 transition-opacity hover:opacity-100"> <img src="/aicpa.webp" alt="AICPA SOC" width="48" height="48" loading="lazy" class="opacity-70 transition-opacity hover:opacity-100"> </a> </div> <!-- Link columns --> <div> <h4 class="font-mono text-xs font-semibold uppercase tracking-widest text-text-muted">Product</h4> <ul class="mt-4 space-y-3"> <li> <a href="/product/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Product </a> </li><li> <a href="/initiatives/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Initiatives </a> </li><li> <a href="/use-cases/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Use Cases </a> </li><li> <a href="/demo/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Book a demo </a> </li> </ul> </div><div> <h4 class="font-mono text-xs font-semibold uppercase tracking-widest text-text-muted">Resources</h4> <ul class="mt-4 space-y-3"> <li> <a href="https://docs.tidra.ai" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Docs </a> </li><li> <a href="/blog/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Blog </a> </li><li> <a href="/maintenance-report/" class="text-sm text-text-secondary transition-colors hover:text-text-primary">
55 Maintenance report </a> </li> </ul> </div><div> <h4 class="font-mono text-xs font-semibold uppercase tracking-widest text-text-muted">Company</h4> <ul class="mt-4 space-y-3"> <li> <a href="/about/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> About </a> </li><li> <a href="/contact/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Contact </a> </li><li> <a href="/legal/security/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Security </a> </li> </ul> </div><div> <h4 class="font-mono text-xs font-semibold uppercase tracking-widest text-text-muted">Legal</h4> <ul class="mt-4 space-y-3"> <li> <a href="/legal/privacy/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Privacy </a> </li><li> <a href="/legal/terms-of-service-v4/" class="text-sm text-text-secondary transition-colors hover:text-text-primary"> Terms </a> </li> </ul> </div> </div> <!-- Bottom bar --> <div class="mt-12 flex flex-col items-center justify-between gap-4 border-t border-border pt-8 md:flex-row"> <p class="text-xs text-text-muted">
56&copy; 2026 Tidra, Inc. All rights reserved.
57</p> <a href="https://ca.linkedin.com/company/tidra-ai" target="_blank" rel="noopener noreferrer" aria-label="Tidra on LinkedIn" class="text-text-muted transition-colors hover:text-text-primary"> <svg class="h-5 w-5" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"> <path d="M20.45 20.45h-3.56v-5.57c0-1.33-.02-3.04-1.85-3.04-1.85 0-2.14 1.45-2.14 2.94v5.67H9.35V9h3.41v1.56h.05c.48-.9 1.64-1.85 3.37-1.85 3.6 0 4.27 2.37 4.27 5.46v6.28zM5.34 7.43a2.06 2.06 0 1 1 0-4.13 2.06 2.06 0 0 1 0 4.13zM7.12 20.45H3.55V9h3.57v11.45zM22.22 0H1.77C.79 0 0 .77 0 1.72v20.55C0 23.23.79 24 1.77 24h20.45c.98 0 1.78-.77 1.78-1.73V1.72C24 .77 23.2 0 22.22 0z"></path> </svg> </a> </div> </div> </footer>  <!-- Scroll-triggered reveal animations. Inline classic script so it runs
58         during parse, before first paint: above-the-fold elements are marked
59         visible synchronously and never flash hidden. -->
vendor: 109 bytes, line 59
59 <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
59<script>
60      (function () {
61        var els = document.querySelectorAll('.reveal');
62        var vh = window.innerHeight;
63        var below = [];
64        els.forEach(function (el) {
65          if (el.getBoundingClientRect().top < vh) {
66            el.classList.add('visible');
67          } else {
68            below.push(el);
69          }
70        });
71        if (!below.length) return;
72        var observer = new IntersectionObserver(
73          function (entries) {
74            entries.forEach(function (entry) {
75              if (entry.isIntersecting) {
76                entry.target.classList.add('visible');
77                observer.unobserve(entry.target);
78              }
79            });
80          },
81          { threshold: 0.1, rootMargin: '0px 0px -50px 0px' }
82        );
83        below.forEach(function (el) { observer.observe(el); });
84      })();
85    </script>
85 <!-- HubSpot tracking (main thread — sub-scripts need DOM/storage access) --> 
85<script async src="https://js.hs-scripts.com/4707813.js"></script>
85 <!-- Clay visitor identification --> 
85<script async src="https://static.claydar.com/init.v1.js?id=cKMD9n0CpR"></script>
85 <!-- Cloudflare Pages Analytics -->
vendor: 99 bytes, line 85
85<script defer src='https://static.cloudflareinsights.com/beacon.min.js' data-cf-beacon='{"token": "
85640652ade9084f73b4bce8e578348ee0
vendor: 13 bytes, line 85
85"}'></script>
85<!-- Cloudflare Pages Analytics --></body> </html> 
85<script src="//js.hsforms.net/forms/embed/v2.js" charset="utf-8"></script>
85 
85<script>
86  hbspt.forms.create({
87    portalId: "4707813",
88    formId: "004cffb7-eec0-4cb3-aaeb-13112a81b8c9",
89    region: "na1",
90    target: "#hubspot-form",
91    redirectUrl: "/thank-you",
92  });
93</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.