1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="utf-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <link rel="icon" href="./favicon.svg" type="image/svg+xml" /> 7 <link rel="icon" href="./favicon.ico" sizes="32x32" /> 8 <link rel="apple-touch-icon" href="./favicon.png" /> 9 <link rel="manifest" href="./site.webmanifest" /> 10
10<script> 11 const stored = localStorage.getItem('theme'); 12 const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; 13 if (stored === 'dark' || (!stored && prefersDark)) { 14 document.documentElement.classList.add('dark'); 15 } 16 if (stored === 'dark' || stored === 'light') { 17 document.documentElement.style.colorScheme = stored; 18 } 19 </script>
19 20 <link href="./_app/immutable/entry/start.BcvH8Hi4.js" rel="modulepreload"> 21 <link href="./_app/immutable/chunks/wZmFplS0.js" rel="modulepreload"> 22 <link href="./_app/immutable/chunks/CSnXLx1e.js" rel="modulepreload"> 23 <link href="./_app/immutable/chunks/Dt-HX3Vu.js" rel="modulepreload"> 24 <link href="./_app/immutable/entry/app.Du80Cu0-.js" rel="modulepreload"> 25 <link href="./_app/immutable/chunks/HclGiUj8.js" rel="modulepreload"> 26 <link href="./_app/immutable/chunks/DsCuGVRY.js" rel="modulepreload"> 27 <link href="./_app/immutable/chunks/xihTtKlq.js" rel="modulepreload"> 28 <link href="./_app/immutable/nodes/0.1sWiAfiv.js" rel="modulepreload"> 29 <link href="./_app/immutable/chunks/jHZ6Ovct.js" rel="modulepreload"> 30 <link href="./_app/immutable/chunks/DT8GDANn.js" rel="modulepreload"> 31 <link href="./_app/immutable/chunks/DjeAXF7z.js" rel="modulepreload"> 32 <link href="./_app/immutable/chunks/CWJ0vqHi.js" rel="modulepreload"> 33 <link href="./_app/immutable/chunks/DHTsLKmC.js" rel="modulepreload"> 34 <link href="./_app/immutable/chunks/CLiEIfnM.js" rel="modulepreload"> 35 <link href="./_app/immutable/chunks/B4QxraMw.js" rel="modulepreload"> 36 <link href="./_app/immutable/chunks/_PFfN22T.js" rel="modulepreload"> 37 <link href="./_app/immutable/chunks/BfWc1Eg5.js" rel="modulepreload"> 38 <link href="./_app/immutable/chunks/Bw-tUsUI.js" rel="modulepreload"> 39 <link href="./_app/immutable/chunks/C9nlMHhe.js" rel="modulepreload"> 40 <link href="./_app/immutable/chunks/BQ1F1807.js" rel="modulepreload"> 41 <link href="./_app/immutable/nodes/4.V48NGgv-.js" rel="modulepreload"> 42 <link href="./_app/immutable/chunks/CZMO7Kg0.js" rel="modulepreload"> 43 <link href="./_app/immutable/chunks/dGnEK31J.js" rel="modulepreload"> 44 <link href="./_app/immutable/chunks/BpCmNuEF.js" rel="modulepreload"> 45 <link href="./_app/immutable/chunks/Cz_AH_zJ.js" rel="modulepreload"> 46 <link href="./_app/immutable/chunks/BH-_8B9w.js" rel="modulepreload"> 47 <link href="./_app/immutable/chunks/a1JfFLbz.js" rel="modulepreload"> 48 <link href="./_app/immutable/chunks/Ditasi3i2.js" rel="modulepreload"> 49 <link href="./_app/immutable/chunks/04FkE_4O2.js" rel="modulepreload"> 50 <link href="./_app/immutable/chunks/BOiTR06E2.js" rel="modulepreload"> 51 <link href="./_app/immutable/chunks/Cn0Y16uu2.js" rel="modulepreload"> 52 <link href="./_app/immutable/chunks/DJrCmR9o2.js" rel="modulepreload"> 53 <link href="./_app/env.js" rel="modulepreload"> 54 <!--12qhfyh--><!--[0--><meta name="color-scheme" content="light dark"/> <meta name="theme-color" content="#1d1dc9" media="(prefers-color-scheme: light)"/> <meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"/> <link rel="canonical" href="https://altcha.org/"/> <link rel="sitemap" type="application/xml" title="Sitemap" href="https://altcha.org/sitemap.xml"/> <link rel="describedby" type="text/plain" href="https://altcha.org/llms.txt"/> <!--[--><link rel="alternate" hreflang="en" href="https://altcha.org/"/><link rel="alternate" hreflang="de" href="https://altcha.org/de/"/><link rel="alternate" hreflang="es" href="https://altcha.org/es/"/><link rel="alternate" hreflang="fr" href="https://altcha.org/fr/"/><link rel="alternate" hreflang="it" href="https://altcha.org/it/"/><link rel="alternate" hreflang="pt" href="https://altcha.org/pt/"/><link rel="alternate" hreflang="x-default" href="https://altcha.org/"/><!--]--> <!---->
54<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","name":"ALTCHA","url":"https://altcha.org","logo":"https://altcha.org/favicon.png","sameAs":["https://github.com/altcha-org"]},{"@type":"WebSite","name":"ALTCHA","url":"https://altcha.org"}]}</script>
54<!----><!--]--><!----><!--jk47qw--><!--[0--><meta name="description" content="ALTCHA protects your site from bots and spam with a privacy-first CAPTCHA â no tracking, no cookies, fully GDPR compliant and WCAG 2.2 AA accessible."/><!--]--> <meta property="og:type" content="website"/> <meta property="og:site_name" content="ALTCHA"/> <meta property="og:title" content="ALTCHA â Privacy-First CAPTCHA Alternative"/> <!--[0--><meta property="og:description" content="ALTCHA protects your site from bots and spam with a privacy-first CAPTCHA â no tracking, no cookies, fully GDPR compliant and WCAG 2.2 AA accessible."/><!--]--> <meta property="og:url" content="https://altcha.org/"/> <meta property="og:image" content="https://altcha.org/altcha_banner.png"/> <!--[-1--><!--]--> <!--[0--><!---->
54<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"What is ALTCHA and how does it work?","acceptedAnswer":{"@type":"Answer","text":"A CAPTCHA alternative that verifies visitors with a silent proof-of-work challenge instead of puzzles or image quizzes â no tracking, no cookies, and nothing for real users to solve. See \u003ca href=\"/docs/how-it-works/\" class=\"underline text-primary font-medium\">How ALTCHA Works\u003c/a> for a full walkthrough."}},{"@type":"Question","name":"Is ALTCHA really free?","acceptedAnswer":{"@type":"Answer","text":"Yes â the \u003ca href=\"/open-source-captcha/\" class=\"underline text-primary font-medium\">open-source widget\u003c/a> is free forever, with no sign-up, API keys, or usage limits. Paid Cloud and Sentinel plans add hosted analytics and adaptive threat protection for teams that need it."}},{"@type":"Question","name":"Is ALTCHA GDPR compliant without a cookie banner?","acceptedAnswer":{"@type":"Answer","text":"Yes. ALTCHA sets no cookies, does no fingerprinting, and shares no data with third parties, so there's nothing that requires consent. See our \u003ca href=\"/legal/compliance/gdpr/\" class=\"underline text-primary font-medium\">GDPR compliance page\u003c/a> for details."}},{"@type":"Question","name":"How hard is it to switch from reCAPTCHA or another CAPTCHA?","acceptedA
54nswer":{"@type":"Answer","text":"Most teams switch in under an hour â the widget is a drop-in replacement, and your existing form-submission flow stays the same. Step-by-step guides are available for \u003ca href=\"/docs/migration/recaptcha/\" class=\"underline text-primary font-medium\">reCAPTCHA\u003c/a>, \u003ca href=\"/docs/migration/hcaptcha/\" class=\"underline text-primary font-medium\">hCaptcha\u003c/a>, and \u003ca href=\"/docs/migration/turnstile/\" class=\"underline text-primary font-medium\">Cloudflare Turnstile\u003c/a>."}}]}</script>
54<!----><!--]--><!----><title>ALTCHA â Privacy-First CAPTCHA Alternative</title> 55 <link href="./_app/immutable/assets/0.NRxLHjZ1.css" rel="stylesheet"> 56 </head> 57 <body data-sveltekit-preload-data="hover"> 58 <div style="display: contents"><!--[--><!--[0--><!--[--><!--[-1--><a href="#main-content" class="sr-only focus:not-sr-only focus:fixed focus:top-2 focus:left-2 focus:z-[60] focus:rounded focus:bg-primary focus:px-4 focus:py-2 focus:text-white">Skip to main content</a> <div class="min-h-screen bg-white text-neutral-900 dark:bg-neutral-900 dark:text-neutral-100"><header data-pagefind-ignore="" class="sticky top-0 z-40 shadow-xs border-b border-neutral-200 bg-white/80 backdrop-blur dark:border-neutral-800 dark:bg-neutral-900/90"><div class="mx-auto flex h-12 max-w-screen-2xl items-center --gap-4 pr-4"><button class="lg:hidden px-4 h-12 bg-brand text-white hover:text-white/80" popovertarget="mobile-menu-popover" aria-label="Open menu"><svg width="20" height="20" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16"></path></svg></button> <a href="/" class="flex h-12 px-3 lg:px-6 items-center justify-center gap-3 bg-brand text-white md:mr-4"><svg width="24" height="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 174 174" fill="none" class="hidden sm:inline-block shrink-0 size-6 text-white"><path fill="currentColor" d="M20.393 142.921c30.942 36.807 85.918 41.608 122.793 10.723 17.798-14.906 28.126-35.402 30.569-56.757l-16.966-6.164c-1.001 18.57-9.41 36.696-24.808 49.593-29.5 24.707-73.48 20.867-98.234-8.579C8.994 102.292 12.84 58.392 42.34 33.685s73.481-20.867 98.234 8.578c7.394 8.796 12.236 18.881 14.605 29.36l18.724 6.802c-1.657-16.851-8.248-33.396-19.975-47.346C122.987-5.728 68.011-10.53 31.136 20.356s-41.684 85.759-10.743 122.565"></path><path fill="currentColor" d="M31.136 20.356C14.45 34.332 4.33 53.22 1.116 73.126l16.722 6.389c1.866-17.237 10.147-33.806 24.503-45.83 29.5-24.708 73.481-20.867 98.234 8.578l-20.03 16.776L174 79.463c-1.485-17.21-8.104-34.148-20.071-48.384C122.987-5.728 68.011-10.53 31.136 20.356M61.013 87H43.582c0 24.024 19.51 43.499 43.58 43.499 24.067 0 43.579-19.475 43.579-43.499h-17.432c0 14.415-11.707 26.099-26.148 26.099S61.013 101.415 61.013 87"></path></svg> <span><span class="font-semibold tracking-wider">ALTCHA</span><sup>®</sup></span></a> <nav class="hidden h-full lg:flex items-end gap-5 text-sm"><!--[--><a href="/" class="flex h-full items-center text-base -mb-px border-b-2 font-medium transition-colors border-primary text-primary">About</a><a href="/pricing/" class="flex h-full items-center text-base -mb-px border-b-2 font-medium transition-colors border-transparent text-neutral-600 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-100">Pricing</a><a href="/docs/" class="flex h-full items-center text-base -mb-px border-b-2 font-medium transition-colors border-transparent text-neutral-600 hover:text-neutral-900 dark:text-neutral-400 dark:hover:text-neutral-100">Guides</a><!--]--></nav> <div class="ml-auto flex items-center gap-2"><button popovertarget="search-popover" popovertargetaction="show" class="btn-animated flex items-center gap-2 h-8 rounded border border-neutral-200 bg-white px-3 sm:pr-1.5 py-1.5 text-sm text-neutral-500 transition-colors hover:border-neutral-300 dark:border-neutral-700 dark:bg-neutral-900 dark:hover:border-neutral-600" aria-label="Search"><svg width="16" height="16" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg> <span class="hidden sm:block pr-6">Search</span> <kbd class="hidden sm:flex items-center gap-0.5 rounded bg-neutral-100 px-1.5 py-0.5 text-xs dark:bg-neutral-800"><span>â</span>K</kbd></button><!----> <!--[0--><button popovertarget="chat-popover" popovertargetaction="toggle" class="btn-animated flex items-center gap-1.5 h-8 rounded border border-neutral-200 bg-white px-3 py-1.5 text-sm font-medium text-neutral-600 transition-colors hover:border-neutral-300 hover:text-neutral-900 dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-400 dark:hover:border-neutral-600 dar
58k:hover:text-neutral-100" aria-label="Ask AI"><svg width="14" height="14" class="h-3.5 w-3.5 text-amber-500" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg> <span class="hidden sm:block">Ask AI</span></button><!--]--> <div class="hidden xl:flex text-sm items-center gap-2 h-8 rounded border border-neutral-200 bg-white px-3 py-1.5 font-medium text-neutral-600 transition-colors hover:border-neutral-300 hover:text-neutral-900 dark:border-neutral-700 dark:bg-neutral-900 dark:text-neutral-400 dark:hover:border-neutral-600 dark:hover:text-neutral-100"><!--[--><a href="https://cloud.altcha.org" target="_blank" class="hover:underline">Cloud</a> <!--[0--><span class="border-l border-neutral-200 dark:border-neutral-700 h-4.5"></span><!--]--><a href="https://playground.altcha.org" target="_blank" class="hover:underline">Playground</a> <!--[0--><span class="border-l border-neutral-200 dark:border-neutral-700 h-4.5"></span><!--]--><a href="/sentinel-api-docs-v1.html" target="_blank" class="hover:underline">Sentinel API</a> <!--[-1--><!--]--><!--]--></div> <button aria-label="Dark mode" class="flex items-center justify-center rounded p-1.5 size-8 text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"><svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 dark:hidden" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"><path d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"></path></svg> <svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" class="h-4 w-4 hidden dark:block" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2" aria-hidden="true"><circle cx="12" cy="12" r="5"></circle><line x1="12" y1="1" x2="12" y2="3"></line><line x1="12" y1="21" x2="12" y2="23"></line><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"></line><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"></line><line x1="1" y1="12" x2="3" y2="12"></line><line x1="21" y1="12" x2="23" y2="12"></line><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"></line><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"></line></svg></button><!----> <!--[0--><div class="relative h-8 w-8 lg:w-auto flex gap-2 items-center px-2 py-1 rounded text-neutral-500 hover:bg-neutral-100 hover:text-neutral-900 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" width="16" height="16" class="lucide lucide-languages-icon lucide-languages size-4 shrink-0 pointer-events-none" aria-hidden="true"><path d="m5 8 6 6"></path><path d="m4 14 6-6 2-3"></path><path d="M2 5h12"></path><path d="M7 2h1"></path><path d="m22 22-5-10-5 10"></path><path d="M14 18h6"></path></svg> <select id="locale-select" aria-label="Change language" class="absolute inset-0 h-full w-full cursor-pointer appearance-none opacity-0 lg:static lg:h-auto lg:w-auto lg:opacity-100 px-0 bg-transparent text-sm text-neutral-600 dar
58k:border-neutral-700 dark:text-neutral-400"><!--[--><option value="en" selected="">English</option><option value="de">Deutsch</option><option value="es">Español</option><option value="fr">Français</option><option value="it">Italiano</option><option value="pt">Português</option><!--]--></select></div><!--]--><!----></div></div></header><!----> <div class="chat-push" style="--chat-width: 0"><!--[-1--><!--[--><!----> <main id="main-content" tabindex="-1" data-pagefind-body="" class="flex flex-col gap-12 lg:gap-24 pt-14 lg:pt-24"><section class="relative "><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="lg:pt-6"><div class="grid grid-cols-1 lg:grid-cols-2 gap-6 gap-y-12"><div class="flex flex-col gap-6"><div><span class="uppercase text-primary font-semibold"><!---->CAPTCHA & bot protection<!----></span></div> <h1 class="text-3xl xl:text-4xl font-bold"><!---->The privacy-friendly CAPTCHA that stops bots and spam.<!----></h1> <div class="prose dark:prose-invert lg:text-lg"><p><!---->ALTCHA blocks fake sign-ups, and form spam â with no cookies, no tracking, and no data leaving your control. Fully GDPR compliant, out of the box.<!----></p></div> <div class="flex items-center gap-3"><a href="/docs/integration/quick-start/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center btn-animated shadow-md min-w-44 bg-primary hover:bg-transparent hover:text-current hover:dark:bg-primary-dark text-white shadow-sm border border-primary" data-variant="primary"><!---->Get Started<!----><!----></a><!----> <a href="/docs/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center btn-animated border border-neutral-200 dark:border-neutral-800" data-variant="outline"><!---->Guides<!----><!----></a><!----></div></div> <div class="flex flex-col gap-6 items-center justify-center"><div class="relative w-(--altcha-max-width)"><div class="h-10 w-(--altcha-max-width) shadow-lg/10 shadow-primary dark:shadow-black absolute bottom-0 left-0 rounded-md"></div> <altcha-widget class="shadow-2xl" type="switch" configuration="{"test":true}"></altcha-widget> <noscript><div class="text-sm italic">JavaScript required.</div></noscript></div> <div class="flex flex-wrap gap-2 items-center justify-center max-w-96"><!--[--><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Frictionless<!----><!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->No tracking<!----><!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->GDPR compliant<!----><!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->WCAG 2.2 AA accessible<!----><!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Self-hosted<!----><!----></span><!--]--></div></div></div></div><!----></div></section><!----> <section class="relative bg-neutral-50 border-y border-neutral-200 dark:bg-neutral-800/50 dark:border-neutral-700 py-3"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-wrap gap-12 gap-y-6 items-center justify-center"><div class="xl:grow text-center"><div class="text-lg"><!---->Trusted by <b>governments and organizations worldwide</b>.<!----></div> <div class="text-sm"><a href="/docs/trust/" class="underline text-primary"><!---->Why organizations trust ALTCHA?<!----></a></div></div> <div class="flex gap-8 items-center justify-cente dark:bg-white/70 px-2 lg:px-4 lg:py-2 rounded-xl"><div><img src="/logos/bund.de.png" alt="bund.de" class="size-20 object-contain grayscale-25 hover:grayscale-0"/></div> <div><img src="/logos/gouv.fr.png" alt="gouv.fr" class="size-14 object-contain grayscale-25 hover:grayscale-0"/></div> <div><img src="/logos/gov.uk.png" alt="gov.uk" class="size-20 object-contain grayscale-25 hover:grayscale-0"/></div> <div><img src="/logos/sec.gov.png" alt="sec.gov" class="size-14 object-contain grayscale-25 hover:grayscale-0"/></div> <div><img src="/logos/nasa.com.png" alt="nasa.com" class="size-16 object-contain grayscale-25 hover:grayscale-0"/></div></div><!----></div><!----></div></section><!----> <section class="relative border-b border-neutral-400/20 pb-12 lg:pb-24"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-12"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">Privacy-first products</div> <h2 class="text-lg lg:text-2xl font-semibold">Built for how you run your site.</h2> <div class="prose dark:prose-invert lg:text-lg opacity-80"><p>From a fully self-hosted platform with complete data sovereignty to a drop-in WordPress plugin that needs zero code â ALTCHA ships as a product that fits, always private.</p></div></div> <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><!--[--><div class="flex flex-col gap-3 border rounded-xl overflow-hidden border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800/50"><div class="grow p-6 flex flex-col gap-1"><div class="text-sm font-semibold uppercase text-primary">Self-hosted</div> <h3 class="text-xl font-semibold"><a href="/docs/sentinel/">ALTCHA Sentinel</a></h3> <div class="prose dark:prose-invert"><p>
58The full Sentinel platform, on your own infrastructure â complete data sovereignty, air-gapped deployment if you need it.</p></div> <div class="prose dark:prose-invert"><p><a href="/docs/sentinel/">Get Started with Sentinel</a></p></div></div> <div class="overflow-hidden relative h-72"><div class="absolute -right-6 top-0 border-10 border-black rounded-2xl overflow-hidden w-full"><a href="/docs/sentinel/"><img src="/screens/en/sentinel/sentinel.webp" alt="ALTCHA Sentinel" class="w-full"/></a></div></div></div><div class="flex flex-col gap-3 border rounded-xl overflow-hidden border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800/50"><div class="grow p-6 flex flex-col gap-1"><div class="text-sm font-semibold uppercase text-primary">Self-Contained</div> <h3 class="text-xl font-semibold"><a href="/docs/wordpress/">ALTCHA for WordPress</a></h3> <div class="prose dark:prose-invert"><p>A self-contained plugin that blocks bots and spam without a single line of code â and without sending anything to external services.</p></div> <div class="prose dark:prose-invert"><p><a href="/docs/wordpress/">Get Started with WordPress</a></p></div></div> <div class="overflow-hidden relative h-72"><div class="absolute -right-6 top-0 border-10 border-black rounded-2xl overflow-hidden w-full"><a href="/docs/wordpress/"><img src="/screens/en/wp/altcha-wordpress-2.webp" alt="ALTCHA for WordPress" class="w-full"/></a></div></div></div><!--]--></div></div><!----></div></section><!----> <section class="relative "><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-12"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">Why organizations switch</div> <h2 class="text-lg lg:text-2xl font-semibold">Global compliance & universal accessibility.</h2> <div class="prose dark:prose-invert lg:text-lg"><p>Protection that respects your users and your legal team â out of the box, in 50+ languages.</p></div></div> <div class="grid grid-cols-1 lg:grid-cols-3 gap-6"><!--[--><div class="flex flex-col gap-3 border border-primary/10 rounded-xl p-6 pt-4"><h3 class="text-lg font-semibold text-primary">Compliance</h3> <ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">100% GDPR compliant</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">ePrivacy / cookie-law friendly</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">No personal data collected</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">Zero third-party data sharing</span></li>
58<!--]--></ul></div><div class="flex flex-col gap-3 border border-primary/10 rounded-xl p-6 pt-4"><h3 class="text-lg font-semibold text-primary">Accessibility</h3> <ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">WCAG 2.2 AA conformant</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">
58Full keyboard navigation</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">Screen-reader labelled</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">No visual puzzles</span></li><!--]--></ul></div><div class="flex flex-col gap-3 border border-primary/10 rounded-xl p-6 pt-4"><h3 class="text-lg font-semibold text-primary">Localization</h3> <ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">50+ languages built in</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">Right-to-left support</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">Automatic language detection</span></li><li class="flex gap-3 items-center"><span class="flex items-center justify-center border border-current/10 rounded-md size-5 shrink-0"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----></span> <span class="text-sm">Themeable, brandable UI</span></li><!--]--></ul></div><!--]--></div> <div><div class="prose dark:prose-invert mx-auto xl:text-lg text-center"><!---->ALTCHA is the <b>#1 privacy-first CAPTCHA widget</b> with <b>300,000+ live websites</b> according to <a href="https://trends.builtwith.com/widgets/ALTCHA" target="_blank" rel="noopener" class="underline font-medium">builtwith.com</a>.<!----></div></div></div><!----></div></section><!----> <section class="relative bg-linear-to-b from-neutral-400/10 to-transparen border-t border-neutral-400/20 pt-12"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-12"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">Adaptive bot protection</div> <h2 class="text-lg lg:text-2xl font-semibold">Friction only for bots, not humans.</h2> <div class="prose dark:prose-invert lg:text-lg opacity-80"><p>Every visitor gets the same invisible proof-of-work challenge. With Cloud or Sentinel, risk signals decide who needs anything more â an interactive check only when it's actually warranted.</p></div></div> <div class="grid grid-cols-1 lg:grid-cols-2 gap-6"><div class="flex flex-col gap-1 bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-700 rounded-xl shadow-lg/5 p-3 xl:p-6"><div class="text-sm text-green-700">Low risk</div> <div class="text-xl font-semibold">Frictionless</div> <div class="text-sm opacity-80 min-h-10"><p>A silent cryptographic challenge runs in the background. Real users never see a thing â they just submit.</p></div> <div class="not-prose grow flex flex-col items-center justify-center min-h-40 bg-neutral-50 dark:bg-neutral-800 dot-background rounded-lg"><noscript><div class="text-sm italic">JavaScript required.</div></noscript> <div class="w-(--altcha-max-width)" style="--altcha-max-width:290px"><altcha-widget configuration="{"test":true}" type="switch"></altcha-widget></div></div><!----> <div class="pt-3 flex flex-wrap items-center justify-center gap-2"><!--[--><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Automatic verification<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->No cookies, no tracking<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Fully accessible<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Invisible mode supported<!----></span><!--]--></div></div> <div class="flex flex-col gap-1 bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-700 rounded-xl shadow-lg/5 p-3 xl:p-6"><div class="text-sm text-amber-700">Elevated risk â Cloud & Sentinel</div> <div class="text-xl font-semibold">Interactive bot check</div> <div class="text-sm opacity-80 min-h-10"><p>When traffic looks automated, a quick accessible check confirms a human.</p></div> <div class="not-prose grow flex flex-col items-center min-h-80 bg-neutral-50 dark:bg-neutral-800 dot-background rounded-lg pt-4"><noscript><div class="text-sm italic self-center">JavaScript required.</div></noscript> <div class="w-(--altcha-max-width)" style="--altcha-max-width:290px"><altcha-widget configuration="{"challenge":{"codeChallenge":{"image":"data:image/jpeg;base64,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","audio":"/audio/code-challenge-en.wav","length":5},"parameters":{"algorithm":"PBKDF2/SHA-256","cost":10,"keyLength":32,"keyPrefix":"5b07ac544b1480407b719358ea69b2d3","keySignature":"a1a142589471531c07fd35ec0651e2b02b698ab332d3b00cba49a7ab8738c56f","nonce":"ae1acf14f708a99373908e310deee3ab","salt":"6ec9171b7059aa2eb9805e6938f75c78"},"signature":"e423ca18c5f603aade8392f00031d9bb791ff4e6698503eda1d4590acd32b1ef"},"disableAutoFocus":true,"codeChallengeDisplay":"standard","popoverPlacement":"bottom"}" type="switch"></altcha-widget></div></div><!----> <div class="pt-3 flex flex-wrap items-center justify-center gap-2"><!--[--><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Accessible code challenge<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Audio in 50+ languages<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->No image puzzles<!----></span><span class="inline-flex gap-1 items-center rounded-full px-3 py-1 text-xs font-medium bg-neutral-100 text-neutral-700 dark:bg-neutral-800 dark:text-neutral-300"><!--[0--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check size-3.5 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!--]--> <!---->Escalates only when needed<!----></span><!--]--></div></div></div> <div class="flex flex-col gap-3"><div class="text-center text-xs opacity-80">* This is a demonstration of CAPTCHA showing only the user interface without full functionality.</div> <div class="text-center"><!---->Try the widget live at <a href="https://playground.altcha.org" class="underline font-medium text-primary">
58playground.altcha.org</a>.<!----></div></div></div><!----></div></section><!----> <section class="relative bg-linear-to-b from-neutral-400/10 to-transparen border-t border-neutral-400/20 pt-12"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-6"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">ALTCHA vs. reCAPTCHA</div> <h2 class="text-lg lg:text-2xl font-semibold">Protection without trade-offs.</h2></div> <div class="text-sm"><div class="relative overflow-x-auto bg-white dark:bg-neutral-900 border border-neutral-200 dark:border-neutral-700 rounded-lg"><table class="w-full text-left rtl:text-right text-body"><!--[0--><caption class="sr-only">Feature comparison between ALTCHA and reCAPTCHA</caption><!--]--><!--[0--><thead class="text-body bg-neutral-50 dark:bg-neutral-800 border-b rounded-lg border-neutral-200 dark:border-neutral-700"><tr><!--[--><th scope="col" class="font-semibold px-3 py-3 lg:px-6 lg:py-3"></th><th scope="col" class="font-semibold px-3 py-3 lg:px-6 lg:py-3 text-center">ALTCHA</th><th scope="col" class="font-semibold px-3 py-3 lg:px-6 lg:py-3 text-center">reCAPTCHA</th><!--]--></tr></thead><!--]--><tbody><!--[--><tr class="border-neutral-200 dark:border-neutral-700 border-b"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->No cookies or tracking scripts<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><tr class="border-neutral-200 dark:border-neutral-700 border-b"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->No data shared with third parties<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><tr class="border-neutral-200 dark:border-neutral-700 border-b"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->No visual puzzles to solve<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><tr class="border-neutral-200 dark:border-neutral-700 border-b"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->Self-hosting option<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><tr class="border-neutral-200 dark:border-neutral-700 border-b"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->Open-source core, auditable code<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><tr class="border-neutral-200 dark:border-neutral-700"><!--[--><td class="px-3 py-3 lg:px-6 lg:py-3 font-semibold text-nowrap"><!--[-1-->Data residency control<!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-primary/5 text-center"><!--[0--><!--[0--><span class="inline-flex items-center justify-center text-base font-bold text-green-700" aria-label="Yes">â</span><!--]--><!--]--></td><td class="px-3 py-3 lg:px-6 lg:py-3 bg-neutral-100/30 dark:bg-neutral-950/50 text-center"><!--[0--><!--[-1--><span class="inline-flex items-center justify-center text-base font-bold text-amber-700" aria-label="No">â</span><!--]--><!--]--></td><!--]--></tr><!--]--></tbody></table></div><!----></div></div><!----></div></section><!----> <section class="relative bg-linear-to-b from-transparent to-primary/5 border-b border-primary/10 pb-12"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-12"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary"><!---->Choose how you run it<!----></div> <h2 class="text-lg lg:text-2xl font-semibold"><!---->Free, self-hosted, or fully managed.<!----></h2> <div class="prose dark:prose-invert lg:text-lg opacity-80"><p><!---->Every option is privacy-first and GDPR compliant. Pick the one that fits your team â you can switch anytime.<!----></p></div></div> <div class="grid grid-cols-1 lg:grid-cols-3 gap-6"><!--[--><div class="flex flex-col gap-1 bg-white dark:bg-neutral-950 border border-neutral-200 dark:border-neutral-800 rounded-xl shadow-xl p-6 relative "><!--[-1--><!--]--> <!--[0--><div class="text-sm font-semibold uppercase text-primary">Open-Source</div><!--]--> <h3 class="text-lg font-semibold">ALTCHA Open-Source</h3> <div class="text-sm opacity-80"><p>The free, open-source CAPTCHA widget. A great starting point for small sites.</p></div> <div><!--[-1--><!--]--> <!--[-1--><span class="text-xl font-semibold">Free</span><!--]--> <!--[0--><span class="text-sm opacity-80">forever</span><!--]--></div> <!--[-1--><!--]--> <div class="grow flex flex-col gap-2 text-sm mt-3"><!--[-1--><!--]--> <!--[0--><ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>
58Proof-of-work CAPTCHA, no cookies</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>50+ languages, WCAG 2.2 AA</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>No sign-up required</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Upgrade to Cloud or Sentinel anytime</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>MIT licensed</span></li><!--]--></ul><!--]--></div> <!--[0--><div class="prose dark:prose-invert mt-2 text-sm text-center"><!----><a href="/open-source-captcha/">Learn more</a><!----></div><!--]--> <!--[0--><div class="mt-2"><a href="/docs/integration/quick-start/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center w-full btn-animated text-center border border-neutral-200 dark:border-neutral-800" data-variant="outline"><!---->View docs<!----></a><!----></div><!--]--> <!--[-1--><!--]--></div><div class="flex flex-col gap-1 bg-white dark:bg-neutral-950 border border-neutral-200 dark:border-neutral-800 rounded-xl shadow-xl p-6 relative shadow-primary/15 border-primary! border-2"><!--[0--><div class="absolute -top-4 left-[50%] translate-x-[-50%] whitespace-nowrap bg-primary text-white text-xs font-semibold rounded-full px-3 py-1 bg-primary">Easiest to start</div><!--]--> <!--[0--><div class="text-sm font-semibold uppercase text-primary">Managed SaaS</div><!--]--> <h3 class="text-lg font-semibold">ALTCHA Cloud</h3> <div class="text-sm opacity-80"><p>Sentinel, fully managed and hosted in the EU. No servers, no maintenance â live in minutes.</p></div> <div><!--[0--><span class="text-sm opacity-80">Starting at</span><!--]--> <!--[-1--><span class="text-xl font-semibold">⬠47</span><!--]--> <!--[0--><span class="text-sm opacity-80">/month</span><!--]--></div> <!--[0--><div><span class="text-green-700 text-sm font-medium">30-day free trial</span></div><!--]--> <div class="grow flex flex-col gap-2 text-sm mt-3"><!--[-1--><!--]--> <!--[0--><ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Advanced protection</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Frictionless & adaptive verification</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Real-time threat intelligence</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>GDPR & accessibility compliance</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>EU-only endpoints</span></li>
58<!--]--></ul><!--]--></div> <!--[0--><div class="prose dark:prose-invert mt-2 text-sm text-center"><!----><a href="/docs/cloud/">Learn more</a> • <a href="/pricing/#cloud">Explore pricing</a><!----></div><!--]--> <!--[0--><div class="mt-2"><a href="https://cloud.altcha.org" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center w-full btn-animated text-center bg-primary hover:bg-transparent hover:text-current hover:dark:bg-primary-dark text-white shadow-sm border border-primary" data-variant="primary"><!---->Start free trial<!----></a><!----></div><!--]--> <!--[-1--><!--]--></div><div class="flex flex-col gap-1 bg-white dark:bg-neutral-950 border border-neutral-200 dark:border-neutral-800 rounded-xl shadow-xl p-6 relative shadow-primary/15 border-green-700! border-2"><!--[0--><div class="absolute -top-4 left-[50%] translate-x-[-50%] whitespace-nowrap text-white text-xs font-semibold rounded-full px-3 py-1 bg-green-700">Complete data control</div><!--]--> <!--[0--><div class="text-sm font-semibold uppercase text-primary">Self-hosted</div><!--]--> <h3 class="text-lg font-semibold">ALTCHA Sentinel</h3> <div class="text-sm opacity-80"><p>For security-conscious teams that need everything on their own infrastructure.</p></div> <div><!--[0--><span class="text-sm opacity-80">Starting at</span><!--]--> <!--[-1--><span class="text-xl font-semibold">⬠99</span><!--]--> <!--[0--><span class="text-sm opacity-80">/month</span><!--]--></div> <!--[0--><div><span class="text-green-700 text-sm font-medium">30-day free trial</span></div><!--]--> <div class="grow flex flex-col gap-2 text-sm mt-3"><!--[-1--><!--]--> <!--[0--><ul class="flex flex-col gap-2"><!--[--><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Full Sentinel platform, on-premise</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Complete data sovereignty</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Runs air-gapped if required</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Docker deployment in minutes</span></li><li class="flex gap-3 items-center"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-check shrink-0 size-3 text-green-700"><!--[--><!----><path d="M20 6 9 17l-5-5"><!----></path><!----><!--]--><!----></svg><!----> <span>Support included</span></li><!--]--></ul><!--]--></div> <!--[0--><div class="prose dark:prose-invert mt-2 text-sm text-center"><!----><a href="/docs/sentinel/">Learn more</a> • <a href="/pricing/#sentinel">Explore pricing</a><!----></div><!--]--> <!--[0--><div class="mt-2"><a href="/docs/sentinel/install/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center w-full btn-animated text-center bg-primary hover:bg-transparent hover:text-current hover:
58dark:bg-primary-dark text-white shadow-sm border border-primary" data-variant="primary"><!---->Install to start free trial<!----></a><!----></div><!--]--> <!--[-1--><!--]--></div><!--]--></div> <div class="flex gap-6"><div class="size-14"><!----><svg width="56" height="56" viewBox="0 0 1333.3333 1333.3333" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="a"><path d="M0 1000h1000V0H0Z"/></clipPath><clipPath id="b"><path d="M0 1000h1000V0H0Z"/></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.33333 0 0 -1.33333 0 1333.333)"><path d="M0 0c-184.095 0-333.333-149.238-333.333-333.333 0-184.095 149.238-333.334 333.333-333.334 184.095 0 333.333 149.239 333.333 333.334S184.095 0 0 0m0-20c42.309 0 83.341-8.282 121.957-24.615A313.39 313.39 0 0 0 175.174-73.5a315.676 315.676 0 0 0 46.386-38.273 315.728 315.728 0 0 0 38.273-46.386 313.32 313.32 0 0 0 28.885-53.217c16.334-38.616 24.615-79.649 24.615-121.957 0-42.309-8.281-83.341-24.615-121.957a313.32 313.32 0 0 0-28.885-53.217 315.676 315.676 0 0 0-38.273-46.386 315.676 315.676 0 0 0-46.386-38.273 313.32 313.32 0 0 0-53.217-28.885C83.341-638.385 42.309-646.667 0-646.667c-42.308 0-83.341 8.282-121.957 24.616a313.32 313.32 0 0 0-53.217 28.885 315.728 315.728 0 0 0-46.386 38.273 315.676 315.676 0 0 0-38.273 46.386 313.39 313.39 0 0 0-28.885 53.217c-16.333 38.616-24.615 79.648-24.615 121.957 0 42.308 8.282 83.341 24.615 121.957a313.39 313.39 0 0 0 28.885 53.217 315.728 315.728 0 0 0 38.273 46.386A315.728 315.728 0 0 0-175.174-73.5a313.39 313.39 0 0 0 53.217 28.885C-83.341-28.282-42.308-20 0-20" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(500 833.333)"/><path d="M0 0c1.193-8.846 1.867-18.337 1.867-28.561 0-28.177-5.279-59.864-21.129-99.49l-84.839-245.297c82.583 48.146 138.12 137.615 138.12 240.091C34.019-84.963 21.677-39.561 0 0m-238.879-157.554-83.356-242.173a277.57 277.57 0 0 1 78.476-11.318c32.347 0 63.379 5.583 92.249 15.749-.743 1.188-1.428 2.45-1.993 3.828zm182.643 38.306c0 34.34-12.335 58.108-22.899 76.605-14.082 22.892-27.287 42.259-27.287 65.15 0 25.53 19.361 49.298 46.647 49.298 1.233 0 2.4-.148 3.597-.224-49.421 45.282-115.265 72.929-187.581 72.929-97.049 0-182.421-49.795-232.091-125.197 6.522-.207 12.667-.337 17.877-.337 29.048 0 74.035 3.531 74.035 3.531 14.966.877 16.735-21.122 1.776-22.891 0 0-15.053-1.763-31.789-2.639l101.15-300.884 60.797 182.31-43.275 118.574c-14.966.876-29.134 2.639-29.134 2.639-14.974.884-13.22 23.768 1.762 22.891 0 0 45.863-3.531 73.156-3.531 29.048 0 74.042 3.531 74.042 3.531 14.974.877 16.736-21.122 1.77-22.891 0 0-15.068-1.763-31.79-2.639l100.386-298.592 28.656 90.801c12.731 39.683 20.195 67.798 20.195 91.566m-465.301-14.009c0-109.945 63.89-204.968 156.56-249.989L-497.484-20.212c-15.413-34.543-24.053-72.773-24.053-113.045" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(743.76 633.268)"/></g></svg><!----></div> <div class="flex flex-col gap-1"><div class="text-lg font-semibold"><!---->ALTCHA for WordPress<!----></div> <div class="prose dark:prose-invert text-sm"><!---->No code required â self-contained protection built into your WordPress site.<!----></div> <div class="prose dark:prose-invert text-sm"><!---->Starting at ⬠18.90 / month with a free 14-day trial.<!----></div> <!--[0--><div class="prose dark:prose-invert text-sm"><!----><a href="/docs/wordpress/">Learn more</a> • <a href="/pricing/#wordpress">Explore pricing</a><!----></div><!--]--></div></div></div><!----></div></section><!----> <section class="relative "><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-6"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">Easy integration</div> <h2 class="text-lg lg:text-2xl font-semibold">Live in minutes, on any stack.</h2> <div class="lg:text-lg opacity-80 max-w-2xl text-center"><p>Drop the widget into your site, point it at your Cloud endpoint, and you're protected. Official libraries and plugins cover every major framework and platform.</p></div> <div class="flex items-center gap-2"><a href="/docs/integration/widget/" class="underline font-medium text-primary">Widget Integration</a> <span class="opacity-40">â¢</span> <a href="/docs/integration/server/" class="underline font-medium text-primary">Server Integration</a></div></div> <div class="flex flex-col gap-3"><div class="text-lg font-semibold">Examples</div> <div class="not-prose grid grid-cols-2 lg:grid-cols-6 gap-3"><!--[--><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-
58angular" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 223 235" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_223_2)"><mask id="mask0_223_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="223" height="236"><path d="M0 0H223V236H0V0Z" fill="white"></path></mask><g mask="url(#mask0_223_2)"><path d="M222.077 39.192L214.058 165.115L137.387 0L222.077 39.192ZM168.972 202.017L111.039 235.073L53.105 202.017L64.888 173.461H157.189L168.972 202.017ZM111.039 62.675L141.396 136.478H80.681L111.039 62.675ZM7.937 165.115L0 39.192L84.69 0L7.937 165.115Z" fill="url(#paint0_linear_223_2)"></path><path d="M222.077 39.192L214.058 165.115L137.387 0L222.077 39.192ZM168.972 202.017L111.039 235.073L53.105 202.017L64.888 173.461H157.189L168.972 202.017ZM111.039 62.675L141.396 136.478H80.681L111.039 62.675ZM7.937 165.115L0 39.192L84.69 0L7.937 165.115Z" fill="url(#paint1_linear_223_2)"></path></g></g><defs><linearGradient id="paint0_linear_223_2" x1="49.009" y1="213.75" x2="225.829" y2="129.722" gradientUnits="userSpaceOnUse"><stop stop-color="#E40035"></stop><stop offset="0.24" stop-color="#F60A48"></stop><stop offset="0.352" stop-color="#F20755"></stop><stop offset="0.494" stop-color="#DC087D"></stop><stop offset="0.745" stop-color="#9717E7"></stop><stop offset="1" stop-color="#6C00F5"></stop></linearGradient><linearGradient id="paint1_linear_223_2" x1="41.025" y1="28.344" x2="156.741" y2="160.344" gradientUnits="userSpaceOnUse"><stop stop-color="#FF31D9"></stop><stop offset="1" stop-color="#FF5BE1" stop-opacity="0"></stop></linearGradient><clipPath id="clip0_223_2"><rect width="223" height="235" fill="white"></rect></clipPath></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Angular</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-lit-ts" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-hidden="true" role="img" preserveAspectRatio="xMidYMid meet" viewBox="0 0 256 320"><path fill="#00E8FF" d="m64 192l25.926-44.727l38.233-19.114l63.974 63.974l10.833 61.754L192 320l-64-64l-38.074-25.615z"></path><path fill="#283198" d="M128 256V128l64-64v128l-64 64ZM0 256l64 64l9.202-60.602L64 192l-37.542 23.71L0 256Z"></path><path fill="#324FFF" d="M64 192V64l64-64v128l-64 64Zm128 128V192l64-64v128l-64 64ZM0 256V128l64 64l-64 64Z"></path><path fill="#0FF" d="M64 320V192l64 64z"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Lit</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-react-ts" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 -14 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"><g><path d="M210.483381,73.8236374 C207.827698,72.9095503 205.075867,72.0446761 202.24247,71.2267368 C202.708172,69.3261098 203.135596,67.4500894 203.515631,65.6059664 C209.753843,35.3248922 205.675082,10.9302478 191.747328,2.89849283 C178.392359,-4.80289661 156.551327,3.22703567 134.492936,22.4237776 C132.371761,24.2697233 130.244662,26.2241201 128.118477,28.2723861 C126.701777,26.917204 125.287358,25.6075897 123.876584,24.3549348 C100.758745,3.82852863 77.5866802,-4.82157937 63.6725966,3.23341515 C50.3303869,10.9571328 46.3792156,33.8904224 51.9945178,62.5880206 C52.5367729,65.3599011 53.1706189,68.1905639 53.8873982,71.068617 C50.6078941,71.9995641 47.4418534,72.9920277 44.4125156,74.0478303 C17.3093297,83.497195 0,98.3066828 0,113.667995 C0,129.533287 18.5815786,145.446423 46.8116526,155.095373 C49.0394553,155.856809 51.3511025,156.576778 53.7333796,157.260293 C52.9600965,160.37302 52.2875179,163.423318 51.7229345,166.398431 C46.3687351,194.597975 50.5500231,216.989464 63.8566899,224.664425 C77.6012619,232.590464 100.66852,224.443422 123.130185,204.809231 C124.905501,203.257196 126.687196,201.611293 128.472081,199.886102 C130.785552,202.113904 133.095375,204.222319 135.392897,206.199955 C157.14963,224.922338 178.637969,232.482469 191.932332,224.786092 C205.663234,216.837268 210.125675,192.78347 204.332202,163.5181 C203.88974,161.283006 203.374826,158.99961 202.796573,156.675661 C204.416503,156.196743 206.006814,155.702335 207.557482,155.188332 C236.905331,145.46465 256,129.745175 256,113.667995 C256,98.2510906 238.132466,83.3418093 210.483381,73.8236374 L210.483381,73.8236374 Z M204.118035,144.807565 C202.718197,145.270987 201.281904,145.718918 199.8
5818271,146.153177 C196.578411,135.896354 192.205739,124.989735 186.854729,113.72131 C191.961041,102.721277 196.164656,91.9540963 199.313837,81.7638014 C201.93261,82.5215915 204.474374,83.3208483 206.923636,84.1643056 C230.613348,92.3195488 245.063763,104.377206 245.063763,113.667995 C245.063763,123.564379 229.457753,136.411268 204.118035,144.807565 L204.118035,144.807565 Z M193.603754,165.642007 C196.165567,178.582766 196.531475,190.282717 194.834536,199.429057 C193.309843,207.64764 190.243595,213.12715 186.452366,215.321689 C178.384612,219.991462 161.131788,213.921395 142.525146,197.909832 C140.392124,196.074366 138.243609,194.114502 136.088259,192.040261 C143.301619,184.151133 150.510878,174.979732 157.54698,164.793993 C169.922699,163.695814 181.614905,161.900447 192.218042,159.449363 C192.740247,161.555956 193.204126,163.621993 193.603754,165.642007 L193.603754,165.642007 Z M87.2761866,214.514686 C79.3938934,217.298414 73.1160375,217.378157 69.3211631,215.189998 C61.2461189,210.532528 57.8891498,192.554265 62.4682434,168.438039 C62.9927272,165.676183 63.6170041,162.839142 64.3365173,159.939216 C74.8234575,162.258154 86.4299951,163.926841 98.8353334,164.932519 C105.918826,174.899534 113.336329,184.06091 120.811247,192.08264 C119.178102,193.65928 117.551336,195.16028 115.933685,196.574699 C106.001303,205.256705 96.0479605,211.41654 87.2761866,214.514686 L87.2761866,214.514686 Z M50.3486141,144.746959 C37.8658105,140.48046 27.5570398,134.935332 20.4908634,128.884403 C14.1414664,123.446815 10.9357817,118.048415 10.9357817,113.667995 C10.9357817,104.34622 24.8334611,92.4562517 48.0123604,84.3748281 C50.8247961,83.3942121 53.7689223,82.4701001 56.8242337,81.6020363 C60.0276398,92.0224477 64.229889,102.917218 69.3011135,113.93411 C64.1642716,125.11459 59.9023288,136.182975 56.6674809,146.725506 C54.489347,146.099407 52.3791089,145.440499 50.3486141,144.746959 L50.3486141,144.746959 Z M62.7270678,60.4878073 C57.9160346,35.9004118 61.1112387,17.3525532 69.1516515,12.6982729 C77.7160924,7.74005624 96.6544653,14.8094222 116.614922,32.5329619 C117.890816,33.6657739 119.171723,34.8514442 120.456275,36.0781256 C113.018267,44.0647686 105.66866,53.1573386 98.6480514,63.0655695 C86.6081646,64.1815215 75.0831931,65.9741531 64.4868907,68.3746571 C63.8206914,65.6948233 63.2305903,63.0619242 62.7270678,60.4878073 L62.7270678,60.4878073 Z M173.153901,87.7550367 C170.620796,83.3796304 168.020249,79.1076627 165.369124,74.9523483 C173.537126,75.9849113 181.362914,77.3555864 188.712066,79.0329319 C186.505679,86.1041206 183.755673,93.4974728 180.518546,101.076741 C178.196419,96.6680702 175.740322,92.2229454 173.153901,87.7550367 L173.153901,87.7550367 Z M128.122121,43.8938899 C133.166461,49.3588189 138.218091,55.4603279 143.186789,62.0803968 C138.179814,61.8439007 133.110868,61.720868 128.000001,61.720868 C122.937434,61.720868 117.905854,61.8411667 112.929865,62.0735617 C117.903575,55.515009 122.99895,49.4217021 128.122121,43.8938899 L128.122121,43.8938899 Z M82.8018984,87.830679 C80.2715265,92.2183886 77.8609975,96.6393627 75.5753239,101.068539 C72.3906004,93.5156998 69.6661103,86.0886276 67.440586,78.9171899 C74.7446255,77.2826781 82.5335049,75.9461789 90.6495601,74.9332099 C87.9610684,79.1268011 85.3391054,83.4302106 82.8018984,87.8297677 L82.8018984,87.830679 L82.8018984,87.830679 Z M90.8833221,153.182899 C82.4979621,152.247395 74.5919739,150.979704 67.289757,149.390303 C69.5508242,142.09082 72.3354636,134.505173 75.5876271,126.789657 C77.8792246,131.215644 80.2993228,135.638441 82.8451877,140.03572 L82.8456433,140.03572 C85.4388987,144.515476 88.1255676,148.90364 90.8833221,153.182899 L90.8833221,153.182899 Z M128.424691,184.213105 C123.24137,178.620587 118.071264,172.434323 113.021912,165.780078 C117.923624,165.972373 122.921029,166.0708 128.000001,166.0708 C133.217953,166.0708 138.376211,165.953235 143.45336,165.727219 C138.468257,172.501308 133.434855,178.697141 128.424691,184.213105 L128.424691,184.213105 Z M180.622896,126.396409 C184.044571,134.195313 186.929004,141.741317 189.219234,148.9164 C181.796719,150.609693 173.782736,151.973534 165.339049,152.986959 C167.996555,148.775595 170.619884,144.430263 173.197646,139.960532 C175.805484,135.438399 178.28163,130.90943 180.622896,126.396409 L180.622896,126.396409 Z M163.724586,134.496971 C159.722835,141.435557 155.614455,148.059271 151.443648,154.311611 C143.847063,154.854776 135.998946,155.134562 128.000001,155.134562 C120.033408,155.134562 112.284171,154.887129 104.822013,154.402745 C100.48306,148.068386 96.285368,141.425078 92.3091341,134.556664 L92.3100455,134.556664 C88.3442923,127.706935 84.6943232,120.799333 81.3870228,113.930466 C84.6934118,107.045648 88.3338117,100.130301 92.276781,93.292874 L92.2758697,93.294241 C96.2293193,86.4385872 100.390102,79.8276317 104.688954,73.5329157 C112.302398,72.9573964 120.109505,72.6571055 127.999545,72.6571055 L128.000001,72.6571055 C135.925583,72.6571055 143.742714,72.9596746 151.353879,73.5402067 C155.587114,79.7888993 159.719645,86.3784378 163.688588,93.2350031 C167.702644,100.168578 171.389978,107.037901 174.724618,113.77508 C171.400003,120.627999 167.720871,127.566587 163.724586,134.496971 L163.724586,134.496971 Z M186.284677,12.3729198 C194.857321,17.3165548 198.191049,37.2542268 192.804953,63.3986692 C192.461372,65.0669011 192.074504,66.7661189 191.654369,68.4881206 C181.03346,66.0374921 169.500286,64.2138746 157.425315,63.0810626 C150.391035,53.0639249 143.101
58577,43.9572289 135.784778,36.073113 C137.751934,34.1806885 139.716356,32.3762092 141.672575,30.673346 C160.572216,14.2257007 178.236518,7.73185406 186.284677,12.3729198 L186.284677,12.3729198 Z M128.000001,90.8080696 C140.624975,90.8080696 150.859926,101.042565 150.859926,113.667995 C150.859926,126.292969 140.624975,136.527922 128.000001,136.527922 C115.375026,136.527922 105.140075,126.292969 105.140075,113.667995 C105.140075,101.042565 115.375026,90.8080696 128.000001,90.8080696 L128.000001,90.8080696 Z" fill="#00D8FF"></path></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">React</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-solid-ts" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 166 156" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M163 35C163 35 110 -3.99999 69 5.00001L66 6.00001C60 8.00001 55 11 52 15L50 18L35 44L61 49C72 56 86 59 99 56L145 65L163 35Z" fill="#76B3E1"></path><path opacity="0.3" d="M163 35C163 35 110 -3.99999 69 5.00001L66 6.00001C60 8.00001 55 11 52 15L50 18L35 44L61 49C72 56 86 59 99 56L145 65L163 35Z" fill="url(#paint0_linear_222_2)"></path><path d="M51.9999 35L47.9999 36C30.9999 41 25.9999 57 34.9999 71C44.9999 84 65.9999 91 82.9999 86L145 65C145 65 91.9999 26 51.9999 35Z" fill="#518AC8"></path><path opacity="0.3" d="M51.9999 35L47.9999 36C30.9999 41 25.9999 57 34.9999 71C44.9999 84 65.9999 91 82.9999 86L145 65C145 65 91.9999 26 51.9999 35Z" fill="url(#paint1_linear_222_2)"></path><path d="M134 79.9999C128.401 73.0055 120.842 67.8414 112.291 65.1691C103.739 62.4968 94.5851 62.4379 86 64.9999L24 84.9999L4 120L116 139L136 103C140 95.9999 139 87.9999 134 79.9999Z" fill="url(#paint2_linear_222_2)"></path><path d="M114 115C108.401 108.005 100.842 102.841 92.2909 100.169C83.7395 97.4968 74.5851 97.4379 66 99.9999L4 120C4 120 57 160 98 150L101 149C118 144 124 128 114 115Z" fill="url(#paint3_linear_222_2)"></path><defs><linearGradient id="paint0_linear_222_2" x1="27.5" y1="3.00001" x2="152" y2="63.5" gradientUnits="userSpaceOnUse"><stop offset="0.1" stop-color="#76B3E1"></stop><stop offset="0.3" stop-color="#DCF2FD"></stop><stop offset="1" stop-color="#76B3E1"></stop></linearGradient><linearGradient id="paint1_linear_222_2" x1="95.7999" y1="32.6" x2="73.9999" y2="105.2" gradientUnits="userSpaceOnUse"><stop stop-color="#76B3E1"></stop><stop offset="0.5" stop-color="#4377BB"></stop><stop offset="1" stop-color="#1F3B77"></stop></linearGradient><linearGradient id="paint2_linear_222_2" x1="18.4" y1="64.1999" x2="144.3" y2="149.8" gradientUnits="userSpaceOnUse"><stop stop-color="#315AA9"></stop><stop offset="0.5" stop-color="#518AC8"></stop><stop offset="1" stop-color="#315AA9"></stop></linearGradient><linearGradient id="paint3_linear_222_2" x1="75.2" y1="74.5" x2="24.4" y2="260.8" gradientUnits="userSpaceOnUse"><stop stop-color="#4377BB"></stop><stop offset="0.5" stop-color="#1A336B"></stop><stop offset="1" stop-color="#1A336B"></stop></linearGradient></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Solid</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-svelte-ts" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="-26 0 308 308" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"><g><path d="M239.681566,40.706757 C211.113272,-0.181889366 154.69089,-12.301439 113.894816,13.6910393 L42.2469062,59.3555354 C22.6760042,71.6680028 9.1958152,91.6538543 5.11196889,114.412133 C1.69420521,133.371174 4.6982178,152.928576 13.6483951,169.987905 C7.51549676,179.291145 3.33259428,189.7413 1.3524912,200.706787 C-2.77083771,223.902098 2.62286977,247.780539 16.3159596,266.951444 C44.8902975,307.843936 101.312954,319.958266 142.10271,293.967161 L213.75062,248.302665 C233.322905,235.991626 246.803553,216.005094 250.885557,193.246067 C254.302867,174.287249 251.30121,154.730228 242.355449,137.668922 C248.486748,128.365895 252.667894,117.916162 254.646134,106.951413 C258.772188,83.7560394 253.378243,59.8765465 239.682665,40.706757" fill="#FF3E00"></path><path d="M106.888658,270.841265 C83.7871855,276.848065 59.3915045,267.805346 45.7864111,248.192566 C37.5477583,236.66102 34.3023491,222.296573 36.7830958,208.343155 C37.1989333,206.075414 37.7711933,203.839165 38.4957755,201.650433 L39.845476,197.534835 L43.5173097,200.231763 C51.9971301,206.462491 61.4784803,211.199728 71.5527203,214.239302 L74.2164003,215.047419 L73.9710252,217.705878 C73.6455499,221.487851 74.6696022,225.262925 76.8616703,228.361972 C80.9560313,234.269749 88.3011363,236.995968 95.2584831,235.190159 C96.8160691,234.773852 98.3006859,234.121384 99.6606718,233.25546 L171.331634,187.582718 C174.877468,185.349963 177.321139,181.729229 178.065299,177.605596 C178.808171,173.400048 177.830501,169.072361 175.351884,165.594581 C171.255076,159.685578 163.908134,156.9582 156.947927,158.762547 C155.392392,159.178888 153.90975,159.83088 152.551509,160.695872 L125.202489,178.130144 C120.705281,180.989558 115.797437,183.144784 110.64897,184.521162 C87.547692,190.527609 63.1523949,181.484801 49.5475471,161.872188 C41.3085624,150.340895 38.0631179,135.976391 40.5442317,122.023052 C43.0002744,108.333716 51.1099574,96.3125326 62.8835328,88.9089537 L134.548175,43.2323647 C139.047294,40.3682559 143.958644,38.21032 149.111311,36.8336525 C172.21244,30.8273594 196.607527,39.8700206 210.212459,59.4823515 C218.451112,71.013898 221.696522,85.3783452 219.215775,99.3317627 C218.798144,101.59911 218.225915,103.835236 217.503095,106.024485 L216.153395,110.140083 L212.483484,107.447276 C204.004261,101.212984 194.522,96.4735732 184.44615,93.4336926 L181.78247,92.6253012 L182.027845,89.9668419 C182.350522,86.1852063 181.326723,82.4111645 179.1372,79.3110228 C175.042839,73.4032457 167.697734,70.677026 160.740387,72.4828355 C159.182801,72.8991426 157.698185,73.5516104 156.338199,74.4175344 L84.6672364,120.0922 C81.1218886,122.323199 78.6795938,125.943704 77.9387928,130.066574 C77.1913232,134.271925 78.1673502,138.601163 80.6469865,142.078963 C84.7438467,147.987899 92.0907405,150.71526 99.0509435,148.910997 C100.608143,148.493836 102.092543,147.841423 103.452857,146.976298 L130.798305,129.54862
581 C135.293566,126.685437 140.201191,124.528302 145.350175,123.152382 C168.451453,117.145935 192.846751,126.188743 206.451598,145.801356 C214.690583,157.332649 217.936027,171.697153 215.454914,185.650492 C212.997261,199.340539 204.888162,211.362752 193.115613,218.769811 L121.450695,264.442553 C116.951576,267.306662 112.040226,269.464598 106.887559,270.841265" fill="#FFFFFF"></path></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Svelte</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://stackblitz.com/~/github.com/altcha-org/altcha-starter-vue-ts" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M24.4,3.925H30L16,28.075,2,3.925H12.71L16,9.525l3.22-5.6Z" style="fill:#41b883"></path><path d="M2,3.925l14,24.15L30,3.925H24.4L16,18.415,7.53,3.925Z" style="fill:#41b883"></path><path d="M7.53,3.925,16,18.485l8.4-14.56H19.22L16,9.525l-3.29-5.6Z" style="fill:#35495e"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Vue</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><!--]--></div><!----> <div class="text-lg font-semibold">Libraries</div> <div class="not-prose grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3"><!--[--><a href="https://github.com/altcha-org/altcha-lib-cpp" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 306 344.35" enable-background="new 0 0 306 344.35" xml:space="preserve"><path fill="#00599C" d="M302.107,258.262c2.401-4.159,3.893-8.845,3.893-13.053V99.14c0-4.208-1.49-8.893-3.892-13.052L153,172.175 L302.107,258.262z"></path><path fill="#004482" d="M166.25,341.193l126.5-73.034c3.644-2.104,6.956-5.737,9.357-9.897L153,172.175L3.893,258.263 c2.401,4.159,5.714,7.793,9.357,9.896l126.5,73.034C147.037,345.401,158.963,345.401,166.25,341.193z"></path><path fill="#659AD2" d="M302.108,86.087c-2.402-4.16-5.715-7.793-9.358-9.897L166.25,3.156c-7.287-4.208-19.213-4.208-26.5,0 L13.25,76.19C5.962,80.397,0,90.725,0,99.14v146.069c0,4.208,1.491,8.894,3.893,13.053L153,172.175L302.108,86.087z"></path><g><path fill="#FFFFFF" d="M153,274.175c-56.243,0-102-45.757-102-102s45.757-102,102-102c36.292,0,70.139,19.53,88.331,50.968 l-44.143,25.544c-9.105-15.736-26.038-25.512-44.188-25.512c-28.122,0-51,22.878-51,51c0,28.121,22.878,51,51,51 c18.152,0,35.085-9.776,44.191-25.515l44.143,25.543C223.142,254.644,189.294,274.175,153,274.175z"></path></g><g>
58<polygon fill="#FFFFFF" points="255,166.508 243.666,166.508 243.666,155.175 232.334,155.175 232.334,166.508 221,166.508 221,177.841 232.334,177.841 232.334,189.175 243.666,189.175 243.666,177.841 255,177.841 "></polygon></g><g><polygon fill="#FFFFFF" points="297.5,166.508 286.166,166.508 286.166,155.175 274.834,155.175 274.834,166.508 263.5,166.508 263.5,177.841 274.834,177.841 274.834,189.175 286.166,189.175 286.166,177.841 297.5,177.841 "></polygon></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">C++</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-dart" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 502.87 502.87"><defs><style> 59 .cls-1 { 60 fill: #01579b; 61 } 62 .cls-2 { 63 fill: #40c4ff; 64 } 65 .cls-3 { 66 fill: #29b6f6; 67 } 68 .cls-4 { 69 fill: #fff; 70 } 71 .cls-4, 72 .cls-5, 73 .cls-6 { 74 opacity: 0.2; 75 isolation: isolate; 76 } 77 .cls-5 { 78 fill: #263238; 79 } 80 .cls-6 { 81 fill: url(#radial-gradient); 82 } 83 </style><radialGradient id="radial-gradient" cx="251.42" cy="631.97" r="251.4" gradientTransform="translate(0 -380.56)" gradientUnits="userSpaceOnUse"><stop offset="0" stop-color="#fff" stop-opacity="0.1"></stop><stop offset="1" stop-color="#fff" stop-opacity="0"></stop></radialGradient></defs><title>dart-programming-language</title><path class="cls-1" d="M102.56,400.31l-86-86C6.32,303.82,0,289,0,274.58c0-6.69,3.77-17.16,6.62-23.15L86,86Z"></path><path class="cls-2" d="M397,102.56l-86-86C303.49,9,287.85,0,274.61,0c-11.38,0-22.55,2.29-29.76,6.62L86.07,86Z"></path><polygon class="cls-2" points="205.11 502.87 413.55 502.87 413.55 413.55 258.05 363.9 115.79 413.55 205.11 502.87"></polygon><path class="cls-3" d="M86,354c0,26.54,3.33,33.05,16.53,46.32l13.23,13.24H413.55L268,248.14,86,86Z"></path><path class="cls-1" d="M350.7,86H86L413.55,413.51h89.32V208.4L397,102.52C382.12,87.62,368.92,86,350.7,86Z"></path><path class="cls-4" d="M105.88,403.6C92.65,390.33,89.36,377.24,89.36,354V89.32L86.07,86V354c0,23.25,0,29.69,19.81,49.61l9.91,9.91h0Z"></path><polygon class="cls-5" points="499.58 205.11 499.58 410.22 410.26 410.22 413.55 413.55 502.87 413.55 502.87 208.4 499.58 205.11"></polygon><path class="cls-4" d="M397,102.56C380.61,86.14,367.19,86,347.41,86H86.07l3.29,3.29H347.41c9.87,0,34.79-1.66,49.61,13.24Z"></path><path class="cls-6" d="M499.58,205.11,397,102.56l-86-86C303.49,9,287.85,0,274.61,0c-11.38,0-22.55,2.29-29.76,6.62L86.07,86,6.65,251.43C3.81,257.46,0,267.92,0,274.58c0,14.45,6.36,29.2,16.52,39.7L95.83,393a92.42,92.42,0,0,0,6.73,7.32l3.29,3.29,9.9,9.91,86,86,3.29,3.29h208.4V413.51h89.32V208.4Z"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Dart</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-dotnet" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 64 64" id="Layer_1" xmlns="http://www.w3.org/2000/svg"><defs></defs><circle cx="32" cy="32" r="32" style="fill:#5c2d91"></circle><path d="M9.82 9A32 32 0 1 0 55 54.18Z" style="opacity:.1;fill:#fff"></path><path d="M7.4 41.25a1.35 1.35 0 0 1-1-.42 1.38 1.38 0 0 1-.41-1 1.4 1.4 0 0 1 .41-1 1.34 1.34 0 0 1 1-.43 1.37 1.37 0 0 1 1 .43 1.39 1.39 0 0 1 .42 1 1.37 1.37 0 0 1-.42 1 1.38 1.38 0 0 1-1 .42ZM27.27 41h-2.62l-9.37-14.54a6.06 6.06 0 0 1-.58-1.14h-.08a18.71 18.71 0 0 1 .1 2.5V41h-2.13V22.77h2.77l9.12 14.28q.57.89.74 1.22h.05a19.29 19.29 0 0 1-.13-2.68V22.77h2.13ZM41.69 41H32V22.77h9.24v1.93h-7.06v6.06h6.58v1.92h-6.58V39h7.52ZM56 24.7h-5.3V41h-2.13V24.7h-5.24v-1.93H56Z" style="fill:#fff"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Dotnet</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-ex" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 128 128" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M64.4001 0.5C36.7001 13.9 1.90012 83.4 30.9001 113.9C57.7001 147.4 116.3 115.2 99.3001 73.4C77.8001 37.4 64.3001 35.5 64.4001 0.5Z" fill="url(#paint0_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M64.4002 0.200012C36.8002 13.6 1.90023 82.9 31.0002 113.5C41.7002 125.9 59.0002 130 68.7002 122.6C95.1002 103.8 76.1002 69.5 79.1002 44.1C68.1002 33.9 64.2002 11.3 64.4002 0.200012Z" fill="url(#paint1_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M56.7001 4.29999C34.4001 20.2 28.5001 79.3 32.6001 98.5C40.8001 146.6 107.8 126.8 102.2 82C96.2001 52.8 53.4001 42.8 56.7001 4.29999Z" fill="url(#paint2_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M78.7998 49.8C89.1998 63.2 91.4998 72.4 85.5998 77.7C57.8998 97.1 24.2998 85.
831 31.5998 40.4C22.0998 63 4.49982 96.8 43.2998 101.6C64.0998 105.2 97.2998 103.6 102.2 85.5C102 69.6 91.3998 62.6 78.7998 49.8Z" fill="url(#paint3_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M38.0999 36.4C35.1999 57.6 73.1999 114.3 96.3999 107.4C78.6999 143 39.4999 86.2 32.3999 65.7C33.8999 54.7 34.5999 49.3 38.0999 36.4Z" fill="url(#paint4_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M60.4 49.7C61.2 57.6 64.3 70.2 60.4 78.5C56.5 86.8 38.7 102 43.6 115.3C55 140.1 80.7 110.9 80.5 96.3C81.6 84.5 73.9 57.6 78.7 43.8L76.5 41L62.9 37C60.7 40.2 59.9 44.5 60.4 49.7Z" fill="url(#paint5_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M65.2999 10.8C35.9999 27.4 47.9999 53.4 49.2999 81.6L68.3999 26.2C66.9999 20.5 66.0999 16.7 65.2999 10.8Z" fill="url(#paint6_linear_232_144)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M68.3002 26.1C53.5002 37.8 54.2002 57.4 49.7002 80.1C57.8002 58.8 53.8002 41.9 68.3002 26.1Z" fill="#330A4C" fill-opacity="0.316"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M45.7998 119.7C53.7998 120.8 57.8998 121.9 58.2998 122.7C58.5998 126.9 47.1998 123.9 45.7998 119.7Z" fill="white"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M49.8002 10.8C42.9002 18.5 35.4002 32.6 31.6002 40.5C30.6002 47 31.1002 56.2 32.2002 64C33.1002 45.8 39.7002 24.8 49.8002 10.8Z" fill="#EDEDED" fill-opacity="0.603"></path><defs><linearGradient id="paint0_linear_232_144" x1="62.3464" y1="9.8888" x2="57.9149" y2="127.784" gradientUnits="userSpaceOnUse"><stop stop-color="#D9D8DC"></stop><stop offset="1" stop-color="white" stop-opacity="0.385"></stop></linearGradient><linearGradient id="paint1_linear_232_144" x1="60.5644" y1="8.01034" x2="14.2661" y2="109.482" gradientUnits="userSpaceOnUse"><stop stop-color="#8D67AF" stop-opacity="0.672"></stop><stop offset="1" stop-color="#9F8DAF"></stop></linearGradient><linearGradient id="paint2_linear_232_144" x1="66.9611" y1="42.6945" x2="66.9611" y2="124.193" gradientUnits="userSpaceOnUse"><stop stop-color="#26053D" stop-opacity="0.762"></stop><stop offset="1" stop-color="#B7B4B4" stop-opacity="0.278"></stop></linearGradient><linearGradient id="paint3_linear_232_144" x1="36.7065" y1="45.0001" x2="57.5785" y2="100.286" gradientUnits="userSpaceOnUse"><stop stop-color="#91739F" stop-opacity="0.46"></stop><stop offset="1" stop-color="#32054F" stop-opacity="0.54"></stop></linearGradient><linearGradient id="paint4_linear_232_144" x1="83.5094" y1="116.062" x2="26.3024" y2="68.6804" gradientUnits="userSpaceOnUse"><stop stop-color="#463D49" stop-opacity="0.331"></stop><stop offset="1" stop-color="#340A50" stop-opacity="0.821"></stop></linearGradient><linearGradient id="paint5_linear_232_144" x1="69.2485" y1="41.8547" x2="29.0339" y2="103.044" gradientUnits="userSpaceOnUse"><stop stop-color="#715383" stop-opacity="0.145"></stop><stop offset="1" stop-color="#F4F4F4" stop-opacity="0.234"></stop></linearGradient><linearGradient id="paint6_linear_232_144" x1="75.7273" y1="56.889" x2="47.7719" y2="55.1826" gradientUnits="userSpaceOnUse"><stop stop-color="#A5A1A8" stop-opacity="0.356"></stop><stop offset="1" stop-color="#370C50" stop-opacity="0.582"></stop></linearGradient></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Elixir</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-go" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 206 77" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_230_94)"><path d="M15.5001 23.2C15.1001 23.2 15.0001 23 15.2001 22.7L17.3001 20C17.5001 19.7 18.0001 19.5 18.4001 19.5H54.1001C54.5001 19.5 54.6001 19.8 54.4001 20.1L52.7001 22.7C52.5001 23 52.0001 23.3 51.7001 23.3L15.5001 23.2Z" fill="#00ACD7"></path><path d="M0.4 32.4001C0 32.4001 -0.1 32.2001 0.1 31.9001L2.2 29.2001C2.4 28.9001 2.9 28.7001 3.3 28.7001H48.9C49.3 28.7001 49.5 29.0001 49.4 29.3001L48.6 31.7001C48.5 32.1001 48.1 32.3001 47.7 32.3001L0.4 32.4001Z" fill="#00ACD7"></path><path d="M24.6002 41.6C24.2002 41.6 24.1002 41.3 24.3002 41L25.7002 38.5C25.9002 38.2 26.3002 37.9 26.7002 37.9H46.7002C47.1002 37.9 47.3002 38.2 47.3002 38.6L47.1002 41C47.1002 41.4 46.7002 41.7 46.4002 41.7L24.6002 41.6Z" fill="#00ACD7"></path><path d="M128.4 21.4C122.1 23 117.8 24.2 111.6 25.8C110.1 26.2 110 26.3 108.7 24.8C107.2 23.1 106.1 22 104 21C97.7002 17.9 91.6002 18.8 85.9
83002 22.5C79.1002 26.9 75.6002 33.4 75.7002 41.5C75.8002 49.5 81.3002 56.1 89.2002 57.2C96.0002 58.1 101.7 55.7 106.2 50.6C107.1 49.5 107.9 48.3 108.9 46.9C105.3 46.9 100.8 46.9 89.6002 46.9C87.5002 46.9 87.0002 45.6 87.7002 43.9C89.0002 40.8 91.4002 35.6 92.8002 33C93.1002 32.4 93.8002 31.4 95.3002 31.4C100.4 31.4 119.2 31.4 131.7 31.4C131.5 34.1 131.5 36.8 131.1 39.5C130 46.7 127.3 53.3 122.9 59.1C115.7 68.6 106.3 74.5 94.4002 76.1C84.6002 77.4 75.5002 75.5 67.5002 69.5C60.1002 63.9 55.9002 56.5 54.8002 47.3C53.5002 36.4 56.7002 26.6 63.3002 18C70.4002 8.70002 79.8002 2.80002 91.3002 0.700025C100.7 -0.999975 109.7 0.100025 117.8 5.60002C123.1 9.10002 126.9 13.9 129.4 19.7C130 20.6 129.6 21.1 128.4 21.4Z" fill="#00ACD7"></path><path d="M161.5 76.7001C152.4 76.5001 144.1 73.9001 137.1 67.9001C131.2 62.8001 127.5 56.3001 126.3 48.6001C124.5 37.3001 127.6 27.3001 134.4 18.4001C141.7 8.80007 150.5 3.80007 162.4 1.70007C172.6 -0.0999331 182.2 0.900067 190.9 6.80007C198.8 12.2001 203.7 19.5001 205 29.1001C206.7 42.6001 202.8 53.6001 193.5 63.0001C186.9 69.7001 178.8 73.9001 169.5 75.8001C166.8 76.3001 164.1 76.4001 161.5 76.7001ZM185.3 36.3001C185.2 35.0001 185.2 34.0001 185 33.0001C183.2 23.1001 174.1 17.5001 164.6 19.7001C155.3 21.8001 149.3 27.7001 147.1 37.1001C145.3 44.9001 149.1 52.8001 156.3 56.0001C161.8 58.4001 167.3 58.1001 172.6 55.4001C180.5 51.3001 184.8 44.9001 185.3 36.3001Z" fill="#00ACD7"></path></g><defs><clipPath id="clip0_230_94"><rect width="205.4" height="76.7" fill="white"></rect></clipPath></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Go</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-java" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_232_133)"><path d="M396.039 148.233C359.073 174.232 317.178 203.699 294.729 252.451C255.738 337.506 374.514 430.283 379.591 434.191C380.77 435.099 382.183 435.552 383.591 435.552C385.086 435.552 386.583 435.041 387.798 434.022C390.156 432.05 390.825 428.7 389.409 425.972C388.98 425.144 346.345 342.331 347.929 282.921C348.49 262.229 377.448 238.756 408.105 213.904C436.183 191.141 468.011 165.343 486.633 135.163C527.515 68.7315 482.077 3.4094 481.613 2.75627C479.808 0.221885 476.477 -0.695306 473.628 0.553137C470.783 1.80939 469.206 4.88597 469.856 7.92817C469.949 8.36098 478.785 51.558 454.197 96.0629C444.069 114.454 421.813 130.107 396.039 148.233Z" fill="#DB380E"></path><path d="M551.779 177.527C554.386 175.563 555.152 171.98 553.575 169.121C551.996 166.262 548.558 165.001 545.505 166.16C539.225 168.548 391.729 225.402 391.729 294.098C391.729 341.453 411.958 366.469 426.728 384.737C432.522 391.903 437.523 398.091 439.172 403.373C443.813 418.597 432.819 446.113 428.195 455.431C426.862 458.11 427.516 461.356 429.783 463.313C431.008 464.371 432.537 464.908 434.069 464.908C435.372 464.908 436.681 464.521 437.813 463.733C440.348 461.971 499.792 419.942 489.131 369.306C485.16 350.059 475.702 335.997 467.356 323.587C454.428 304.361 445.091 290.473 459.256 264.823C475.853 234.904 551.
83018 178.096 551.779 177.527Z" fill="#DB380E"></path><path d="M167.842 465.996C165.313 473.566 166.507 481.075 171.29 487.719C187.279 509.918 243.915 522.14 330.772 522.14C330.777 522.14 330.78 522.14 330.783 522.14C342.552 522.14 354.977 521.908 367.703 521.452C506.571 516.482 558.077 473.219 560.202 471.38C562.518 469.375 563.137 466.038 561.698 463.338C560.257 460.639 557.152 459.283 554.185 460.1C505.277 473.454 413.953 478.194 350.609 478.194C279.729 478.194 243.632 473.088 234.795 469.318C239.329 463.091 267.298 451.972 301.956 445.155C305.269 444.505 307.545 441.446 307.217 438.086C306.889 434.727 304.067 432.164 300.69 432.164C280.375 432.164 178.492 433.796 167.842 465.996Z" fill="#73A1FB"></path><path d="M632.521 421.436C603.879 421.436 576.718 435.792 575.574 436.4C572.926 437.819 571.582 440.856 572.309 443.775C573.038 446.689 575.659 448.738 578.663 448.741C579.271 448.741 639.76 449.236 645.239 483.797C650.092 513.613 588.005 561.923 563.673 578.023C561.044 579.762 560.024 583.121 561.244 586.027C562.284 588.501 564.691 590.048 567.288 590.048C567.741 590.048 568.201 590.001 568.657 589.904C574.432 588.668 709.917 558.812 695.592 479.928C686.853 431.585 656.468 421.436 632.521 421.436Z" fill="#73A1FB"></path><path d="M539.607 568.369C540.079 565.843 539.027 563.273 536.924 561.796L504.438 539.041C502.854 537.932 500.852 537.583 498.993 538.076C498.654 538.162 464.682 547.093 415.36 552.569C395.784 554.765 373.859 555.924 351.95 555.924C302.64 555.924 270.4 550.13 265.704 545.88C265.082 544.687 265.279 544.144 265.39 543.843C266.243 541.471 270.815 538.652 273.762 537.537C277.017 536.332 278.772 532.797 277.759 529.479C276.75 526.155 273.326 524.201 269.948 525.011C237.36 532.876 221.426 543.873 222.585 557.696C224.645 582.205 281.414 594.785 329.406 598.11C336.308 598.582 343.772 598.821 351.586 598.821C351.591 598.821 351.594 598.821 351.598 598.821C431.402 598.821 533.708 573.782 534.73 573.527C537.229 572.918 539.133 570.901 539.607 568.369Z" fill="#73A1FB"></path><path d="M294.692 620.97C297.153 619.37 298.243 616.327 297.37 613.526C296.499 610.724 293.879 608.884 290.935 608.923C286.568 609.038 248.202 610.77 245.516 635.196C244.704 642.496 246.795 649.167 251.734 655.018C265.509 671.343 302.693 681.046 365.392 684.681C372.809 685.126 380.343 685.35 387.789 685.35C467.5 685.35 521.185 660.392 523.433 659.329C525.613 658.298 527.05 656.156 527.178 653.749C527.307 651.343 526.105 649.06 524.049 647.803L482.994 622.74C481.569 621.871 479.864 621.584 478.239 621.916C477.98 621.971 451.912 627.377 412.573 632.718C405.129 633.731 395.808 634.245 384.87 634.245C345.573 634.245 301.863 627.824 293.481 623.62C293.359 622.835 293.513 621.838 294.692 620.97Z" fill="#73A1FB"></path><path d="M350.639 760.706C533.224 760.551 631.22 728.081 650.098 707.648C656.781 700.42 657.503 693.576 656.935 689.106C655.532 678.106 645.512 671.371 644.376 670.64C641.635 668.878 637.957 669.339 635.82 671.804C633.687 674.27 633.637 677.873 635.778 680.337C636.929 681.818 637.595 684.298 634.228 687.668C626.681 694.717 550.563 716.112 423.827 722.54C406.466 723.442 388.256 723.901 369.708 723.904C256.234 723.904 173.188 708.361 162.287 699.304C166.488 693.267 195.863 683.621 227.103 678.165C230.623 677.551 233.001 674.234 232.456 670.703C231.91 667.173 228.656 664.743 225.098 665.204C224.217 665.324 221.226 665.503 217.763 665.715C166.219 668.862 106.655 675.876 103.547 702.434C102.604 710.526 105.008 717.873 110.697 724.267C124.618 739.908 164.629 760.703 350.633 760.703C350.636 760.706 350.636 760.706 350.639 760.706Z" fill="#73A1FB"></path><path d="M685.961 713.406C683.379 712.212 680.329 712.815 678.404 714.893C678.137 715.183 650.686 743.887 568.148 760.744C536.549 767.075 477.236 770.286 391.856 770.286C306.317 770.286 224.921 766.92 224.11 766.886C220.71 766.72 217.803 769.192 217.34 772.539C216.876 775.883 219.032 779.036 222.315 779.817C223.162 780.017 308.464 800.002 425.096 800.002C481.035 800.002 535.469 795.459 586.89 786.494C682.767 769.686 689.479 722.145 689.718 720.129C690.053 717.312 688.537 714.6 685.961 713.406Z" fill="#73A1FB"></path></g><defs><clipPath id="clip0_232_133"><rect width="800" height="800" fill="white"></rect></clipPath></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Java</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" fill="none" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><rect fill="#3178c6" height="512" rx="50" width="512"></rect><rect fill="#3178c6" height="512" rx="50" width="512"></rect><path clip-rule="evenodd" d="M316.939 407.424v50.061c8.138 4.172 17.763 7.3 28.875 9.386S368.637 470 380.949 470c11.999 0 23.397-1.147 34.196-3.442 10.799-2.294 20.268-6.
83075 28.406-11.342 8.138-5.266 14.581-12.15 19.328-20.65S470 415.559 470 403.044c0-9.074-1.356-17.026-4.069-23.857s-6.625-12.906-11.738-18.225c-5.112-5.319-11.242-10.091-18.389-14.315s-15.207-8.213-24.18-11.967c-6.573-2.712-12.468-5.345-17.685-7.9-5.217-2.556-9.651-5.163-13.303-7.822-3.652-2.66-6.469-5.476-8.451-8.448-1.982-2.973-2.974-6.336-2.974-10.091 0-3.441.887-6.544 2.661-9.308s4.278-5.136 7.512-7.118c3.235-1.981 7.199-3.52 11.894-4.615 4.696-1.095 9.912-1.642 15.651-1.642 4.173 0 8.581.313 13.224.938 4.643.626 9.312 1.591 14.008 2.894a97.514 97.514 0 0 1 13.694 4.928c4.434 1.982 8.529 4.276 12.285 6.884v-46.776c-7.616-2.92-15.937-5.084-24.962-6.492S415.797 238 404.112 238c-11.895 0-23.163 1.278-33.805 3.833s-20.006 6.544-28.093 11.967c-8.086 5.424-14.476 12.333-19.171 20.729-4.695 8.395-7.043 18.433-7.043 30.114 0 14.914 4.304 27.638 12.912 38.172 8.607 10.533 21.675 19.45 39.204 26.751 6.886 2.816 13.303 5.579 19.25 8.291s11.086 5.528 15.415 8.448c4.33 2.92 7.747 6.101 10.252 9.543 2.504 3.441 3.756 7.352 3.756 11.733 0 3.233-.783 6.231-2.348 8.995s-3.939 5.162-7.121 7.196-7.147 3.624-11.894 4.771c-4.748 1.148-10.303 1.721-16.668 1.721-10.851 0-21.597-1.903-32.24-5.71-10.642-3.806-20.502-9.516-29.579-17.13zM232.78 284.082H297V243H118v41.082h63.906V467h50.874z" fill="#fff" fill-rule="evenodd"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">JS/TS</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-php" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M400 750C593.3 750 750 593.3 750 400C750 206.7 593.3 50 400 50C206.7 50 50 206.7 50 400C50 593.3 206.7 750 400 750Z" fill="#8892BF"></path><path d="M360.98 250H402.98L391.11 313.105H428.85C449.547 313.548 464.965 318.172 475.112 326.982C485.46 335.79 488.505 352.535 484.245 377.203L463.852 487.222H421.242L440.72 382.157C442.747 371.142 442.14 363.325 438.895 358.7C435.65 354.075 428.65 351.763 417.895 351.763L384.11 351.432L359.152 487.222H317.152L360.98 250Z" fill="white"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M168.523 313.107H250.09C274.03 313.325 291.38 320.817 302.135 335.572C312.89 350.33 316.44 370.482 312.788 396.035C311.37 407.712 308.222 419.163 303.352 430.398C298.685 441.63 292.195 451.76 283.875 460.792C273.727 472.245 262.873 479.513 251.308 482.6C239.742 485.685 227.769 487.225 215.394 487.225H178.871L167.306 550H125L168.523 313.107ZM185.871 449.89L204.072 351.102H210.22C212.454 351.102 214.785 350.99 217.22 350.772C233.454 350.552 246.943 352.205 257.7 355.727C268.655 359.25 272.307 372.578 268.655 395.705C264.195 423.24 255.465 439.317 242.481 443.942C229.497 448.35 213.263 450.44 193.784 450.22H189.523C188.306 450.22 187.089 450.107 185.871 449.89Z" fill="white"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M610.912 313.107H529.345L485.822 550H528.127L539.695 487.225H576.217C588.592 487.225 600.565 485.685 612.13 482.6C623.697 479.513 634.55 472.245 644.697 460.792C653.017 451.76 659.507 441.63 664.175 430.398C669.045 419.163 672.192 407.712 673.61 396.035C677.262 370.482 673.715 350.33 662.957 335.572C652.202 320.817 634.855 313.325 610.912 313.107ZM564.895 351.102L546.695 449.89C547.912 450.107 549.13 450.22 550.347 450.22H554.607C574.087 450.44 590.32 448.35 603.305 443.942C616.287 439.317 625.017 423.24 629.48 395.705C633.132 372.578 629.48 359.25 618.522 355.727C607.767 352.205 594.277 350.552 578.042 350.772C575.607 350.99 573.277 351.102 571.042 351.102H564.895Z" fill="white"></path></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">PHP</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-py" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 400 398" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_231_120)"><path d="M198.563 0C97.0125 0 103.35 44.0375 103.35 44.0375L103.475 89.6625H200.375V103.35H64.9625C64.9625 103.35 0 95.975 0 198.45C0 300.9 56.7125 297.275 56.7125 297.275H90.5625V249.725C90.5625 249.725 88.7375 193.013 146.375 193.013H242.475C242.475 193.013 296.475 193.888 296.475 140.825V53.0875C296.475 53.0875 304.675 0 198.563 0ZM145.125 30.675C154.763 30.675 162.562 38.47
835 162.562 48.1125C162.562 57.75 154.763 65.55 145.125 65.55C142.834 65.5533 140.565 65.1045 138.448 64.2294C136.331 63.3542 134.407 62.0699 132.787 60.45C131.168 58.8301 129.883 56.9065 129.008 54.7894C128.133 52.6723 127.684 50.4034 127.688 48.1125C127.688 38.475 135.488 30.675 145.125 30.675Z" fill="url(#paint0_linear_231_120)"></path><path d="M201.437 397.913C302.987 397.913 296.65 353.875 296.65 353.875L296.525 308.25H199.625V294.562H335.025C335.025 294.562 400 301.937 400 199.475C400 97.0125 343.287 100.65 343.287 100.65H309.437V148.187C309.437 148.187 311.262 204.9 253.625 204.9H157.525C157.525 204.9 103.525 204.025 103.525 257.088V344.825C103.525 344.825 95.3249 397.913 201.437 397.913ZM254.875 367.238C252.584 367.241 250.315 366.792 248.198 365.917C246.081 365.042 244.157 363.757 242.537 362.138C240.917 360.518 239.633 358.594 238.758 356.477C237.883 354.36 237.434 352.091 237.437 349.8C237.437 340.175 245.237 332.375 254.875 332.375C264.512 332.375 272.312 340.163 272.312 349.8C272.312 359.45 264.512 367.238 254.875 367.238Z" fill="url(#paint1_linear_231_120)"></path></g><defs><linearGradient id="paint0_linear_231_120" x1="38.4375" y1="34.775" x2="236.225" y2="233.225" gradientUnits="userSpaceOnUse"><stop stop-color="#387EB8"></stop><stop offset="1" stop-color="#366994"></stop></linearGradient><linearGradient id="paint1_linear_231_120" x1="160.112" y1="161.025" x2="372.537" y2="364.537" gradientUnits="userSpaceOnUse"><stop stop-color="#FFE052"></stop><stop offset="1" stop-color="#FFC331"></stop></linearGradient><clipPath id="clip0_231_120"><rect width="400" height="398" fill="white"></rect></clipPath></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Python</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-rb" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 348 347" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#clip0_232_123)"><path d="M326.7 329.3L347.56 71.6L267.02 229L71.02 347C151.88 341.325 242.22 335.13 326.72 329.34L326.7 329.3Z" fill="#A00403"></path><path d="M342.39 110.977L239 30L212 123C321.797 132.317 303.763 113.354 342.39 110.977ZM111 214L247 257L212 123L111 214ZM22 233C66 372 77 402 111 214L21 235L22 233ZM195 0L292 1L239 30C228 23 203 6 195 0ZM4 178L0 277L23 234L4 178ZM217 17C243 43 216 106 164 157C112 208 46 240 20 214C-5 188.11 20.7 124 72.85 73C125 22 192.05 -9 217.05 17H217Z" fill="#B11205"></path><path d="M111 214L244 257C196 302 106.5 343.5 71 347L111 214Z" fill="#9F0D02"></path><path d="M212 123L245 256C285 214 321 168 339 112L212 123ZM326.7 329.3L306.02 177L245 256L326.7 329.3Z" fill="#891102"></path><path d="M340 113C353 72 356 12 292 1L239 30L340 113Z" fill="#AA1401"></path><path d="M0 277C2 345 50 346 71 347L22 234L0 277Z" fill="#9E1209"></path><path d="M111 214L165 317C197 300 222 279 244 256L111 214Z" fill="#900E04"></path><path d="M22 234L14 325C28 345 48 346 69 345C54 308 24 233 22 234Z" fill="#8B1104"></path></g><defs><clipPath id="clip0_232_123"><rect width="348" height="347" fill="white"></rect></clipPath></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Ruby</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-lib-rs" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20 text-neutral-900 dark:text-neutral-200"><!--[--><svg width="42" height="42" viewBox="0 0 106 106" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g id="logo" transform="translate(53, 53)"><path id="r" transform="translate(0.5, 0.5)" stroke="currentColor" stroke-width="1" stroke-linejoin="round" d=" M -9,-15 H 4 C 12,-15 12,-7 4,-7 H -9 Z M -40,22 H 0 V 11 H -9 V 3 H 1 C 12,3 6,22 15,22 H 40 V 3 H 34 V 5 C 34,13 25,12 24,7 C 23,2 19,-2 18,-2 C 33,-10 24,-26 12,-26 H -35 V
83-15 H -25 V 11 H -40 Z"></path><g id="gear" mask="url(#holes)"><circle r="43" fill="none" stroke="currentColor" stroke-width="9"></circle><g id="cogs"><polygon id="cog" stroke="currentColor" stroke-width="3" stroke-linejoin="round" points="46,3 51,0 46,-3"></polygon><use xlink:href="#cog" transform="rotate(11.25)"></use><use xlink:href="#cog" transform="rotate(22.50)"></use><use xlink:href="#cog" transform="rotate(33.75)"></use><use xlink:href="#cog" transform="rotate(45.00)"></use><use xlink:href="#cog" transform="rotate(56.25)"></use><use xlink:href="#cog" transform="rotate(67.50)"></use><use xlink:href="#cog" transform="rotate(78.75)"></use><use xlink:href="#cog" transform="rotate(90.00)"></use><use xlink:href="#cog" transform="rotate(101.25)"></use><use xlink:href="#cog" transform="rotate(112.50)"></use><use xlink:href="#cog" transform="rotate(123.75)"></use><use xlink:href="#cog" transform="rotate(135.00)"></use><use xlink:href="#cog" transform="rotate(146.25)"></use><use xlink:href="#cog" transform="rotate(157.50)"></use><use xlink:href="#cog" transform="rotate(168.75)"></use><use xlink:href="#cog" transform="rotate(180.00)"></use><use xlink:href="#cog" transform="rotate(191.25)"></use><use xlink:href="#cog" transform="rotate(202.50)"></use><use xlink:href="#cog" transform="rotate(213.75)"></use><use xlink:href="#cog" transform="rotate(225.00)"></use><use xlink:href="#cog" transform="rotate(236.25)"></use><use xlink:href="#cog" transform="rotate(247.50)"></use><use xlink:href="#cog" transform="rotate(258.75)"></use><use xlink:href="#cog" transform="rotate(270.00)"></use><use xlink:href="#cog" transform="rotate(281.25)"></use><use xlink:href="#cog" transform="rotate(292.50)"></use><use xlink:href="#cog" transform="rotate(303.75)"></use><use xlink:href="#cog" transform="rotate(315.00)"></use><use xlink:href="#cog" transform="rotate(326.25)"></use><use xlink:href="#cog" transform="rotate(337.50)"></use><use xlink:href="#cog" transform="rotate(348.75)"></use></g><g id="mounts"><polygon id="mount" stroke="currentColor" stroke-width="6" stroke-linejoin="round" points="-7,-42 0,-35 7,-42"></polygon><use xlink:href="#mount" transform="rotate(72)"></use><use xlink:href="#mount" transform="rotate(144)"></use><use xlink:href="#mount" transform="rotate(216)"></use><use xlink:href="#mount" transform="rotate(288)"></use></g></g><mask id="holes"><rect x="-60" y="-60" width="120" height="120" fill="white"></rect><circle id="hole" cy="-40" r="3"></circle><use xlink:href="#hole" transform="rotate(72)"></use><use xlink:href="#hole" transform="rotate(144)"></use><use xlink:href="#hole" transform="rotate(216)"></use><use xlink:href="#hole" transform="rotate(288)"></use></mask></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Rust</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><!--]--></div><!----> <div class="text-lg font-semibold">Mobile</div> <div class="not-prose grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3"><!--[--><a href="https://github.com/altcha-org/altcha-flutter" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 300 372" fill="none" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g clip-path="url(#clip0_270_2)"><mask id="mask0_270_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="300" height="372"><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="white"></path></mask><g mask="url(#mask0_270_2)"><rect x="67.54" y="154.53" width="267.5" height="207.58" fill="url(#pattern0_270_2)"></rect><path d="M300 171.43H185.72L85.73 271.44L142.85 328.57L300 171.43Z" fill="#54C5F8"></path></g><mask id="mask1_270_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="300" height="372"><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="white"></path></mask><g mask="url(#mask1_270_2)"><path d="M57.15 242.87L0 185.72L185.72 0H300L57.15 242.87Z" fill="#54C5F8"></path></g><mask id="mask2_270_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="300" height="372"><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="white"></path></mask><g mask="url(#mask2_270_2)"><path d="M142.85 328.57L185.72 371.44H300L200.01 271.44L142.85 328.57Z" fill="#01579B"></path></g><mask id="mask3_270_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="300" height="372"><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="white"></path></mask><g mask="url(#mask3_270_2)"><path d="M142.85 328.57L227.61 299.24L200.01 271.44L142.85 328.57Z" fill="url(#paint0_linear_270_2)"></path></g><mask id="mask4_270_2" style="mask-type:luminance" maskUnits="userSpaceOnUse" x="0" y="0" width="300" height="372"><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="white"></path></mask><g mask="url(#mask4_270_2)">
83<path d="M142.857 214.298L85.7158 271.44L142.857 328.581L199.998 271.44L142.857 214.298Z" fill="#29B6F6"></path></g><path d="M300 171.43L200 271.43L300 371.43H185.72L142.86 328.57L85.71 271.42L185.71 171.42L300 171.43ZM185.72 0L0 185.72L57.15 242.87L300 0H185.72Z" fill="url(#paint1_radial_270_2)"></path></g><defs><pattern id="pattern0_270_2" patternContentUnits="objectBoundingBox" width="1" height="1"><use xlink:href="#image0_270_2" transform="scale(0.00787402 0.010101)"></use></pattern><linearGradient id="paint0_linear_270_2" x1="159.525" y1="339.61" x2="202.085" y2="297.048" gradientUnits="userSpaceOnUse"><stop stop-color="#1A237E" stop-opacity="0.4"></stop><stop offset="1" stop-color="#1A237E" stop-opacity="0"></stop></linearGradient><radialGradient id="paint1_radial_270_2" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.44251 25.3225) scale(454.43)"><stop stop-color="white" stop-opacity="0.1"></stop><stop offset="1" stop-color="white" stop-opacity="0"></stop></radialGradient><clipPath id="clip0_270_2"><rect width="300" height="371.43" fill="white"></rect></clipPath><image id="image0_270_2" width="127" height="99" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAH8AAABjCAYAAACyqd/zAAAACXBIWXMAAAU6AAAFOgE+3gFaAAAVRUlEQVR4Xu3dy44kSXbe8f93zD0uec+a6itmqKF6Q6gJSMLoBugC8Am0GkpLLrXiEwjQvINegAvtZkdoRXBBguBOEkBATa1m2OKMerqrujvvmRHhbvZp4Z6ZkVl5i6q8Tx0gOjtRkRGe+TvHzNzcw0y2eR+/nVFd94TnHpJ03XMeY/gWqla38BpPIs4i/wz4L8DPgT8Htp5QAmwaPgX+EfC3dL9LF4smxLPGPwX/KbDJKfLHwA/6Z+0ASbDyxs8/vtgHsmG9//5L4Bu6Y980bAE/v3ESPFt86Z8J/h3wa/XYHfzLJVg5FHlXq2XKSmmwh9jDuepfAZYvetkHiAb4HgBp6oNU2IshaGBiArsFvv+RIRn+DvgaeG34i2uT4Nn1+V21fw78S3UVsiQ2DrS6hMZtrTJErSpZaxoINDyUBhk4/3d6TD2BQUJaYdQOHTNQ4KhHTmsHnowOvHcwMTsC/oG7xP2JJemqBHhWlX9a7VnwkRj9WoONl1pJjmppFAkrGkJtjhJFTqGiVk4tEODoxSsgXfFO9xiyoUU0KGprFmjauATOVV0q55KL3RbKtCk+mJbCzp7hwPDnhl8DF48Hng2+9E8F/1qQxMpLjT5UbEyOok2OOqUqQqkNIrUpJUWUyGGXKLZsi5SUIh4LOQDF0DYGFYOJSEXCIUp2lOySkykuVVs8LZGn+XBQld39qvB6q0Br+AsD2P/nDehn0ex38P9KMBPLGxq+OEzrXg3GpRq2pEaptqMSpXKiyuRU5BROkZzDIiyDrfJomntj7JSAEkbFyMVWtl0UbRvh7BwtqYRJuc0jjadtZqVll014TT4eu1zUBTx5/FP4Iy0tvYjNFy9jyl4qPqirRlUbqivy0OEBqIZS29QylSmJFIGLVCRAVoG47l3vMAwU6MYcsrBJMkSxnaHkglqIRoUGM1NxRLiZDSDPguWmOGi8zSvBP+9f+OB5Vf4J/PqRxh+uxsbBRmqLk+u6rpJqUjswZWi0JBhiD4GhRQ2lFkpAAgX0+KA3xn73H+7bH1tRuh67ZEEj0VqegaYhTS2ScZRSFC4mhUuoKJXC6u+Jvdz/Nm+evTxZ/DPwn6zG5uRlkgapqia1lYfhaihiJDSWyjLWGDG2POoSQTXd718ZQnKoz4AHxZdsuR+g2UIFyN0jphYz7InsCaIChUIOUjEpB2S1jkQbMx2WgytGMU8S/zz8Rt5Mrl2pHNU50iDhES7jIi9hLQNr6lJ/CTNGjEADoMZUQgEOg7rm1nCv53o6Tbe+X5YoGLs7dWmRGuBIMAEGiGQKoGKpNaV1UTIOFSTWCYvux7tXPt/vPzn87jz+P52BR6pi1tZtVEPhkSMtYS9LrCCvYjbAKzbLqEsAo4HsQVc9JYyCru7gHuF1Am+6Dh4EBVGwCtACM8HMeCBU041KCiIbGlnTQAkRaiNyCUnI3tFVp6xPCr+D/2OxvnMOPtct1VDSiGBJZkWwCqyB1oAXFquYVWAJGAsPgRpc0c3vClucVP+dJ4D7ET0g9+9mHQ/5TEa0gsYwBR2hrvcXbjFTWxUodWd/3TTQ6WEnpBV3PUb/hk91tH8Cz5bGn6xfAM9YKktRWLG0Cqxj1iVvWPwAWEMn87YjYIgY2KokAizESbd/P6F5DMsUYyNl3M3sGE+RKmwJGsTMpupLWmcGKMqW7Ii66wlouYr4SeDPw/P5IDZml8CbFdCaKOsWG6BN0Dr2D5DXQPP4A6CWqICT0f7xW97lmO+sGD5+GApS6eFnwExIXSugGTgwyH3rIIpQNs7FZKySo2tOcthH6aVhdumv8qjxT6/KncJ/OvkknC6DZ814HbEJbGJtWt5AvMBaQ/2gD4Z0+MfzuEEHf4J/x+Xv/r9dHy8KfcUbWuGmP9kriIQJbKPjUT8t3RWfxrgRboUyKTJKGW
83U79tzGa+Bf9G85fuMgHi3+abXDPHweVFV11LwJL9Ys1qGHl16IsmmOW4BzTT7UdPB98zmP7zuyP9vMI7sf8BWgYDfquu2MCYQxWT0yaEo32p9ATMAT8KxYMxeasNsqT8oRTdmfYfbHhv9uAPuv3mgBHiV+B/8zwRcdwk8248fffZoOlqnGe5N6EqNxyGNFWY7MqoM1gnVbm8IvkDZlbRo2sdctNqQz8F3Vm0AOupH+mUPg1uMcfDe8N13V99Ws3LcFGTETTA2H4AOkPdCu7V3EruQ9pIMoPlSUCS7T1qVhEG3a/iA33x4W2DX88uLD4RHin4H/yWYAzMMfxWiYroZ/gdk03sCsI62q6xLGqIc3FSIhgtMmf478DuwBDOrab3fNPLlvcAzd6B40wxxX+AHyga09472APfAesI/LAVmHJk1K5FkbpaFNuWnrvD04LN27/aXt//E0+vzz8D/+7tMEcAYeRtfBAxuYDbrTvRW6c/vTij8Z5Dl66E77Lkd5AH3H3b9R4bTJb+lP6QRHiENgz3jPaEd4R2jbeAe0g9ktYl/hw1KaSVs0c5PahsN2t0mFb1YKfGH4n1ccyyPCvwj+YLk7vnl4qrwc7Q3hxQpmDB4hnR/g9SN8684q/SQM/WWDLk7QM6YBZsAkxKHhAHsXaVewjdlGbJmyHSW2i2LXsI85LCVPgjwdNoOZtN7EtM68/rLAbveuT+FOnsvgx3uTGmAevmpZKYvAizHdVG4lXLlDj1P0Ox3Yn/3jC3fzq/18vd2AZsAEcWhzAOwi7QhtWWyBvzfaCrwF7Iq8b3ToEkdhpmqiKVbbNF+Xb799VWBg2DL8/Np27MHxr4I/itEQ4Ay8tEb45vD2AOkS+DsveU6rvr9eg7rBnT1DmmKOEAeYfWAHsQ1sW97Cx/BlyyV2kfcKOnCJw3Ceqiozj+qm4TB/O32V+fYU/rqqhwfGvw4+daNz5uGVynpxLAJfPxC8z8BDmYNvroJHfH8eXng3n4ev5uC/XAweeLjbuE7P439zOXyVlwEugP/wpvBABU6PEP5gIfjQvnPs3xY8PFDln5muvQK+arub6c/Bby4CL5z8+OAXq/gO/tYq/jjuHf/8PP1V8EVaA3g3ePQI4Q8XhYcyuU14uGf88/CfTj6Jq+CVyjrAOfgXLAR/Mpp/0vA17SxXg1uDh3vEvwg+D6or4YtjE+Dd4D2fAHcVi8LvLgrfjAdNLrcHD/c04Lvotiv6S7IN9dXz9N0LnG/qNxDLHN+SdQqfevh+5u5emvvz8PmGp3Ove/gtug8RblO0A97LoQPnOBRlmiLP8qBqSp7kVwevMl9FgVe2//Sd4e688q+Cb6mG11yg6fDf7OOfOvz2wvDl9a3Cwx3jXwcvce0Fmv6lLmrqf7vgf1EM390aPNwh/o3gVZauvUADPAH4siD89ywMz63Cwx19NuXG8Gbl2gs0Vw/uniS80cLw8Ce3Cg93UPmLwKMbXKABnht8ULYosRD8u4zqL4tbxV8U3rrBlTngCcC/zczdg8LDLeJLvy/4twvBA9dfoAHOwVfPAH73oeHhlvA7+H+yMDz9jZaXwqvHf37w+w8ND3c04HsfTyPeufJPqn55rPEno9utenvQv8n5aVseWdUvPF//0FUP74g/Dz/8KL0N/E3m6uHi+Xp4ovBQJg8ND++Afx5+vX4R+NbhK4AnAL/whZp2UD8oPLwl/kXwletKtwwvnACeG3wzHjRujx4UHlj8qp70B4Ifi5ehlY3lWE7rKRVVbj0oTiMF46Asy6z28N1VOPQCeAEnffw6sEb36dklfHp7tc7ccwf3hA5n4cs5+ONJnMMefo9T+C3EK87N1/uiGy6Pb8bYu/0LNYvGQpV/FbydBm8Bv3w1vHvse4e/bPbuMvitheCnrzJfpQeFhwVO9a6Dt+4CXjwR+DMXaq6F/3Lgh4aHG1b+jeDlpcXhGV8Nf+fo8CDwWw8ODzfAP4EntFItx0r7gxQtldWegQ/7LeB5FvAsCH+TT9PcR1yJPw+/uroZK9pMqVXlaOsSVQ9fjuFX3wL+oT5QATcb1d8IXoWF4O97VH9ZXNrndzdcfiB4KVbHUa1UqSSnJjV1SXlAMJJYEloBrZoz8JvcAB54HvCw+9Tg4crK/yHwI9hY0dLqMKQ25WjqFDHAjERZAi0DqxbraHF48GOFP1oE3tL+U4OHS/C7pcv/IzCL5cEslgYR0UZSUIc0gBiDl5BX6da6WQc2BJvulkDZANaR1/BV8DwL+GI9OXi4tNkfAD8Ua5UGVQ6yU1GqQDV4BB4jL9PNzq3TNfcbXdPv9f6xypUVTwCPFX5+5u5aeBXf+qdp7iMuafZnwCstj0ZKIwcoBVGBBy4eIsbqFjhaAa/RbWkx/1gVLNssAaPL4U8edx13Ch/p6cHDpZX/B7B0yGiwpEQlRUnCNcUDd8ubjOmWNOsTgFXwGmYFd8uduXvO8VIol8Dfh/vdw1PFk4OHCypf+veC/yyGf61SHyg3jqJIKVRFuA40FIyRl4BluiVNV/sR/2rfIixxsgCSB6CK01F9PFBTv9hcPX5la0tii8K2zI7F3OlcO6XWTErNYTrMW998lfn+o3LdIkiPKS6o/K+BvwGWKEVUZaCUakVUIacEqgy1C7XNwN06IEPDUN1q0APcrWaN3aMfV/uDDe4WgxdbRluSr4QPRXNYHea93e+eHDxc2OdnuhW/KlxahZOCLLCKLcshEcgJlORuIUNz8jUQIQis+T79vvp3uLqpvxYe+/vrKn4evn098lODh6vO81UjVYApEkiWfPxXNV1/5pPv+4egWxn2BADuzxy4BXhYEH72f58cPFzY7I+BfwwEiuwmpm5y61xaW6WoW70/C7XqlwQ/fhgaukWDW0RBykC/ICDuQeA0K247bgeexeC7Ne+eXryB363ROgF9SaRlk1RQW1ScXWjt4z+kp/h4HViOwP0uEJrSnSvOMN2SopDVNRJ3mQC3B18Wg7f/7rZ/l3uJS5r9PzF7P7IG26Tl4gjlKM5kN7ZmliayjoBDuoWFxsDIYlm4/0QNYQiMEDKSMD4Z7Vsd1K30CVfBv+Nc/fOEh0vxfwnN77EHZSWXEm3kEtFEogkz6bcnGQJDqRvxg2p1S6fF3EOds/tl48UdJMCtw5/O1T9feLgUfwz8jmfb/8usr5W0rExp2lSqmSIqS4dQKqAyqjjdqmRoFJhwX++duLpW//YT4CbwbzlX/7zh4RJ8+68s/SFMftf7G4Oyikpy2+bQLBGBS7jDTuB+9WqHpaGMLKvv0dVbg8QtJ8Cdwat48tzh4cpLun8G/AfPdj71bkzycmpVObUleZYoIUUUFIKQLbordHXHKHxc9cekt5sAi8C/1ZStlJ41PFyBb29b+kNxNHJTJiVtfJDrehmYQSrYErKE1VU7Airs7p7bTrczujoB5NMn3CQB7hyeKprD9Lzh4dp7+P7WMIDpmP3trbK+HtT1WLghpywTXYXjjkL9Jm497hn0yxNA3SdybpQA9wLfqmmfOzxcg2//b0sCfsp0ulleLf3KL4cfUrPkaDNu7aJUFKUEzhShKG0hWtktUsvxpI9p6faKy/h4FymXPgHcJ8BVXcB5+EUWQFrsAxXTV5n/9+LJzdUvGtfevWv7JAH4cpNvf/wqvxx+SF0tIRqihVISJQoJJ5cgolAIdLMWIK4ZAxwfCW8J/8bKV9fCfznwc4eHG+DDzRMgpxKpmAUTIC4fBM6HuKCpvwn8W95X/7zh4Yb4cMMEyClyKiyYAHF+ENj/a39/33HIoGL6PWluCO9ul4qF4B/LffV3HTfGh+sTgCw5BwsmQJrrArqvp7v/nuvz+00FF4LvVr5aBP6x34FzW7EQPlydAHWeqaFiwQRIZ8cAGLnuK33+wlO3/5y18Do4vIe/MBbGh8sToIyXmvpoxoIJUJ1JBnA/sDu+C+g4Cqilu1p4Y3jdwfYkzyXeCh8uToBP0w9pxgMWTIDqGF3CpevoC6f7xB9HARqLacC+WWxhhPfwb8Zb48ObCfDV578pn04+aRdJAFmpmwq2LfXwZLobP+fwXUAzwZFhj27vuX4Lsjd3onoPf328Ez6cS4AvRuWrz3/DIglgUfXXAgwqHTKt0VA+GfhhKQumwBFoB/W7TF4Dzx1sT/Jc4p3xYT4B/hi+2Fo0ASpbfdWXgnW8ifDQc8cnaIH+2nzZcret6BZ46yr4u9ie5LnEwmvyXBXdJ3v/SID4LPRhfJAijVKatXUuaWBiqFSWUvEyaBW85sRLrE2hDbusW1oFL8saobnkNK3lCehAZkvSjv
83EWeFuFbdAul6xnOyl77fb+VnnoNXAeW9xK5R/HaQvwR/CLwqvPXucP+QAGI9KsJRfmWgCwwi5OCkw3z9+GNbOYWIzk0+OzaIUmsg4sb4N3gG1bO0g7svcvW892++A9/EVxq/iwSALQz+Pm5HI8e1caK7pzeDS0ylzlR2s8tXyAvQPaNd4FdguxR+jAmaP72J7kucSt48PNE0AJCopE2N1VwQYxAQ5FOdfnl9bdncGHdKd4+yL2CmUfOLwU/g62J3kucSf4cE0CHLUUJTsbVY5SWuPUWm5UmJB0SNGAfhHGLpQJZmRPLO9ROET5QNKhM5NAk3Bu7mN7kucStzrguyguHATuj1KVcpUrD5DGgpGqauTSjEU9ys6jkGq7xOnrRCl2k5QmVnso0pFznhSYyJ6mVrM2p7asPOySpk8p7hwfLkiA2QcpteupqmbVdFAGlcowSjVslQehGGaoI5facTrDp0IpKZoEjV2OkmOWlad2zOommrYdtLnaya8G7+FvGveCD+cSgNCHH36QqirHdFjXdT2s6yPqtmprodqVq5Kjsj1X+SqRSqtWLWYWTk0z8CzPJu2gyW3bpvLq1esM7+FvGveGD28mwMcfr0SpX6QyyNVwkqpmRMozV8NhTiXXYbc6/dnKkZoynaZcVWqicW5qt6l1q2anfP31fnkPv1jc2YDvojgzCKTw9dfLmc/g4zzzUTsoAZGZtU7jsAZymbuZIwZ22Jmjggct2YUq528YFr5eLrAL7+EXinvFh/MJcAC/GJavP//IlL8vH2eH8zCXlGSjAif4IVxScso2sVu+Gw0L+qDw5a7hoMd+D79I3GuzPx9dFwAnO2vzmfj8V2L2Gb8zHSvnHdnt3PMrUlr33w+PTP6V+eWG4TdAa/hvhi6xLnqv93FxPBg+nE8AgIng3wC/7L//Zu7ZH/Vf/6Hhr92t9bTL8U6T7+EXjwfFP47TJPgZ8MVpP89P557187n//9jwX9+Dv2M8CvzjOE2C45g/ttN/eo9+O/Go8N/H/cYFa/K8j9+WeI//Wxz/H377UM/IoS5KAAAAAElFTkSuQmCC"></image></defs></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Flutter</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-react-native" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" fill="none" xmlns="http://www.w3.org/2000/svg" viewBox="670.088 32.46226489559854 2224.1720000000005 2666.4877351044024"><g fill="#61dafb"><path d="M2870 1250.22c0-145.34-182.01-283.079-461.07-368.495 64.4-284.424 35.78-510.711-90.34-583.159-29.07-16.994-63.05-25.044-100.17-25.044v99.728c20.57 0 37.12 4.025 50.98 11.627 60.82 34.882 87.21 167.703
8366.63 338.536-4.91 42.038-12.96 86.311-22.8 131.479-87.66-21.466-183.36-38.012-283.98-48.745-60.37-82.734-122.98-157.865-186.04-223.604 145.79-135.504 282.64-209.741 375.66-209.741v-99.727c-122.99 0-283.98 87.653-446.76 239.703-162.79-151.156-323.78-237.914-446.76-237.914v99.727c92.57 0 229.86 73.79 375.65 208.399-62.61 65.74-125.22 140.423-184.7 223.157-101.07 10.733-196.77 27.279-284.42 49.192-10.29-44.72-17.89-88.1-23.26-129.69-21.01-170.833 4.92-303.654 65.3-338.983 13.41-8.05 30.85-11.627 51.43-11.627v-99.728c-37.57 0-71.56 8.05-101.07 25.044-125.67 72.447-153.84 298.287-89 581.817C857.119 968.036 676 1105.33 676 1250.22c0 145.35 182.013 283.09 461.07 368.5-64.4 284.43-35.78 510.71 90.34 583.16 29.07 16.99 63.05 25.04 100.62 25.04 122.98 0 283.98-87.65 446.76-239.7 162.78 151.16 323.78 237.92 446.76 237.92 37.56 0 71.55-8.05 101.07-25.05 125.66-72.45 153.84-298.29 88.99-581.81 277.27-85.42 458.39-223.16 458.39-368.06zm-582.26-298.284c-16.55 57.694-37.12 117.164-60.38 176.644-18.33-35.77-37.56-71.55-58.58-107.33-20.57-35.773-42.49-70.655-64.4-104.643 63.5 9.391 124.77 21.019 183.36 35.329zm-204.83 476.274c-34.88 60.38-70.65 117.62-107.77 170.84-66.64 5.81-134.16 8.94-202.14 8.94-67.53 0-135.06-3.13-201.24-8.5-37.12-53.22-73.35-110.01-108.23-169.94-33.99-58.58-64.84-118.06-93.02-177.98 27.73-59.93 59.03-119.86 92.58-178.44 34.88-60.37 70.65-117.616 107.77-170.834 66.64-5.814 134.16-8.944 202.14-8.944 67.53 0 135.06 3.13 201.24 8.497 37.12 53.218 73.35 110.011 108.23 169.941 33.99 58.58 64.84 118.06 93.02 177.99-28.18 59.92-59.03 119.85-92.58 178.43zm144.45-58.13a1918.154 1918.154 0 0 1 61.72 177.98c-58.59 14.31-120.3 26.39-184.25 35.78 21.91-34.43 43.82-69.76 64.4-105.99 20.57-35.77 39.8-72 58.13-107.77zm-453.47 477.17c-41.59-42.94-83.18-90.79-124.32-143.11 40.25 1.79 81.39 3.13 122.98 3.13 42.04 0 83.63-.89 124.33-3.13a1746.499 1746.499 0 0 1-122.99 143.11zm-332.72-263.41c-63.5-9.39-124.77-21.02-183.35-35.33 16.54-57.69 37.12-117.17 60.37-176.65 18.34 35.78 37.57 71.56 58.58 107.33 21.02 35.78 42.49 70.66 64.4 104.65zm330.49-930.638c41.59 42.931 83.18 90.783 124.32 143.106-40.25-1.789-81.39-3.13-122.98-3.13-42.04 0-83.63.894-124.32 3.13a1746.3 1746.3 0 0 1 122.98-143.106zm-330.94 263.405c-21.91 34.435-43.82 69.764-64.39 105.983-20.57 35.78-39.8 71.56-58.14 107.33a1914.757 1914.757 0 0 1-61.71-177.984c58.58-13.863 120.29-25.938 184.24-35.329zM1036 1476.51c-158.309-67.53-260.72-156.07-260.72-226.29 0-70.21 102.411-159.2 260.72-226.28 38.46-16.55 80.5-31.308 123.88-45.171 25.49 87.651 59.03 178.881 100.62 272.351-41.14 93.02-74.24 183.8-99.28 271.01-44.27-13.87-86.31-29.07-125.22-45.62zm240.6 639.06c-60.82-34.88-87.21-167.7-66.63-338.54 4.92-42.03 12.96-86.31 22.8-131.48 87.66 21.47 183.36 38.02 283.98 48.75 60.37 82.73 122.98 157.86 186.04 223.6-145.79 135.51-282.64 209.74-375.66 209.74-20.12-.44-37.11-4.47-50.53-12.07zm1060.78-340.77c21.01 170.83-4.92 303.65-65.3 338.98-13.41 8.05-30.85 11.63-51.43 11.63-92.57 0-229.86-73.79-375.65-208.4 62.61-65.74 125.22-140.42 184.7-223.16 101.07-10.73 196.77-27.28 284.42-49.19 10.29 45.17 18.34 88.55 23.26 130.14zm172.17-298.29c-38.46 16.55-80.5 31.31-123.88 45.17-25.49-87.65-59.03-178.88-100.62-272.35 41.15-93.02 74.24-183.8 99.28-271.009 44.28 13.864 86.31 29.069 125.67 45.619 158.31 67.52 260.72 156.07 260.72 226.28-.45 70.22-102.86 159.21-261.17 226.29z"></path><path d="M1772.55 1454.6c112.88 0 204.38-91.5 204.38-204.38 0-112.87-91.5-204.37-204.38-204.37-112.87 0-204.37 91.5-204.37 204.37 0 112.88 91.5 204.38 204.37 204.38zM775.625 2578.81H708.16V2695h-38.072v-287.22h95.082c32.351 0 57.207 7.37 74.566 22.1 17.491 14.72 26.237 36.16 26.237 64.3 0 17.89-4.866 33.47-14.598 46.76-9.6 13.28-23.014 23.21-40.242 29.78l67.465 121.91v2.37h-40.637zm-67.465-30.97h58.194c18.806 0 33.732-4.87 44.779-14.6 11.178-9.73 16.767-22.75 16.767-39.06 0-17.75-5.326-31.36-15.978-40.83-10.521-9.47-25.776-14.27-45.766-14.4H708.16zm293.93 151.11c-28.936 0-52.477-9.47-70.625-28.41-18.149-19.07-27.223-44.52-27.223-76.34v-6.71c0-21.17 4.011-40.04 12.033-56.61 8.154-16.71 19.464-29.73 33.93-39.06 14.598-9.47 30.379-14.21 47.344-14.21 27.751 0 49.321 9.14 64.701 27.42 15.39 18.28 23.08 44.45 23.08 78.51v15.19H940.736c.526 21.05 6.642 38.08 18.346 51.1 11.836 12.88 26.828 19.33 44.978 19.33 12.89 0 23.8-2.63 32.74-7.89 8.95-5.26 16.77-12.23 23.48-20.91l22.29 17.36c-17.89 27.48-44.71 41.23-80.48 41.23zm-4.541-191.35c-14.729 0-27.091 5.39-37.086 16.17-9.995 10.66-16.176 25.65-18.543 44.98h106.92v-2.76c-1.05-18.54-6.05-32.88-14.99-43.01-8.95-10.25-21.05-15.38-36.301-15.38zM1259.52 2695c-2.11-4.21-3.82-11.7-5.13-22.49-16.97 17.62-37.22 26.44-60.76 26.44-21.04 0-38.33-5.92-51.88-17.76-13.41-11.97-20.12-27.09-20.12-45.37 0-22.22 8.42-39.45 25.25-51.68 16.96-12.37 40.77-18.55 71.41-18.55h35.51v-16.76c0-12.76-3.82-22.89-11.44-30.38-7.63-7.63-18.88-11.44-33.74-11.44-13.02 0-23.93 3.28-32.74 9.86-8.81 6.57-13.22 14.53-13.22 23.87h-36.69c0-10.65 3.75-20.91 11.24-30.78 7.63-9.99 17.89-17.88 30.78-23.67 13.02-5.78 27.28-8.68 42.8-8.68 24.6 0 43.86 6.18 57.8 18.55 13.94 12.23 21.17 29.13 21.7 50.69v98.24c0 19.6 2.5 35.18 7.5 46.75v3.16zm-60.56-27.81c11.44 0 22.29-2.96 32.55-8.88 10.25-5.92 17.68-13.61 22.29-23.08v-43.79h-28.61c-44.71 0-67.07 13.08-67.07 39.25 0 11.44 3.82 20.39 11.44 26.83 7.63 6.44 17.43 9.67 29.4 9.67zm234.15 1.97c13.02 0 24.4-3.95 34.13-11.84s15.12-17.75 16.17-29.59h34.53c-.66 12.23-4.87 23.87-12.63 34.92s-18.15 19.86-31.17 26.43c-12.89 6.58-26.56 9.87-41.03 9.87-29.06 0-52.21-9.67-69.44-29-17.09-19.47-25.64-46.03-25.64-79.7v-6.11c0-20.78 3.81-39.26 11.44-55.43 7.63-16.18 18.54-28.74 32.75-37.68 14.33-8.95 31.23-13.42 50.69-13.42 23.94 0 43.8 7.17 59.58 21.51 15.91 14.33 24.39 32.94 25.45 55.82h-34.53c-1.05-13.81-6.31-25.12-15.78-33.93-9.33-8.94-20.91-13.41-34.72-13.41-18.54 0-32.94 6.7-43.2 20.12-10.12 13.28-15.19 32.55-15.19 57.8v6.9c0 24.59 5.07 43.53 15.19 56.81 10.13 13.29 24.6 19.93 43.4 19.93zm175.37-239.28v51.68h39.85v28.21h-39.85v132.36c0 8.55 1.78 14.99 5.33 19.33 3.55 4.21 9.6 6.32 18.15 6.32 4.2 0 9.99-.79 17.35-2.37V2695c-9.6 2.63-18.93 3.95-28.01 3.95-16.3 0-28.6-4.94-36.89-14.8-8.28-9.86-12.42-23.87-12.42-42.02v-132.36h-38.87v-28.21h38.87v-51.68zM2017.81 2695h-38.08l-144.59-221.33V2695h-38.07v-287.22h38.07l144.99 222.32v-222.32h37.68zm193.32 0c-2.11-4.21-3.82-11.7-5.13-22.49-16.97 17.62-37.22 26.44-60.76 26.44-21.04 0-38.34-5.92-51.88-17.76-13.41-11.97-20.12-27.09-20.12-45.37 0-22.22 8.41-39.45 25.25-51.68 16.96-12.37 40.77-18.55 71.41-18.55h35.51v-16.76c0-12.76-3.82-22.89-11.45-30.38-7.62-7.63-18.87-11.44-33.73-11.44-13.02 0-23.93 3.28-32.74 9.86-8.81 6.57-13.22 14.53-13.22 23.87h-36.69c0-10.65 3.75-20.91 11.24-30.78 7.63-9.99 17.89-17.88 30.78-23.67 13.02-5.78 27.28-8.68 42.8-8.68 24.59 0 43.86 6.18 57.8 18.55 13.94 12.23 21.17 29.13 21.7 50.69v98.24c0 19.6 2.5 35.18 7.5 46.75v3.16zm-60.56-27.81c11.44 0 22.29-2.96 32.55-8.88 10.25-5.92 17.68-13.61 22.29-23.08v-43.79h-28.61c-44.71 0-67.07 13.08-67.07 39.25 0 11.44 3.82 20.39 11.44 26.83 7.63 6.44 17.43 9.67 29.4 9.67zm198.05-237.31v51.68h39.85v28.21h-39.85v132.36c0 8.55 1.78 14.99 5.33 19.33 3.55 4.21 9.6 6.32 18.15 6.32 4.2 0 9.99-.79 17.36-2.37V2695c-9.61 2.63-18.94 3.95-28.02 3.95-16.3 0-28.6-4.94-36.89-14.8-8.28-9.86-12.42-23.87-12.42-42.02v-132.36h-38.86v-28.21h38.86v-51.68zM2470.93 2695h-36.5v-213.44h36.5zm-39.46-270.06c0-5.91 1.78-10.91 5.33-14.99 3.68-4.08 9.07-6.11 16.17-6.11 7.11 0 12.5 2.03 16.18 6.11s5.52 9.08 5.52 14.99c0 5.92-1.84 10.85-5.52 14.8-3.68 3.94-9.07 5.92-16.18 5.92-7.1 0-12.49-1.98-16.17-5.92-3.55-3.95-5.33-8.88-5.33-14.8zm168.47 220.55l52.86-163.93h37.29L2
83613.55 2695h-27.82l-77.32-213.44h37.28zm211.07 53.46c-28.93 0-52.47-9.47-70.62-28.41-18.15-19.07-27.22-44.52-27.22-76.34v-6.71c0-21.17 4.01-40.04 12.03-56.61 8.15-16.71 19.46-29.73 33.93-39.06 14.6-9.47 30.38-14.21 47.34-14.21 27.75 0 49.32 9.14 64.71 27.42 15.38 18.28 23.08 44.45 23.08 78.51v15.19h-144.6c.53 21.05 6.64 38.08 18.35 51.1 11.83 12.88 26.83 19.33 44.97 19.33 12.89 0 23.81-2.63 32.75-7.89s16.77-12.23 23.48-20.91l22.29 17.36c-17.89 27.48-44.72 41.23-80.49 41.23zm-4.54-191.35c-14.72 0-27.09 5.39-37.08 16.17-10 10.66-16.18 25.65-18.54 44.98h106.91v-2.76c-1.05-18.54-6.05-32.88-14.99-43.01-8.94-10.25-21.04-15.38-36.3-15.38z"></path></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">React Native</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><!--]--></div><!----> <div class="text-lg font-semibold">Frameworks & Plugins</div> <div class="not-prose grid grid-cols-2 md:grid-cols-3 lg:grid-cols-6 gap-3"><!--[--><a href="https://github.com/altcha-org/altcha-django" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 32 32" xmlns="http://www.w3.org/2000/svg"><path d="M14.135,4H18.1V22.169a26.218,26.218,0,0,1-5.143.535c-4.842-.005-7.362-2.168-7.362-6.322,0-4,2.673-6.6,6.816-6.6a6.448,6.448,0,0,1,1.724.2V4Zm0,9.142a3.992,3.992,0,0,0-1.337-.2c-2,0-3.163,1.223-3.163,3.366,0,2.087,1.107,3.239,3.138,3.239a9.355,9.355,0,0,0,1.362-.1v-6.3Z" style="fill:#44b78b"></path><path d="M24.4,10.059v9.1c0,3.133-.235,4.639-.923,5.938A6.316,6.316,0,0,1,20.237,28l-3.678-1.733A5.708,5.708,0,0,0,19.7,23.638c.566-1.121.745-2.42.745-5.837V10.059Z" style="fill:#44b78b"></path><rect x="20.441" y="4.02" width="3.964" height="4.028" style="fill:#44b78b"></rect></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">Django</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://github.com/altcha-org/altcha-wordpress-next" target="_blank" class="relative group flex flex-col items-center border rounded-md border-neutral-300 outline-primary/10 dark:border-neutral-700 hover:outline-2"><div class="flex items-center justify-center h-20"><!--[--><svg width="42" height="42" viewBox="0 0 1333.3333 1333.3333" xml:space="preserve" xmlns="http://www.w3.org/2000/svg"><defs><clipPath id="a"><path d="M0 1000h1000V0H0Z"></path></clipPath><clipPath id="b"><path d="M0 1000h1000V0H0Z"></path></clipPath></defs><g clip-path="url(#a)" transform="matrix(1.33333 0 0 -1.33333 0 1333.333)"><path d="M0 0c-184.095 0-333.333-149.238-333.333-333.333 0-184.095 149.238-333.334 333.333-333.334 184.095 0 333.333 149.239 333.333 333.334S184.095 0 0 0m0-20c42.309 0 83.341-8.282 121.957-24.615A313.39 313.39 0 0 0 175.174-73.5a315.676 315.676 0 0 0 46.386-38.273 315.728 315.728 0 0 0 38.273-46.386 313.32 313.32 0 0 0 28.885-53.217c16.334-38.616 24.615-79.649 24.615-121.957 0-42.309-8.281-83.341-24.615-121.957a313.32 313.32 0 0 0-28.885-53.217 315.676 315.676 0 0 0-38.273-46.386 315.676 315.676 0 0 0-46.386-38.273 313.32 313.32 0 0 0-53.217-28.885C83.341-638.385 42.309-646.667 0-646.667c-42.308 0-83.341 8.282-121.957 24.616a313.32 313.32 0 0 0-53.217 28.885 315.728 315.728 0 0 0-46.386 38.273 315.676 315.676 0 0 0-38.273 46.386 313.39 313.39 0 0 0-28.885 53.217c-16.333 38.616-24.615 79.648-24.615 121.957 0 42.308 8.282 83.341 24.615 121.957a313.39 313.39 0 0 0 28.885 53.217 315.728 315.728 0 0 0 38.273 46.386A315.728 315.728 0 0 0-175.174-73.5a313.39 313.39 0 0 0 53.217 28.885C-83.341-28.282-42.308-20 0-20" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(500 833.333)"></path><path d="M0 0c1.193-8.846 1.867-18.337 1.867-28.561 0-28.177-5.279-59.864-21.129-99.49l-84.839-245.297c82.583 48.146 138.12 137.615 138.12 240.091C34.019-84.963 21.677-39.561 0 0m-238.879-157.554-83.356-242.173a277.57 277.57 0 0 1 78.476-11.318c32.347 0 63.379 5.583 92.249 15.749-.743 1.188-1.428 2.45-1.993 3.828zm182.643 38.306c0 34.34-12.335 58.108-22.899 76.605-14.082 22.892-27.287 42.259-27.287 65.15 0 25.53 19.361 49.298 46.647 49.298 1.233 0 2.4-.148 3.597-.224-49.421 45.282-115.265 72.929-187.581 72.929-97.049 0-182.421-49.795-232.091-125.197 6.522-.207 12.667-.337 17.877-.337 29.048 0 74.035 3.531 74.035 3.531 14.966.877 16.735-21.122 1.776-22.891 0 0-15.053-1.763-31.789-2.639l101.15-300.884 60.797 182.31-43.275 118.574c-14.966.876-29.134 2.639-29.134 2.639-14.974.884-13.22 23.768 1.762 22.891 0 0 45.863-3.531 73.156-3.531 29.048 0 74.042 3.531 74.042 3.531 14.974.877 16.736-21.122 1.77-22.891 0 0-15.068-1.763-31.79-2.639l100.386-298.592 28.656 90.801c12.731 39.683 20.195 67.798 20.195 91.566m-465.301-14.009c0-109.945 63.89-204.968 156.56-249.989L-497.484-20.212c-15.413-34.543-24.053-72.773-24.053-113.045" style="fill:currentColor;fill-opacity:1;fill-rule:nonzero;stroke:none" transform="translate(743.76 633.268)"></path></g></svg><!--]--></div> <div class="py-2 truncate max-w-full"><span class="text-sm font-medium">WordPress</span></div> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link absolute top-2 right-2 size-3 opacity-0 transition-opacity group-hover:opacity-100"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a>
83<!--]--></div><!----></div></div><!----></div></section><!----> <section class="relative "><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-6"><div class="flex flex-col gap-3 items-center text-center"><div class="font-semibold uppercase text-primary">FAQ</div> <h2 class="text-xl lg:text-2xl font-semibold">Common questions</h2></div> <div class="w-full xl:w-2xl mx-auto"><div class="flex flex-col"><!--[--><details class="group border-b border-neutral-200 dark:border-neutral-700 py-4"><summary class="flex justify-between items-center font-medium cursor-pointer list-none list-image-none [&::-webkit-details-marker]:hidden"><span>What is ALTCHA and how does it work?</span> <span class="transition group-open:rotate-45"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-plus size-4 opacity-50"><!--[--><!----><path d="M5 12h14"><!----></path><!----><!----><path d="M12 5v14"><!----></path><!----><!--]--><!----></svg><!----></span></summary> <div class="prose dark:prose-invert"><p class="text-sm whitespace-pre-line"><!---->A CAPTCHA alternative that verifies visitors with a silent proof-of-work challenge instead of puzzles or image quizzes â no tracking, no cookies, and nothing for real users to solve. See <a href="/docs/how-it-works/" class="underline text-primary font-medium">How ALTCHA Works</a> for a full walkthrough.<!----></p></div></details><details class="group border-b border-neutral-200 dark:border-neutral-700 py-4"><summary class="flex justify-between items-center font-medium cursor-pointer list-none list-image-none [&::-webkit-details-marker]:hidden"><span>Is ALTCHA really free?</span> <span class="transition group-open:rotate-45"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-plus size-4 opacity-50"><!--[--><!----><path d="M5 12h14"><!----></path><!----><!----><path d="M12 5v14"><!----></path><!----><!--]--><!----></svg><!----></span></summary> <div class="prose dark:prose-invert"><p class="text-sm whitespace-pre-line"><!---->Yes â the <a href="/open-source-captcha/" class="underline text-primary font-medium">open-source widget</a> is free forever, with no sign-up, API keys, or usage limits. Paid Cloud and Sentinel plans add hosted analytics and adaptive threat protection for teams that need it.<!----></p></div></details><details class="group border-b border-neutral-200 dark:border-neutral-700 py-4"><summary class="flex justify-between items-center font-medium cursor-pointer list-none list-image-none [&::-webkit-details-marker]:hidden"><span>Is ALTCHA GDPR compliant without a cookie banner?</span> <span class="transition group-open:rotate-45"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-plus size-4 opacity-50"><!--[--><!----><path d="M5 12h14"><!----></path><!----><!----><path d="M12 5v14"><!----></path><!----><!--]--><!----></svg><!----></span></summary> <div class="prose dark:prose-invert"><p class="text-sm whitespace-pre-line"><!---->Yes. ALTCHA sets no cookies, does no fingerprinting, and shares no data with third parties, so there's nothing that requires consent. See our <a href="/legal/compliance/gdpr/" class="underline text-primary font-medium">GDPR compliance page</a> for details.<!----></p></div></details><details class="group border-b border-neutral-200 dark:border-neutral-700 py-4"><summary class="flex justify-between items-center font-medium cursor-pointer list-none list-image-none [&::-webkit-details-marker]:hidden"><span>How hard is it to switch from reCAPTCHA or another CAPTCHA?</span> <span class="transition group-open:rotate-45"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-plus size-4 opacity-50"><!--[--><!----><path d="M5 12h14"><!----></path><!----><!----><path d="M12 5v14"><!----></path><!----><!--]--><!----></svg><!----></span></summary> <div class="prose dark:prose-invert"><p class="text-sm whitespace-pre-line"><!---->Most teams switch in under an hour â the widget is a drop-in replacement, and your existing form-submission flow stays the same. Step-by-step guides are available for <a href="/docs/migration/recaptcha/" class="underline text-primary font-medium">reCAPTCHA</a>, <a href="/docs/migration/hcaptcha/" class="underline text-primary font-medium">hCaptcha</a>, and <a href="/docs/migration/turnstile/" class="underline text-primary font-medium">Cloudflare Turnstile</a>.<!----></p></div></details><!--]--></div><!----></div></div><!----></div></section><!----> <section class="relative bg-linear-to-t to-transparent from-primary/5"><div class="max-w-screen-2xl mx-3 md:mx-6 lg:mx-12 xl:mx-40 2xl:mx-auto"><div class="flex flex-col gap-4 text-center py-24"><div class="flex justify-center"><div class="text-primary size-20"><!----><svg width="80" height="80" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 174 174" fill="none">
83<path fill="currentColor" d="M20.393 142.921c30.942 36.807 85.918 41.608 122.793 10.723 17.798-14.906 28.126-35.402 30.569-56.757l-16.966-6.164c-1.001 18.57-9.41 36.696-24.808 49.593-29.5 24.707-73.48 20.867-98.234-8.579C8.994 102.292 12.84 58.392 42.34 33.685s73.481-20.867 98.234 8.578c7.394 8.796 12.236 18.881 14.605 29.36l18.724 6.802c-1.657-16.851-8.248-33.396-19.975-47.346C122.987-5.728 68.011-10.53 31.136 20.356s-41.684 85.759-10.743 122.565"/><path fill="currentColor" d="M31.136 20.356C14.45 34.332 4.33 53.22 1.116 73.126l16.722 6.389c1.866-17.237 10.147-33.806 24.503-45.83 29.5-24.708 73.481-20.867 98.234 8.578l-20.03 16.776L174 79.463c-1.485-17.21-8.104-34.148-20.071-48.384C122.987-5.728 68.011-10.53 31.136 20.356M61.013 87H43.582c0 24.024 19.51 43.499 43.58 43.499 24.067 0 43.579-19.475 43.579-43.499h-17.432c0 14.415-11.707 26.099-26.148 26.099S61.013 101.415 61.013 87"/></svg><!----></div></div> <div class="flex flex-col gap-3"><h2 class="text-lg lg:text-3xl font-semibold">Ship privacy-first protection today.</h2> <div class="lg:text-lg opacity-80"><p>Free and open source forever. Add Cloud or Sentinel when you're ready to scale.</p></div> <div class="flex justify-center gap-3 pt-6"><a href="/docs/integration/quick-start/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center btn-animated min-w-40 bg-primary hover:bg-transparent hover:text-current hover:dark:bg-primary-dark text-white shadow-sm border border-primary" data-variant="primary"><!---->Get Started<!----></a><!----> <a href="/docs/" class="rounded-lg px-6 py-3 font-semibold inline-flex justify-center items-center btn-animated border border-neutral-200 dark:border-neutral-800" data-variant="outline"><!---->Documentation<!----></a><!----></div></div></div><!----></div></section><!----></main><!--]--><!--]--><!----> <footer><div class="border-t border-neutral-200 dark:border-neutral-800"><div><div class="grid grid-cols-1 col-end-1 xl:grid-cols-5"><div class="xl:col-span-2 flex flex-col gap-4 py-6 xl:py-12 px-3 lg:pr-12 lg:pl-12 xl:pl-40 border-r border-neutral-200 dark:border-neutral-800 bg-neutral-50 dark:bg-neutral-900"><div><span class="font-semibold">ALTCHA®</span> ⢠Dedicated to privacy.</div> <div class="flex flex-col gap-2 text-sm opacity-80"><p>Privacy-first captcha and bot protection. Open-source core, self-hostable.</p></div> <div class="flex gap-3 items-center"><div class="shrink-0 flex items-center justify-center size-10 bg-blue-900 text-amber-300 p-1"><!----><svg width="40" height="40" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path fill="currentColor" d="M256 46.305l-9.404 19.054-21.03 3.056 15.217 14.832-3.592 20.945L256 94.305l18.81 9.888-3.593-20.945 15.217-14.832-21.03-3.057L256 46.304zM167.566 72.63l-9.404 19.056-21.03 3.056 15.218 14.832-3.592 20.946 18.808-9.89 18.81 9.89-3.593-20.946L198 94.742l-21.03-3.056-9.404-19.055zm176.868 0l-9.405 19.056L314 94.742l15.217 14.832-3.592 20.946 18.81-9.89 18.807 9.89-3.592-20.946 15.217-14.832-21.03-3.056-9.403-19.055zm-243.868 67.425l-9.404 19.054-21.03 3.056 15.218 14.832-3.592 20.945 18.808-9.888 18.81 9.888-3.593-20.945L131 162.166l-21.03-3.057-9.404-19.055zm310.868 0l-9.405 19.054-21.03 3.056 15.217 14.832-3.592 20.945 18.81-9.888 18.807 9.888-3.592-20.945 15.217-14.832-21.03-3.057-9.403-19.055zM76.566 228.55l-9.404 19.054-21.03 3.056 15.218 14.832-3.592 20.945 18.808-9.888 18.81 9.887-3.593-20.945L107 250.66l-21.03-3.056-9.404-19.055zm358.868 0l-9.405 19.054L405 250.66l15.217 14.832-3.592 20.945 18.81-9.888 18.807 9.887-3.592-20.945 15.217-14.832-21.03-3.056-9.403-19.055zm-334.868 89.897l-9.404 19.055-21.03 3.057 15.218 14.83-3.592 20.946 18.808-9.89 18.81 9.89-3.593-20.945L131 340.56l-21.03-3.058-9.404-19.055zm310.868 0l-9.405 19.055L381 340.56l15.217 14.83-3.592 20.946 18.81-9.89 18.807 9.89-3.592-20.945 15.217-14.83-21.03-3.058-9.403-19.055zm-243.868 65.746l-9.404 19.055-21.03 3.057 15.218 14.832-3.592 20.945 18.808-9.89 18.81 9.89-3.593-20.945L198 406.305l-21.03-3.057-9.404-19.055zm176.868 0l-9.405 19.055-21.03 3.057 15.217 14.832-3.592 20.945 18.81-9.89 18.807 9.89-3.592-20.945 15.217-14.832-21.03-3.057-9.403-19.055zm-88.61 23.614l-9.404 19.056-21.03 3.055 15.217 14.834-3.59 20.943.385-.203-.035.203L256 455.898l18.633 9.797-.035-.203.386.203-3.59-20.943 15.215-14.834-21.03-3.055-9.404-19.056-.176.355-.176-.355z"></path></svg><!----></div> <div class="text-sm opacity-80"><p>Made and operated in Europe.</p> <p>ALTCHA is a trademark registered in EU.</p></div></div> <div class="border-t border-neutral-200 dark:border-neutral-800 pt-4"><div class="text-sm"><a href="https://github.com/altcha-org" target="_blank" rel="noopener" class="inline-flex gap-2 items-center"><svg width="24" height="24" viewBox="0 0 1024 1024" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8C0 11.54 2.29 14.53 5.47 15.59C5.87 15.66 6.02 15.42 6.02 15.21C6.02 15.02 6.01 14.39 6.01 13.72C4 14.09 3.48 13.23 3.32 12.78C3.23 12.55 2.84 11.84 2.5 11.65C2.22 11.5 1.82 11.13 2.49 11.12C3.12 11.11 3.57 11.7 3.72 11.94C4.44 13.15 5.59 12.81 6.05 12.6C6.12 12.08 6.33 11.73 6.56 11.53C4.78 11.33 2.92
8310.64 2.92 7.58C2.92 6.71 3.23 5.99 3.74 5.43C3.66 5.23 3.38 4.41 3.82 3.31C3.82 3.31 4.49 3.1 6.02 4.13C6.66 3.95 7.34 3.86 8.02 3.86C8.7 3.86 9.38 3.95 10.02 4.13C11.55 3.09 12.22 3.31 12.22 3.31C12.66 4.41 12.38 5.23 12.3 5.43C12.81 5.99 13.12 6.7 13.12 7.58C13.12 10.65 11.25 11.33 9.47 11.53C9.76 11.78 10.01 12.26 10.01 13.01C10.01 14.08 10 14.94 10 15.21C10 15.42 10.15 15.67 10.55 15.59C13.71 14.53 16 11.53 16 8C16 3.58 12.42 0 8 0Z" transform="scale(64)" fill="currentColor"></path></svg><!----> <span class="underline font-medium">github.com/altcha-org</span></a></div></div></div> <div class="col-span-3 flex"><div class="grid grid-cols-2 gap-6 lg:gap-x-16 gap-y-8 p-3 lg:p-12 lg:grid-cols-4"><div class="flex flex-col gap-3"><div class="uppercase opacity-70 text-xs">Language</div> <ul class="flex flex-col gap-1 text-sm" data-sveltekit-reload=""><li><a href="/de/">Deutsch</a></li> <li><a href="/">English</a></li> <li><a href="/es/">Español</a></li> <li><a href="/fr/">Français</a></li> <li><a href="/it/">Italiano</a></li> <li><a href="/pt/">Português</a></li></ul></div> <div class="flex flex-col gap-3"><div class="uppercase opacity-70 text-xs">Company</div> <ul class="flex flex-col gap-1 text-sm"><li><a href="/about/">About Us</a></li> <li><a href="/contact/">Contact</a></li> <li><a href="/legal/privacy/">Privacy Policy</a></li> <li><a href="/legal/terms/">Terms of Service</a></li> <li><a href="/legal/">Legal & Compliance</a></li> <li><a href="/legal/security/">Security</a></li> <li><a href="https://status.altcha.org/" target="_blank" rel="nofollow noopener">Status</a></li></ul></div> <div class="flex flex-col gap-3"><div class="uppercase opacity-70 text-xs">Product</div> <ul class="flex flex-col gap-1 text-sm"><li><a href="/open-source-captcha/">Open Source Captcha</a></li> <li><a href="/docs/integration/widget/">Widget</a></li> <li><a href="/docs/sentinel/">Sentinel</a></li> <li><a href="/docs/cloud/">Cloud</a></li> <li><a href="/docs/wordpress/">Wordpress</a></li> <li><a href="/docs/integration/server/">Integrations</a></li> <li><a href="/pricing/">Pricing</a></li></ul></div> <div class="flex flex-col gap-3"><div class="uppercase opacity-70 text-xs">Developers</div> <ul class="flex flex-col gap-1 text-sm"><li><a href="/docs/">Documentation</a></li> <li><a href="https://playground.altcha.org" target="_blank" rel="noopener">Playground</a></li> <li><a href="/sentinel-api-docs-v1.html" target="_blank" rel="noopener">Sentinel API</a></li> <li><a href="https://github.com/altcha-org" target="_blank" rel="noopener">GitHub</a></li></ul></div></div></div></div></div></div> <div class="border-t border-neutral-200 dark:border-neutral-800 py-6"><div class="max-w-4xl ml-3 xl:ml-40 text-xs">
83© Copyright 2026 Altcha.org, operated by BAU Software s.r.o., Czechia</div></div></footer><!----></div></div> <div id="mobile-menu-popover" popover="auto" class="popover-slide-left fixed top-0 left-0 z-50 hidden h-dvh w-72 flex-col bg-white dark:bg-neutral-950 [&:popover-open]:max-lg:flex [&::backdrop]:bg-black/40"><div class="flex h-12 items-center justify-between border-b border-neutral-200 px-4 dark:border-neutral-800"><span class="text-sm font-semibold text-neutral-900 dark:text-neutral-100">Menu</span> <button popovertarget="mobile-menu-popover" popovertargetaction="hide" class="rounded p-1 text-neutral-400 hover:text-neutral-600 dark:hover:text-neutral-200" aria-label="Close menu"><svg width="20" height="20" class="h-5 w-5" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div> <div class="flex flex-1 flex-col overflow-y-auto"><nav class="border-b border-neutral-200 px-3 py-3 dark:border-neutral-800"><!--[--><a href="/" class="flex items-center rounded-md px-3 py-2 text-sm font-medium transition-colors bg-primary/10 text-primary">About</a><a href="/pricing/" class="flex items-center rounded-md px-3 py-2 text-sm font-medium transition-colors text-neutral-600 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100">Pricing</a><a href="/docs/" class="flex items-center rounded-md px-3 py-2 text-sm font-medium transition-colors text-neutral-600 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100">Guides</a><!--]--></nav> <!--[-1--><!--]--> <nav class="border-t border-neutral-200 px-3 py-3 dark:border-neutral-800"><!--[--><a href="https://cloud.altcha.org" target="_blank" class="flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors text-neutral-600 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"><span class="grow">Cloud</span> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link size-3"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="https://playground.altcha.org" target="_blank" class="flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors text-neutral-600 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"><span class="grow">Playground</span> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link size-3"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a><a href="/sentinel-api-docs-v1.html" target="_blank" class="flex items-center gap-2 rounded-md px-3 py-2 text-sm font-medium transition-colors text-neutral-600 hover:bg-neutral-100 hover:text-neutral-900 dark:text-neutral-400 dark:hover:bg-neutral-800 dark:hover:text-neutral-100"><span class="grow">Sentinel API</span> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-external-link size-3"><!--[--><!----><path d="M15 3h6v6"><!----></path><!----><!----><path d="M10 14 21 3"><!----></path><!----><!----><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"><!----></path><!----><!--]--><!----></svg><!----></a>
83<!--]--></nav></div></div><!----> <div id="search-popover" popover="auto" class="popover-fade fixed left-1/2 top-16 z-50 w-[calc(100%-2rem)] max-w-xl -translate-x-1/2 overflow-hidden rounded-xl bg-white shadow-2xl ring-1 ring-black/5 dark:bg-neutral-900 dark:ring-white/10 [&::backdrop]:bg-black/50 [&::backdrop]:backdrop-blur-sm"><div class="flex items-center gap-3 border-b border-neutral-200 px-4 py-3 dark:border-neutral-700"><!--[-1--><svg width="16" height="16" class="h-4 w-4 shrink-0 text-neutral-400" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z"></path></svg><!--]--> <input type="text" class="flex-1 bg-transparent text-sm outline-none placeholder:text-neutral-400" placeholder="Search documentation..." value="" autofocus=""/> <!--[-1--><!--]--> <button popovertarget="search-popover" popovertargetaction="hide" class="shrink-0 rounded border border-neutral-200 px-1.5 py-0.5 text-xs text-neutral-400 hover:text-neutral-600 dar
83k:border-neutral-700 dark:hover:text-neutral-300">Esc</button></div> <div class="max-h-96 overflow-y-auto p-2" role="listbox" aria-label="Search results"><!--[1--><p class="px-3 py-8 text-center text-sm text-neutral-400">Start typing to search...</p><!--]--></div> <div class="flex items-center justify-between gap-3 border-t border-neutral-200 px-4 py-2 text-xs text-neutral-400 dark:border-neutral-700"><div class="flex items-center gap-3"><span class="flex items-center gap-1"><kbd class="rounded border border-neutral-200 px-1 dark:border-neutral-700">â</kbd> <kbd class="rounded border border-neutral-200 px-1 dark:border-neutral-700">â</kbd> Navigate</span> <span class="flex items-center gap-1"><kbd class="rounded border border-neutral-200 px-1 dark:border-neutral-700">âµ</kbd> Select</span></div> <!--[-1--><!--]--></div></div><!----> <!--[0--><aside id="chat-popover" popover="manual" style="--chat-w: 20rem" class="popover-slide-right fixed top-12 left-[calc(100%-var(--chat-w))] z-30 hidden h-[calc(100vh-3rem)] w-[var(--chat-w)] flex-col border-l border-t border-neutral-200 bg-neutral-50 [&:popover-open]:flex dark:border-neutral-800 dark:bg-neutral-950 shadow-lg"><div class="flex items-center justify-between border-b border-neutral-200 px-4 py-3 bg-neutral-100 dark:border-neutral-800 dark:bg-neutral-950"><div class="flex items-center gap-2"><svg width="14" height="14" class="h-3.5 w-3.5" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z"></path><path d="M20 2v4"></path><path d="M22 4h-4"></path><circle cx="4" cy="20" r="2"></circle></svg> <span class="text-sm font-semibold">Ask AI</span></div> <div class="flex items-center gap-1"><a href="https://altcha.org/llms.txt" target="_blank" rel="noopener noreferrer" class="text-xs opacity-70 underline decoration-dotted underline-offset-2 hover:opacity-100 dark:hover:text-neutral-200">llms.txt</a> <button type="button" aria-label="Copy llms.txt link" class="rounded p-1 opacity-70 hover:opacity-100 dark:hover:text-neutral-200"><!--[-1--><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" class="lucide-icon lucide lucide-copy size-3"><!--[--><!----><rect width="14" height="14" x="8" y="8" rx="2" ry="2"><!----></rect><!----><!----><path d="M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"><!----></path><!----><!--]--><!----></svg><!--]--></button> <button popovertarget="chat-popover" popovertargetaction="hide" class="rounded p-1 opacity-70 hover:opacity-100 dark:hover:text-neutral-200" aria-label="Close"><svg width="16" height="16" class="h-4 w-4" fill="none" viewBox="0 0 24 24" stroke="currentColor"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12"></path></svg></button></div></div> <div class="flex-1 overflow-y-auto scrollbar-none p-4 space-y-4"><!--[--><!--]--></div> <div class="border-t border-neutral-200 p-3 bg-neutral-100 dark:border-neutral-800 dark:bg-neutral-950"><!--[-1--><!--]--> <div class="flex items-center gap-2 rounded-xl border border-neutral-200 bg-white px-2 py-1 dark:border-neutral-700 dark:bg-neutral-800 focus-within:border-primary dark:focus-within:border-primary transition-colors"><textarea placeholder="Ask a question..." rows="1" class="flex-1 resize-none bg-transparent text-sm outline-none placeholder:text-neutral-500 min-h-9 max-h-32 overflow-y-auto py-2"></textarea> <button disabled="" class="shrink-0 self-end rounded-lg bg-primary p-1.5 mb-1 text-white transition-opacity disabled:opacity-40" aria-label="Send"><svg width="16" height="16" class="h-4 w-4" viewBox="0 0 24 24" fill="currentColor"><path d="M2.01 21L23 12 2.01 3 2 10l15 2-15 2z"></path></svg></button></div> <!--[-1--><p class="mt-1.5 text-center text-[0.65rem] opacity-50">AI can make mistakes. Verify important info.</p><!--]--></div></aside><!--]--><!--]--><!--]--><!--]--> <!--[-1--><!--]--><!--]--> 84 85
85<script> 86 { 87 __sveltekit_193emr8 = { 88 base: new URL(".", location).pathname.slice(0, -1), 89 env: null 90 }; 91 92 const element = document.currentScript.parentElement; 93 94 import("./_app/env.js").then(({ env }) => { 95 __sveltekit_193emr8.env = env; 96 97 Promise.all([ 98 import("./_app/immutable/entry/start.BcvH8Hi4.js"), 99 import("./_app/immutable/entry/app.Du80Cu0-.js") 100 ]).then(([kit, app]) => { 101 kit.start(app, element, { 102 node_ids: [0, 4], 103 data: [null,null], 104 form: null, 105 error: null 106 }); 107 }); 108 }); 109 } 110 </script>
110 111 </div> 112 </body> 113</html>
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.