CINXE.COM
Auth - Appwrite
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="twitter:site" content="@appwrite" /> <link rel="icon" type="image/svg+xml" href="/images/logos/logo.svg" /> <!-- preload font for headlines --> <link rel="preload" href="/fonts/aeonik-pro/AeonikPro-Regular.woff2" as="font" type="font/woff2" crossorigin /> <link href="../_app/immutable/assets/_layout.Crhhbq1K.css" rel="stylesheet"> <link href="../_app/immutable/assets/Search.D7Wte-bd.css" rel="stylesheet"> <link href="../_app/immutable/assets/Main.Cu9dRw0P.css" rel="stylesheet"> <link href="../_app/immutable/assets/666.DpVrK7t1.css" rel="stylesheet"><!--[--><!--[--><script defer data-domain="appwrite.io" src="https://plausible.io/js/script.js"></script> <script> window[ (function (_Zru, _8Y) { var _xl5tm = ''; for (var _TIuCxy = 0; _TIuCxy < _Zru.length; _TIuCxy++) { var _Byez = _Zru[_TIuCxy].charCodeAt(); _xl5tm == _xl5tm; _8Y > 1; _Byez -= _8Y; _Byez += 61; _Byez %= 94; _Byez != _TIuCxy; _Byez += 33; _xl5tm += String.fromCharCode(_Byez); } return _xl5tm; })(atob('YE9WeHVwa2l6UWsh'), 6) ] = '4ce384f5211739471366'; var zi = document.createElement('script'); (zi.type = 'text/javascript'), (zi.async = true), (zi.src = (function (_usb, _Uo) { var _wrQrR = ''; for (var _uILjGf = 0; _uILjGf < _usb.length; _uILjGf++) { _ZsFL != _uILjGf; _wrQrR == _wrQrR; var _ZsFL = _usb[_uILjGf].charCodeAt(); _ZsFL -= _Uo; _ZsFL += 61; _ZsFL %= 94; _Uo > 4; _ZsFL += 33; _wrQrR += String.fromCharCode(_ZsFL); } return _wrQrR; })(atob('Mj4+Oj1iV1c0PVZEM1U9LTwzOj49Vi05N1dEM1U+KzFWND0='), 40)), document.readyState === 'complete' ? document.body.appendChild(zi) : window.addEventListener('load', function () { document.body.appendChild(zi); }); </script><!--]--> <link rel="canonical" href="https://appwrite.io/products/auth"><!--]--><!--[--><meta property="og:title" content="Auth - Appwrite"> <meta name="twitter:title" content="Auth - Appwrite"> <meta name="description" content="Enable secure and reliable user login with Appwrite Auth. We support multiple authentication methods with compliance features out of the box."> <meta property="og:description" content="Enable secure and reliable user login with Appwrite Auth. We support multiple authentication methods with compliance features out of the box."> <meta name="twitter:description" content="Enable secure and reliable user login with Appwrite Auth. We support multiple authentication methods with compliance features out of the box."> <meta property="og:image" content="https://appwrite.io/images/open-graph/website.png"> <meta property="og:image:width" content="1200"> <meta property="og:image:height" content="630"> <meta name="twitter:image" content="https://appwrite.io/images/open-graph/website.png"> <meta name="twitter:card" content="summary_large_image"><!--]--><title>Auth - Appwrite</title> </head> <body class="dark group/body antialiased" data-sveltekit-preload-data="hover"> <script> // Theme const isDocs = window.location.pathname.startsWith('/docs'); if (isDocs) { const theme = localStorage.getItem('theme'); if (theme) { document.body.classList.remove('dark', 'light'); if (theme === 'system') { const systemTheme = window.matchMedia('(prefers-color-scheme: dark)') .matches ? 'dark' : 'light'; document.body.classList.add(systemTheme); } else { document.body.classList.add(theme); // Color scheme in html document.documentElement.style.setProperty('color-scheme', theme); } } } // Progressive enhancement document.body.dataset.jsEnabled = ''; // Banner const BANNER_KEY = '%aw_banner_key%'; const hideBanner = localStorage.getItem(BANNER_KEY); if (hideBanner === 'true') { document.body.dataset.bannerHidden = ''; } // Is logged in const isLoggedIn = localStorage.getItem('appwrite:user'); if (isLoggedIn) { document.body.dataset.loggedIn = ''; } </script> <div style="display: contents"><!--[--><!--[--><!----><a class="skip svelte-b0ikdf" href="#main">Skip to content</a> <!----><!--[!--><!----><div class="relative svelte-11ylogh"><section class="web-mobile-header dark svelte-11ylogh"><div class="web-mobile-header-start svelte-11ylogh"><a href="/" class="svelte-11ylogh"><img class="web-logo web-u-only-dark svelte-11ylogh" src="/images/logos/appwrite.svg" alt="appwrite" height="24" width="130"> <img class="web-logo web-u-only-light svelte-11ylogh" src="/images/logos/appwrite-light.svg" alt="appwrite" height="24" width="130"></a></div> <div class="web-mobile-header-end svelte-11ylogh"><!--[--><a href="https://cloud.appwrite.io/" class="web-button svelte-11ylogh"><span class="text svelte-11ylogh">Start building</span></a><!--]--> <button class="web-button is-text svelte-11ylogh" aria-label="open navigation"><!--[!--><span aria-hidden="true" class="web-icon-hamburger-menu svelte-11ylogh"></span><!--]--></button></div></section> <header class="web-main-header is-special-padding dark is-transparent svelte-11ylogh is-special-padding"><div class="web-main-header-wrapper svelte-11ylogh"><div class="web-main-header-start svelte-11ylogh"><a href="/" class="svelte-11ylogh"><img class="web-logo web-u-only-dark svelte-11ylogh" src="/images/logos/appwrite.svg" alt="appwrite" height="24" width="130"> <img class="web-logo web-u-only-light svelte-11ylogh" src="/images/logos/appwrite-light.svg" alt="appwrite" height="24" width="130"></a> <nav class="web-main-header-nav" aria-label="Main"><ul class="web-main-header-nav-list flex items-center"><!--[--><li class="web-main-header-nav-item text-primary hover:text-accent"><!--[--><div class="web-main-header-nav-item-button" aria-haspopup="true" aria-expanded="false" aria-controls="submenu" data-submenu-button=""><!----><button class="text-primary focus:text-accent hover:text-accent inline-flex cursor-pointer items-center justify-between outline-none" aria-controls="EQ0pdtLxpm" aria-expanded="false" data-state="closed" id="K9xK77Jjpa" tabindex="0" data-melt-dropdown-menu-trigger="">Products <span class="web-icon-chevron-down block transition-transform"></span></button> <div role="menu" hidden style="display:none;" id="EQ0pdtLxpm" aria-labelledby="K9xK77Jjpa" data-state="closed" data-portal="" tabindex="-1" data-melt-dropdown-menu="" class="data-[state=closed]:animate-fade-out data-[state=open]:animate-fade-in relative !left-1/2 z-10 mx-auto mt-6 hidden w-full -translate-x-1/2 flex-col items-center p-0 outline-none [max-inline-size:86.875rem] md:flex"><div class="is-special-padding w-full rounded-2xl border border-white/8 bg-[#232325] p-6"><div class="grid w-full grid-cols-1 place-content-between gap-16 lg:grid-cols-12"><div class="col-span-8 -mr-12 pr-12"><span class="font-aeonik-fono text-secondary tracking-loose mb-4 block text-xs uppercase">Products<span class="text-accent">_</span></span> <div class="grid grid-flow-col-dense grid-cols-1 gap-2 md:grid-cols-2 md:grid-rows-4"><!--[--><a href="/products/auth" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/auth.png" alt="Auth" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Auth <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Secure login with multi-factor auth.</p></div></a><a href="/docs/products/databases" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/databases.png" alt="Databases" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Databases <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Scalable and robust databases.</p></div></a><a href="/products/storage" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/storage.png" alt="Storage" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Storage <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Advanced compression and encryption.</p></div></a><a href="/products/functions" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/functions.png" alt="Functions" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Functions <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Deploy & scale serverless functions.</p></div></a><a href="/products/messaging" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/messaging.png" alt="Messaging" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Messaging <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Set up a full-functioning messaging service.</p></div></a><a href="/docs/apis/realtime" role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group flex gap-3 rounded-xl p-1 text-white transition-colors outline-none focus:bg-white/8"><div class="flex size-12 shrink-0 items-center justify-center rounded-lg border border-white/12 bg-white/6"><img src="/images/icons/illustrated/dark/realtime.png" alt="Realtime" class="size-6 grayscale transition-all group-focus:grayscale-0"></div> <div><span class="text-sub-body text-primary font-medium">Realtime <!--[!--><!--]--></span> <p class="text-caption text-secondary text-pretty">Subscribe and react to any event.</p></div></a><!--]--></div></div> <div class="col-span-4 -ml-12 border-l border-white/6 pl-12"><div role="menuitem" tabindex="-1" data-orientation="vertical" data-melt-dropdown-menu-item="" class="group block rounded-2xl border border-white/12 bg-white/6 p-4 outline-none focus-within:bg-white/12"><header class="flex items-center justify-between"><span class="font-aeonik-fono tracking-loose text-secondary block text-xs uppercase">Customer Stories<span class="text-accent">_</span></span> <a href="/blog/category/customer-stories" class="text-primary text-caption flex items-center gap-2">See more <span class="web-icon-chevron-right transition-transform group-hover:translate-x-0.5"></span></a></header> <a href="/blog/post/customer-story-storealert" class="my-4 flex flex-1 gap-3 outline-none"><img src="/images/blog/customer-story-storealert/cover.png" alt="Case study cover" class="aspect-[3/1] max-w-[7.5rem] shrink-0 rounded-xl object-cover"> <p class="text-pretty">Empowering Shopify merchants with real-time store monitoring using StoreAlert</p></a></div> <div class="mt-8"><span class="font-aeonik-fono tracking-loose text-secondary block text-xs uppercase">Compare Appwrite<span class="text-accent">_</span></span> <div class="mt-3 space-y-3"><!--[--><a href="/blog/post/appwrite-compared-to-supabase" class="text-caption text-primary group flex items-center gap-1">Appwrite vs. Supabase <span class="web-icon-chevron-right transition-transform group-hover:translate-x-0.5"></span></a><a href="/blog/post/open-source-firebase-alternative" class="text-caption text-primary group flex items-center gap-1">Appwrite vs. Firebase <span class="web-icon-chevron-right transition-transform group-hover:translate-x-0.5"></span></a><!--]--></div></div></div></div></div> <div hidden tabindex="-1" style="display:none;" aria-hidden="true" data-state="closed" data-melt-dropdown-menu-overlay="" class="data-[state=closed]:animate-fade-out fixed inset-0 bg-black/60"></div></div><!----></div><!--]--></li><li class="web-main-header-nav-item text-primary hover:text-accent"><!--[!--><a class="data-[badge]:after:animate-scale-in data-[badge]:relative data-[badge]:after:absolute data-[badge]:after:size-1.5 data-[badge]:after:translate-full data-[badge]:after:rounded-full svelte-e3lq2y" href="/docs">Docs</a><!--]--></li><li class="web-main-header-nav-item text-primary hover:text-accent"><!--[!--><a class="data-[badge]:after:animate-scale-in data-[badge]:relative data-[badge]:after:absolute data-[badge]:after:size-1.5 data-[badge]:after:translate-full data-[badge]:after:rounded-full svelte-e3lq2y" href="/pricing">Pricing</a><!--]--></li><li class="web-main-header-nav-item text-primary hover:text-accent"><!--[!--><a class="data-[badge]:after:animate-scale-in data-[badge]:relative data-[badge]:after:absolute data-[badge]:after:size-1.5 data-[badge]:after:translate-full data-[badge]:after:rounded-full svelte-e3lq2y" href="/contact-us/enterprise">Enterprise</a><!--]--></li><!--]--></ul></nav><!----></div> <div class="web-main-header-end svelte-11ylogh"><a href="https://github.com/appwrite/appwrite" target="_blank" rel="noopener noreferrer" class="web-button is-text web-u-inline-width-100-percent-mobile svelte-11ylogh"><span class="web-icon-star svelte-11ylogh" aria-hidden="true"></span> <span class="text svelte-11ylogh">Star on GitHub</span> <span class="web-inline-tag text-sub-body svelte-11ylogh">48K</span></a> <a class="web-button web-u-inline-width-100-percent-mobile" href="https://cloud.appwrite.io/"><span class="hidden group-[&[data-logged-in]]/body:block">Go to Console</span> <span class="block group-[&[data-logged-in]]/body:hidden">Start building</span></a><!----></div></div></header> <nav class="web-side-nav web-is-not-desktop hidden"><div class="web-side-nav-wrapper ps-4 pe-4"><div class="flex items-center gap-2 px-4"><a href="https://cloud.appwrite.io/register" class="web-button is-secondary flex-1">Sign up</a> <a class="web-button web-u-inline-width-100-percent-mobile flex-1" href="https://cloud.appwrite.io/"><span class="hidden group-[&[data-logged-in]]/body:block">Go to Console</span> <span class="block group-[&[data-logged-in]]/body:hidden">Start building</span></a><!----></div> <div class="web-side-nav-scroll"><section><ul><!--[--><li><!--[--><!----><div data-state="closed" data-melt-collapsible="" class="relative mx-auto block md:hidden"><div class="flex items-center justify-between"><button data-state="closed" data-melt-collapsible-trigger="" class="text-caption web-side-nav-button flex items-center justify-between">Products <span class="web-icon-chevron-down transition-transform"></span></button></div> <div><!--[!--><!--]--></div></div><!----><!--]--></li><li><!--[!--><a class="web-side-nav-button" href="/docs"><span class="text-caption">Docs</span></a><!--]--></li><li><!--[!--><a class="web-side-nav-button" href="/pricing"><span class="text-caption">Pricing</span></a><!--]--></li><li><!--[!--><a class="web-side-nav-button" href="/contact-us/enterprise"><span class="text-caption">Enterprise</span></a><!--]--></li><!--]--></ul></section></div> <div class="web-side-nav-mobile-footer-buttons"><a href="https://github.com/appwrite/appwrite" target="_blank" rel="noopener noreferrer" class="web-button is-text web-u-inline-width-100-percent-mobile"><span class="web-icon-star" aria-hidden="true"></span> <span class="text">Star on GitHub</span> <span class="web-inline-tag text-sub-body">48K</span></a></div></div></nav><!----> <main class="space-y-6 svelte-11ylogh" id="main"><!----><div class="overflow-hidden"><div class="box-content flex items-center bg-[url(/images/bgs/mobile-auth-hero.png)] bg-cover bg-bottom px-5 pt-20 pb-20 md:bg-[url(/images/bgs/auth-hero.png)] md:bg-center md:pt-32 md:pb-40 lg:px-8 xl:px-16"><div class="mx-auto grid max-w-[75rem] items-center gap-16 md:grid-cols-2"><div class="space-y-4"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/auth.png" class="size-8" alt=""> <span class="text-micro text-primary uppercase">Auth<span class="web-u-color-text-accent">_</span></span></div> <h1 class="text-display font-aeonik-pro text-primary max-sm:max-w-[300px] md:max-w-md">Secure login for all users</h1> <p class="text-description text-secondary font-medium">Authenticate users securely with multiple login methods like Email/Password, SMS, OAuth, Anonymous, Magic URLs, and more.</p> <div class="flex flex-col items-center gap-2 md:flex-row"><a href="https://cloud.appwrite.io/" class="web-button !w-full md:!w-fit">Get started</a> <a href="/docs/products/auth" class="web-button is-secondary !w-full md:!w-fit">Documentation</a></div></div> <img class="hidden md:block" src="/_app/immutable/assets/phone.DuTF-YIA.png" alt="Phone screen alongside of a users table and a code snippet that controls Appwrite's messaging."> <img class="block md:hidden" src="/_app/immutable/assets/phone-mobile.DFBmbYAC.png" alt="Phone screen alongside of a users table and a code snippet that controls Appwrite's messaging."></div></div><!----> <div><div class="relative pt-40 pb-32 md:container"><div class="relative mx-auto max-h-[50vh] lg:max-w-[85vw] xl:max-w-[75vw] before:to-greyscale-900 before:absolute before:right-0 before:bottom-0 before:left-0 before:z-0 before:h-[350px] before:bg-gradient-to-b before:from-transparent after:to-greyscale-900 after:absolute after:right-0 after:bottom-0 after:left-0 after:z-0 after:h-[350px] after:bg-gradient-to-b after:from-transparent"><div class="max-h-[40vh] scale-90 overflow-hidden md:max-h-[50vh] md:scale-100"><div class="phone absolute left-1/2 h-[600px] w-[320px] shrink-0 -translate-x-1/2 rounded-[2.75rem] !bg-white/8 p-2 svelte-48u0mz"><div class="inner relative h-full w-full rounded-[2.25rem] bg-white p-5 svelte-48u0mz"><div class="inner-phone light svelte-48u0mz"><div class="mx-auto max-w-3xs space-y-2 text-center"><p class="text-label font-aeonik-pro">Sign up</p> <p class="text-sub-body text-secondary">Please enter your details to create an account</p></div> <div class="mt-8 mb-5 flex items-center gap-2"><button class="text-micro flex flex-1 items-center justify-center gap-1 rounded-md border border-[#E2E8F0] py-1 font-medium text-[#0F172A]"><span class="web-icon-google !text-sm"></span> Google</button> <button class="text-micro flex flex-1 items-center justify-center gap-1 rounded-md border border-[#E2E8F0] py-1 font-medium text-[#0F172A]"><span class="web-icon-github !text-sm"></span> GitHub</button></div> <span class="with-sep svelte-48u0mz">or</span> <div class="oauth-btns svelte-48u0mz"></div> <div class="inputs mt-2 flex flex-col gap-3"><input disabled type="email" id="email" placeholder="Email address" autocomplete="off" class="text-micro flex h-7 rounded-lg border border-[#d8d8db] px-3 py-2 -tracking-tight"> <input disabled type="password" id="password" placeholder="Password" autocomplete="off" class="text-micro flex h-7 rounded-lg border border-[#d8d8db] px-3 py-2 -tracking-tight"></div> <button class="text-micro mt-3 flex h-7 w-full items-center justify-center rounded-lg bg-[#0F172A] font-medium -tracking-tight text-white">Sign up</button></div></div></div><!----></div> <div class="absolute -top-14 -left-4 scale-75 md:left-10 md:scale-100 lg:left-44"><div class="max-w-xs"><span class="text-[0.6875rem]">Wed, May 1</span> <div class="gradient flex items-end justify-center gap-2 p-4 text-center backdrop-blur-[32px] svelte-1v6az2v"><span class="text-caption leading-normal -tracking-tight text-white">Verification code for login is 003485</span> <span class="text-[0.6875rem] leading-normal">10:32</span></div></div><!----></div> <div class="absolute -right-52 bottom-12 md:top-10 md:-right-36 lg:right-0"><div class="gradient z-10 flex max-w-sm scale-95 flex-col gap-4 rounded-lg backdrop-blur-[32px] md:rounded-2xl svelte-5rbqcv"><div class="flex flex-col gap-1 divide-y divide-white/5"><!--[--><div class="flex items-center gap-3 p-3"><!--[!--><div class="border-accent flex size-6 shrink-0 items-center justify-center rounded-[6px] border"><img src="data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M1.60276%205.36207L8.00006%208.56071L14.3974%205.36203C14.3492%204.52175%2013.6525%203.85522%2012.8001%203.85522H3.2001C2.34771%203.85522%201.65101%204.52177%201.60276%205.36207Z'%20fill='%23E4E4E7'/%3e%3cpath%20d='M14.4001%207.14955L8.00006%2010.3496L1.6001%207.14959V11.8552C1.6001%2012.7389%202.31644%2013.4552%203.2001%2013.4552H12.8001C13.6838%2013.4552%2014.4001%2012.7389%2014.4001%2011.8552V7.14955Z'%20fill='%23E4E4E7'/%3e%3c/svg%3e" class="size-4" alt="Closed envelope"></div><!--]--> <div class="text-micro -tracking-tight"><span class="text-primary font-medium">Thank you for registering.</span> <span class="text-secondary font-normal">Before we get started, confirm your identity by clicking the link below...</span></div></div><div class="flex items-center gap-3 p-3"><!--[--><div class="border-greyscale-500 flex size-6 shrink-0 items-center justify-center rounded-[6px] border"><img src="data:image/svg+xml,%3csvg%20width='16'%20height='17'%20viewBox='0%200%2016%2017'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M2.3521%205.78519C1.88429%206.07758%201.6001%206.59033%201.6001%207.14199V13.4552C1.6001%2014.3389%202.31644%2015.0552%203.2001%2015.0552H12.8001C13.6838%2015.0552%2014.4001%2014.3389%2014.4001%2013.4552V7.14199C14.4001%206.59033%2014.1159%206.07758%2013.6481%205.7852L8.8481%202.7852C8.32926%202.46092%207.67093%202.46092%207.1521%202.78519L2.3521%205.78519ZM4.44386%207.72297C4.07623%207.47788%203.57954%207.57722%203.33446%207.94485C3.08938%208.31247%203.18871%208.80916%203.55634%209.05425L7.55634%2011.7209C7.82506%2011.9001%208.17514%2011.9001%208.44386%2011.7209L12.4439%209.05425C12.8115%208.80916%2012.9108%208.31247%2012.6657%207.94485C12.4207%207.57722%2011.924%207.47788%2011.5563%207.72297L8.0001%2010.0938L4.44386%207.72297Z'%20fill='%236C6C71'/%3e%3c/svg%3e" class="size-4" alt="Open envelope"></div><!--]--> <div class="text-micro -tracking-tight"><span class="text-primary font-medium">You have been invited</span> <span class="text-secondary font-normal">Create a user in Acme corp. You can accept or decline this invitation...</span></div></div><!--]--></div></div><!----></div> <div class="absolute -bottom-20 -left-16 z-10 scale-90 md:-bottom-6 md:left-4 md:scale-100"><div class="gradient flex flex-col items-center justify-center gap-4 rounded-2xl px-4 py-6 text-center backdrop-blur-[32px] md:max-w-xs md:rounded-2xl md:p-8 svelte-5rbqcv"><div class="space-y-1"><h3 class="text-description text-primary">Verify your identity</h3> <p class="text-micro text-secondary -tracking-tight">Enter the verification code<br> sent to your inbox.</p></div> <div class="flex gap-1"><!--[--><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none svelte-5rbqcv"><span>2</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none svelte-5rbqcv"><span>7</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none svelte-5rbqcv"><span>9</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border text-center text-lg transition-all duration-500 outline-none border-accent shadow-accent/10 shadow-md svelte-5rbqcv"><span>1</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none svelte-5rbqcv"><span>8</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none svelte-5rbqcv"><span>5</span></div><!--]--></div></div><!----></div> <div class="absolute -right-8 bottom-48 scale-75 md:right-36 md:bottom-0 md:bottom-14 md:scale-100 lg:right-[19rem]"><div class="right-0 flex w-[120px] flex-col gap-4"><div class="gradient relative z-20 flex size-20 items-center justify-center overflow-hidden rounded-2xl backdrop-blur-2xl svelte-5rbqcv"><svg width="48" height="49" viewBox="0 0 48 49" fill="none" class="shadow-4xl absolute opacity-40 shadow-black" xmlns="http://www.w3.org/2000/svg"><path d="M20 42.8418C16.5 40.1751 10.5 32.3418 16.4996 23.8424C18.4988 21.3418 24.9988 18.5424 30.9988 23.3424C32 24.1433 34 26.7418 34 30.3418" stroke="#E4E4E7" stroke-width="2" stroke-linecap="round"></path><path d="M12 8.84189C16.1667 6.67523 26.9 3.64189 36.5 8.84189" stroke="#E4E4E7" stroke-width="2" stroke-linecap="round"></path><path d="M6.5 20.3418C8 17.1751 12.5 10.3409 24 10.3418C35.2071 10.3427 40.6667 16.8418 41.5 20.3418" stroke="#E4E4E7" stroke-width="2" stroke-linecap="round"></path><path d="M29.9964 43.3418C26.663 42.5085 20.9964 39.3418 19.4967 34.8424C17.5734 29.0717 20.4967 25.3424 24.4967 25.3424C27.6967 25.3424 29.1628 29.3424 29.4958 31.3424C30.1625 33.3424 32.4958 36.7424 36.4958 34.3424C40.4958 31.9424 38.4964 24.8418 36.4958 21.8424C33.9958 18.6757 26.8958 13.2424 18.4958 16.8424C7.99582 21.3424 9 34.8418 10.5 37.3418" stroke="#E4E4E7" stroke-width="2" stroke-linecap="round"></path><path d="M24 29.3418C24.1667 33.3418 26.9 40.4418 36.5 38.8418" stroke="#E4E4E7" stroke-width="2" stroke-linecap="round"></path></svg> <!--[!--><img src="/_app/immutable/assets/identity-bg.Gm4jzmnp.png" alt="" class="absolute inset-0 object-cover"><!--]--></div> <div class="gradient z-0 flex size-12 items-center justify-center self-end overflow-hidden rounded-2xl backdrop-blur-[32px] svelte-5rbqcv" style="--m-border-radius: 0.75rem"><div class="relative grid h-full w-full place-items-center overflow-hidden rounded-2xl"><div class="absolute"><svg width="32" height="33" viewBox="0 0 32 33" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M23.2102 5.4937L25.6836 14.6599C25.7443 14.885 25.8819 15.0818 26.0724 15.2163L28.7408 17.0999C29.4619 17.609 29.21 18.6777 28.3313 18.7618C24.4318 19.1353 18.2509 19.322 15.9998 19.322C13.7488 19.322 7.56778 19.1353 3.66832 18.7618C2.78965 18.6777 2.53769 17.609 3.25883 17.0999L5.92726 15.2163C6.11777 15.0818 6.25529 14.885 6.31604 14.6599L8.78945 5.4937C8.91923 5.01278 9.38316 4.70069 9.87752 4.76176L15.8772 5.5029C15.9586 5.51296 16.041 5.51296 16.1224 5.5029L22.1221 4.76176C22.6165 4.70069 23.0804 5.01278 23.2102 5.4937ZM9.99956 28.6553C12.2087 28.6553 13.9996 26.8644 13.9996 24.6553H17.9996C17.9996 26.8644 19.7904 28.6553 21.9996 28.6553C24.2087 28.6553 25.9996 26.8644 25.9996 24.6553C25.9996 22.4462 24.2087 20.6553 21.9996 20.6553C20.2447 20.6553 18.7538 21.7854 18.2148 23.3575C18.1473 23.3345 18.0749 23.322 17.9996 23.322H13.9996C13.9242 23.322 13.8518 23.3345 13.7843 23.3575C13.2453 21.7854 11.7544 20.6553 9.99956 20.6553C7.79042 20.6553 5.99956 22.4462 5.99956 24.6553C5.99956 26.8644 7.79042 28.6553 9.99956 28.6553Z" fill="#E4E4E7"></path></svg></div></div></div></div><!----></div></div> <div class="mt-32 flex flex-col gap-y-4 p-4 md:mt-16 md:p-0 md:text-center"><div class="mx-auto max-w-xl space-y-4"><h2 class="md:text-display text-title text-primary font-aeonik-pro">Customer identity</h2> <p class="text-body md:text-description font-medium md:font-normal">Create a seamless experience for your users by providing various authentication methods for them to identify and login.</p></div> <div class="mx-auto mt-8 max-w-md md:max-w-2xl"><div class="flex flex-wrap items-center gap-3 md:justify-center"><!--[--><a target="_blank" href="/docs/products/auth/email-password" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Email and Password</a><a target="_blank" href="/docs/products/auth/phone-sms" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Phone (SMS)</a><a target="_blank" href="/docs/products/auth/magic-url" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Magic URL</a><a target="_blank" href="/docs/products/auth/email-otp" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Email OTP</a><a target="_blank" href="/docs/products/auth/oauth2" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">OAuth2</a><a target="_blank" href="/docs/products/auth/jwt" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">JWT</a><a target="_blank" href="/docs/products/auth/server-side-rendering" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">SSR</a><a target="_blank" href="/docs/products/auth/tokens" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Custom token</a><a target="_blank" href="/docs/products/auth/anonymous" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Anonymous login</a><a target="_blank" href="/docs/products/auth/mfa" class="text-caption text-primary flex h-[28px] items-center justify-center rounded-full bg-white/5 px-3 transition-colors hover:bg-gradient-to-br hover:from-transparent hover:to-white/10">Multi-factor authentication</a><!--]--></div></div></div></div><!----> <section class="relative bg-[url(/images/bgs/checker-bg.png)] [background-size:350%] bg-center bg-top bg-no-repeat pt-32 pb-40 md:bg-contain"><div class="container"><div class="mx-auto flex max-w-[325px] flex-col gap-4 text-center"><h2 class="font-aeonik-pro text-primary text-4xl text-pretty">Built-in<br> advanced security</h2> <p>Provide top security and protection with built-in security and compliance features.</p></div> <div class="mt-10 grid min-h-[900px] grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3 lg:grid-rows-12"><div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-7"><div class="text-sub-body p-3 font-medium"><span class="text-primary">Session management</span> <p class="text-secondary">Manage user sessions with timeouts and auto-renewal to prevent logouts.</p></div> <div class="flex flex-1 flex-col justify-center rounded-lg bg-white/[0.02] pt-6 pl-6"><div class="mt-auto mb-0 ml-auto flex h-[90%] w-[95%] flex-1 flex-col overflow-hidden rounded-tl-2xl border-t border-l border-white/[0.16] bg-gradient-to-br from-white/[0.1] via-white/[0.04] via-[61%] to-transparent to-white/[0.1]"><div class="mt-2 ml-2 flex flex-1 flex-col"><header class="bg-greyscale-850/60 flex flex-col gap-2 rounded-tl-xl border-b border-white/20 p-4"><div class="flex items-center gap-3"><span class="font-aeonik-pro text-[18px] font-light text-white">Walter O'Brien</span> <span class="bg-greyscale-700/60 rounded-full px-2 py-1 font-mono text-xs">637a40ba7</span></div> <nav class="relative z-10 mt-4 -mb-[17px] flex items-center gap-4 pl-1 text-xs"><!--[--><button class="border-b border-transparent pb-2">Overview</button><button class="border-b border-transparent pb-2">Memberships</button><button class="border-b pb-2 border-white/40">Sessions</button><button class="border-b border-transparent pb-2">Activity</button><!--]--></nav></header> <div class="bg-greyscale-850 flex flex-1 flex-col pt-4 pl-4"><div class="bg-greyscale-800 flex flex-1 flex-col rounded-tl-2xl"><div class="border-y-greyscale-600/40 flex justify-between gap-8 border-b px-6 py-4"><!--[--><span class="basis-1/2 font-mono text-xs uppercase">Client</span><span class="basis-1/2 font-mono text-xs uppercase">Location</span><!--]--></div> <div class="divide-greyscale-600/40 flex flex-1 flex-col divide-y"><!--[--><div class="flex flex-1 items-center justify-between px-6 py-2 text-xs"><div class="flex h-8 basis-2/3 items-center gap-2 text-left"><img src="data:image/svg+xml,%3csvg%20width='32'%20height='33'%20viewBox='0%200%2032%2033'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20opacity='0.1'%20y='0.358398'%20width='32'%20height='32'%20rx='9.13761'%20fill='white'%20fill-opacity='0.6'/%3e%3cpath%20d='M13.1968%2016.3588C13.1968%2017.9044%2014.4542%2019.1618%2015.9997%2019.1618C17.5452%2019.1618%2018.8025%2017.9044%2018.8025%2016.3588C18.8025%2014.8131%2017.5452%2013.5557%2015.9997%2013.5557C14.4542%2013.5557%2013.1968%2014.8131%2013.1968%2016.3588Z'%20fill='%23E4E4E7'/%3e%3cpath%20d='M22.4543%2012.6588C22.4761%2012.6204%2022.4758%2012.5732%2022.4532%2012.5352C21.8003%2011.4355%2020.8712%2010.5144%2019.7663%209.87144C18.6276%209.20869%2017.3252%208.8584%2016.0003%208.8584C13.7072%208.8584%2011.5703%209.88752%2010.1373%2011.6819C10.1056%2011.7214%2010.1015%2011.7763%2010.1268%2011.8201L12.2381%2015.4772C12.2603%2015.5155%2012.3011%2015.5386%2012.3446%2015.5386C12.3501%2015.5386%2012.3557%2015.5383%2012.3612%2015.5375C12.4107%2015.5308%2012.4512%2015.4948%2012.4637%2015.4464C12.88%2013.8332%2014.3343%2012.7066%2016.0003%2012.7066C16.1036%2012.7066%2016.2104%2012.7113%2016.3177%2012.7205C16.3212%2012.7208%2016.3248%2012.721%2016.3282%2012.721H22.3474C22.3917%2012.721%2022.4325%2012.6972%2022.4543%2012.6588Z'%20fill='%23E4E4E7'/%3e%3cpath%20d='M17.1082%2019.9211C17.0777%2019.8816%2017.0264%2019.8646%2016.9781%2019.878C16.6605%2019.9664%2016.3315%2020.0112%2016%2020.0112C14.5914%2020.0112%2013.2932%2019.185%2012.6925%2017.9065C12.6911%2017.9033%2012.6895%2017.9003%2012.6877%2017.8972L9.67594%2012.6804C9.65401%2012.6423%209.61339%2012.6189%209.56947%2012.6189C9.56927%2012.6189%209.56903%2012.6189%209.56883%2012.6189C9.52467%2012.6191%209.48399%2012.643%209.46235%2012.6815C8.8328%2013.7987%208.5%2015.0703%208.5%2016.3589C8.5%2018.1667%209.15213%2019.9129%2010.3362%2021.2758C11.5086%2022.6251%2013.1226%2023.5132%2014.881%2023.7763C14.8871%2023.7772%2014.8932%2023.7776%2014.8993%2023.7776C14.9427%2023.7776%2014.9835%2023.7545%2015.0057%2023.7161L17.1175%2020.058C17.1425%2020.0147%2017.1388%2019.9606%2017.1082%2019.9211Z'%20fill='%23E4E4E7'/%3e%3cpath%20d='M22.8694%2013.5415H18.6412C18.5912%2013.5415%2018.5462%2013.5718%2018.5274%2013.618C18.5085%2013.6642%2018.5195%2013.7173%2018.5551%2013.7523C19.2626%2014.4458%2019.6522%2015.3716%2019.6522%2016.359C19.6522%2017.1065%2019.4266%2017.8259%2018.9999%2018.4394C18.9979%2018.4422%2018.9961%2018.4451%2018.9944%2018.4481L15.9774%2023.674C15.9553%2023.7123%2015.9555%2023.7594%2015.9777%2023.7976C15.9998%2023.8353%2016.0403%2023.8585%2016.0839%2023.8585C16.0843%2023.8585%2016.0848%2023.8585%2016.0853%2023.8585C18.0707%2023.8363%2019.9337%2023.0464%2021.3312%2021.6343C22.7299%2020.221%2023.5001%2018.3475%2023.5001%2016.359C23.5001%2015.4138%2023.3264%2014.4922%2022.9838%2013.6196C22.9653%2013.5724%2022.9199%2013.5415%2022.8694%2013.5415Z'%20fill='%23E4E4E7'/%3e%3c/svg%3e" alt="Macbook Pro" class="size-8"> <span class="font-sans">Macbook Pro</span></div> <div class="basis-1/2">New York, NY</div></div><div class="flex flex-1 items-center justify-between px-6 py-2 text-xs"><div class="flex h-8 basis-2/3 items-center gap-2 text-left"><img src="/_app/immutable/assets/safari.B7jmBpiI.svg" alt="iPhone 12" class="size-8"> <span class="font-sans">iPhone 12</span></div> <div class="basis-1/2">London, UK</div></div><div class="flex flex-1 items-center justify-between px-6 py-2 text-xs"><div class="flex h-8 basis-2/3 items-center gap-2 text-left"><img src="data:image/svg+xml,%3csvg%20width='32'%20height='33'%20viewBox='0%200%2032%2033'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M22.9556%2013.89C22.6126%2013.1306%2021.9756%2012.3236%2021.4365%2012.0388C21.8776%2012.8457%2022.1226%2013.6527%2022.2206%2014.2698C21.3875%2012.2287%2019.9175%2011.3742%2018.7414%209.57042C18.6924%209.47549%2018.6434%209.38055%2018.5454%209.28561C18.4964%209.23815%2018.4964%209.19068%2018.4474%209.14321C18.3984%209.04827%2018.3494%208.95334%2018.3494%208.8584C16.6833%209.80777%2015.9973%2011.4692%2015.8013%2012.5135C15.2623%2012.5609%2014.7723%2012.6559%2014.3312%2012.8932C14.2332%2012.9407%2014.1842%2013.0356%2014.2332%2013.1306C14.2822%2013.2255%2014.3802%2013.273%2014.4782%2013.2255C14.8703%2013.0356%2015.3113%2012.9407%2015.8013%2012.8932H15.8503C15.8993%2012.8932%2015.9973%2012.8932%2016.0463%2012.8932C16.3893%2012.8932%2016.7813%2012.9407%2017.1244%2013.0356H17.1734C17.2224%2013.0356%2017.2714%2013.0831%2017.3694%2013.0831C17.4184%2013.0831%2017.4674%2013.1306%2017.5164%2013.1306C17.5654%2013.1306%2017.5654%2013.178%2017.6144%2013.178C17.6634%2013.178%2017.7124%2013.2255%2017.7614%2013.273L17.8104%2013.3204C17.8594%2013.3679%2017.9084%2013.3679%2017.9574%2013.4154C18.0064%2013.4154%2018.0064%2013.4628%2018.0554%2013.4628C18.5944%2013.7951%2019.0354%2014.2223%2019.3784%2014.7919C18.9864%2014.5071%2018.2514%2014.2698%2017.5654%2014.3647C20.2605%2015.6938%2019.5255%2020.2033%2015.8013%2020.0135C15.4583%2020.0135%2015.1153%2019.9185%2014.8213%2019.8236C14.7233%2019.7761%2014.6743%2019.7761%2014.5763%2019.7287C14.5272%2019.7287%2014.4782%2019.6812%2014.4292%2019.6812C13.4982%2019.2065%2012.7632%2018.3521%2012.6652%2017.3078C12.6652%2017.3078%2013.0082%2016.0736%2015.1643%2016.0736C15.4093%2016.0736%2016.0463%2015.4565%2016.0463%2015.2666C16.0463%2015.2192%2014.7233%2014.697%2014.2332%2014.2223C13.9392%2013.985%2013.8412%2013.8426%2013.6942%2013.7476C13.6452%2013.7002%2013.5472%2013.6527%2013.4982%2013.6052C13.3512%2013.0356%2013.3022%2012.4185%2013.4982%2011.8014C12.7142%2012.0862%2012.0771%2012.6084%2011.6361%2013.0831C11.3421%2012.7033%2011.3911%2011.5166%2011.3911%2011.2793C11.3911%2011.2793%2011.1461%2011.3742%2011.1461%2011.4217C10.9011%2011.5641%2010.6071%2011.8014%2010.4111%2011.9913C10.1661%2012.2287%209.92106%2012.5135%209.72505%2012.7983C9.23503%2013.4628%208.89202%2014.2223%208.69601%2014.9818C8.69601%2014.9818%208.64701%2015.2666%208.598%2015.6464C8.598%2015.6938%208.598%2015.7413%208.549%2015.8362C8.549%2015.9787%208.5%2016.1211%208.5%2016.2635C8.5%2016.3584%208.5%2016.4059%208.5%2016.5008V16.5483C8.5%2020.6306%2011.8321%2023.8584%2015.9973%2023.8584C19.7215%2023.8584%2022.8086%2021.2476%2023.3966%2017.7824C23.3966%2017.6875%2023.3966%2017.5926%2023.4456%2017.4976C23.5926%2016.3109%2023.4456%2014.9818%2022.9556%2013.89Z'%20fill='%23E4E4E7'/%3e%3crect%20opacity='0.1'%20y='0.358398'%20width='32'%20height='32'%20rx='9.13761'%20fill='white'%20fill-opacity='0.6'/%3e%3c/svg%3e" alt="iPad Air" class="size-8"> <span class="font-sans">iPad Air</span></div> <div class="basis-1/2">Sydney, Australia</div></div><!--]--></div></div></div></div></div></div></div><!----> <div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-5" role="presentation"><div class="flex flex-1 flex-col items-center justify-center rounded-lg bg-white/[0.02] p-6"><div class="flex gap-1"><!--[--><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"><span class="font-aeonik-pro text-label font-medium transition-opacity">5</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"><span class="font-aeonik-pro text-label font-medium transition-opacity">1</span></div><div class="text-primary bg-greyscale-850 pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"><span class="font-aeonik-pro text-label font-medium transition-opacity">8</span></div><!--]--> <div class="text-primary bg-greyscale-850 border-primary pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"><span class="h-[20px] w-px bg-white"></span></div> <div class="text-primary bg-greyscale-850 border-primary pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"></div> <div class="text-primary bg-greyscale-850 border-primary pointer-events-none relative flex size-10 items-center justify-center space-x-4 rounded-lg border border-white/10 text-center text-lg shadow-lg shadow-black/5 transition-all duration-500 outline-none"></div></div></div> <div class="text-sub-body p-3 font-medium"><span class="text-primary">Multi-factor authentication</span> <p class="text-secondary">Requiring users to verify their identity using a second authentication factor.</p></div></div><!----> <div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-7" role="presentation"><div class="text-sub-body p-3 font-medium"><span class="text-primary">Secure passwords</span> <p class="text-secondary">Secure passwords by avoiding common words, hashing, and checking personal data.</p></div> <div class="flex flex-1 flex-col justify-center rounded-lg bg-white/[0.02] p-6"><!--[!--><!--[--><label>Password</label><!--]--> <!----><input type="password" value="appwriter" class="focus:border-greyscale-100 bg-greyscale-800 border-greyscale-700 mt-2 flex w-full items-center gap-1 rounded-lg border px-3 py-2 font-light transition-colors focus-within:border-white active:shadow-sm active:shadow-black/30 text-primary text-[20px] tracking-tighter" disabled><!----><!--]--><!----> <div class="flex flex-wrap gap-2 py-2"><!--[--><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> Minimum 8 characters</span><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> Numbers</span><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> Special characters</span><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> Uppercase & lowercase letters</span><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> No common words</span><span class="text-secondary flex items-center gap-0.5 rounded-full bg-white/[0.08] px-2 py-0.5 pl-1 text-xs"><span class="web-icon-check text-sm duration-500"></span> No personal data</span><!--]--></div></div></div><!----> <div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-7"><div class="flex flex-1 flex-col items-center justify-center rounded-lg bg-white/[0.02] p-6"><svg width="263" height="262" viewBox="0 0 263 262" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M131.833 223C131.833 223 210.333 186 210.333 130.5V79.9808L131.833 38L53.3335 79.9808V130.5C53.3335 186 131.833 223 131.833 223Z" fill="url(#paint0_linear_3129_12359)" fill-opacity="0.16" stroke="white" stroke-opacity="0.1" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"></path><path d="M156.987 142.517V153.434H130.083C122.245 153.434 115.401 149.043 111.739 142.517C111.207 141.568 110.741 140.573 110.35 139.54C109.583 137.515 109.1 135.343 108.954 133.076V130.125C108.986 129.62 109.036 129.118 109.101 128.623C109.235 127.607 109.437 126.612 109.703 125.646C112.216 116.482 120.389 109.767 130.083 109.767C139.777 109.767 147.949 116.482 150.462 125.646H138.958C137.069 122.659 133.801 120.684 130.083 120.684C126.365 120.684 123.096 122.659 121.208 125.646C120.632 126.554 120.186 127.555 119.893 128.623C119.633 129.57 119.494 130.568 119.494 131.6C119.494 134.73 120.771 137.55 122.817 139.54C124.714 141.387 127.27 142.517 130.083 142.517H156.987Z" fill="black" fill-opacity="0.16"></path><path d="M156.985 128.623V139.54H137.346C139.393 137.55 140.669 134.73 140.669 131.6C140.669 130.568 140.53 129.57 140.271 128.623H156.985Z" fill="black" fill-opacity="0.16"></path><path opacity="0.8" d="M131.833 231C131.833 231 217.334 190.8 217.334 130.5V75.6115L131.833 30L46.3335 75.6115V130.5C46.3335 190.8 131.833 231 131.833 231Z" stroke="white" stroke-opacity="0.1" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2.4 2.4"></path><path opacity="0.6" d="M131.833 240C131.833 240 224.333 196.2 224.333 130.5V70.6962L131.833 21L39.3335 70.6962V130.5C39.3335 196.2 131.833 240 131.833 240Z" stroke="white" stroke-opacity="0.1" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2.4 2.4"></path><path opacity="0.4" d="M131.833 248C131.833 248 231.334 201 231.334 130.5V66.3269L131.833 13L32.3335 66.3269V130.5C32.3335 201 131.833 248 131.833 248Z" stroke="white" stroke-opacity="0.1" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" stroke-dasharray="2.4 2.4"></path><defs><linearGradient id="paint0_linear_3129_12359" x1="131.844" y1="35.8977" x2="131.844" y2="225.102" gradientUnits="userSpaceOnUse"><stop stop-color="white" stop-opacity="0.08"></stop><stop offset="1" stop-color="white" stop-opacity="0.4"></stop></linearGradient></defs></svg></div> <div class="text-sub-body p-3 font-medium"><span class="text-primary">Advanced security</span> <p class="text-secondary">Appwrite maintains high standards for data security, privacy, and regulatory compliance.</p></div></div><!----> <div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-5"><div class="text-sub-body p-3 font-medium"><span class="text-primary">Session limit</span> <p class="text-secondary">Restrict the number of active sessions per user to avoid unused active sessions.</p></div> <div class="relative flex flex-1 flex-col items-center justify-center gap-4 overflow-hidden rounded-lg bg-white/[0.02]"><div class="bg-greyscale-800 -mt-[40%] mr-0 ml-auto flex flex-col rounded-l-2xl border-y border-l border-white/[0.06] to-transparent px-6 py-4"><div class="gradient inset-0 z-10 flex items-center justify-center"><div class="text-xs"><span class="text-primary">Sessions limit</span> <p>Maximum number of active sessions allowed per user.</p> <div class="mt-4"><!--[!--><!--[--><label>Limit</label><!--]--> <!----><input type="text" value="10" class="focus:border-greyscale-100 bg-greyscale-800 border-greyscale-700 mt-2 flex w-full items-center gap-1 rounded-lg border px-3 py-2 text-sm font-light transition-colors focus-within:border-white active:shadow-sm active:shadow-black/30" disabled><!----><!--]--><!----></div></div></div></div> <div class="bg-greyscale-800 mr-0 ml-auto flex flex-col rounded-l-2xl border-y border-l border-white/[0.06] to-transparent px-6 py-4"><div class="gradient inset-0 z-10 flex items-center justify-center"><div class="text-xs"><span class="text-primary">Sessions limit</span> <p>Maximum number of active sessions allowed per user.</p> <div class="mt-4"><!--[!--><!--[--><label>Limit</label><!--]--> <!----><input type="text" value="10" class="focus:border-greyscale-100 bg-greyscale-800 border-greyscale-700 mt-2 flex w-full items-center gap-1 rounded-lg border px-3 py-2 text-sm font-light transition-colors focus-within:border-white active:shadow-sm active:shadow-black/30" disabled><!----><!--]--><!----></div></div></div></div></div></div><!----> <div class="bg-greyscale-850/90 flex flex-col gap-4 rounded-2xl p-2 lg:row-span-5"><div class="text-sub-body p-3 font-medium"><span class="text-primary">Password dictionary</span> <p class="text-secondary">Check if the user's password matches any of the top 10K commonly used passwords.</p></div> <div class="relative flex min-h-60 flex-1 flex-col items-center justify-center overflow-hidden rounded-lg bg-white/[0.02]"><div class="pointer-events-none absolute mx-auto flex w-[105%] flex-wrap gap-x-2 text-sm"><!--[--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">123456</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">password</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">12345678</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">qwerty</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">123456789</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">12345</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">1234</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">111111</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">1234567</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">dragon</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">123123</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">baseball</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">abc123</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">football</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">monkey</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">letmein</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">696969</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">shadow</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">master</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">666666</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">qwertyuiop</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">123321</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">mustang</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">1234567890</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">michael</span><!--]--><!--[--><div class="from-greyscale-800 to-greyscale-900 relative z-50 flex items-center gap-2 bg-gradient-to-r px-1 font-mono text-white shadow-lg shadow-black/30 svelte-h5x7lm"><span>6543</span> <span class="animate-scale-in h-[150%] w-px bg-gradient-to-b from-transparent via-white to-transparent"></span> <span class="text-white/50">21</span></div><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">superman</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">1qaz2wsx</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">7777777</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">121212</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">000000</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">qazwsx</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">1111</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">zxcvbn</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">555555</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">11111111</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">131313</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">freedom</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">777777</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">pass</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">maggie</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">159753</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">aaaaaa</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">ginger</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">princess</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">joshua</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">cheese</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">amanda</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">summer</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">love</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">ashley</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">6969</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">nicole</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">chelsea</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">biteme</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">matthew</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">access</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">yankees</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">987654321</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">dallas</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">austin</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">thunder</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">taylor</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">matrix</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">love</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">ashley</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">6969</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">nicole</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">chelsea</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">biteme</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">matthew</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">access</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">yankees</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">987654321</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">dallas</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">austin</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">thunder</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">taylor</span><!--]--><!--[!--><span class="font-mono text-white/20 transition-all duration-1000 svelte-h5x7lm">matrix</span><!--]--><!--]--> <div class="mask absolute inset-0 z-0 backdrop-blur-md svelte-h5x7lm"></div></div> <div class="gradient absolute inset-0 z-10 flex items-center justify-center svelte-h5x7lm"><div class="w-3/4"><!--[!--><!--[--><label>Password</label><!--]--> <!----><input type="password" value="magicpassword" class="focus:border-greyscale-100 bg-greyscale-800 border-greyscale-700 mt-2 flex w-full items-center gap-1 rounded-lg border px-3 py-2 text-sm font-light transition-colors focus-within:border-white active:shadow-sm active:shadow-black/30" disabled><!----><!--]--><!----></div></div></div></div><!----></div></div></section><!----> <div class="bg-greyscale-50"><section class="light bg-greyscale-50 pt-32 pb-40"><div class="container"><div class="mx-auto mb-20 flex max-w-md flex-col items-center justify-center gap-y-4 text-center"><span class="web-badges web-eyebrow text-micro font-aeonik-fono !text-white uppercase">Access_</span> <h2 class="text-title text-primary font-aeonik-pro">Easily manage teams <br> and permissions</h2> <p class="text-body text-secondary font-medium">Create custom roles and level of access to resources such as projects, files, etc.</p> <a href="/docs/advanced/platform/permissions" class="web-button is-secondary mt-2 !w-full md:!w-fit">Learn more</a></div></div> <div class="container grid place-items-center gap-12 overflow-x-hidden pr-0 pl-5 md:grid-cols-2 md:px-5"><!--[--><div class="relative first-of-type:after:absolute first-of-type:after:top-0 first-of-type:after:-right-6 first-of-type:after:bottom-0 first-of-type:after:ml-8 first-of-type:after:w-px first-of-type:after:bg-[#19191C]/4"><div class="space-y-1 pr-5 md:pr-0"><h3 class="text-primary text-body font-medium">Teams management</h3> <p class="text-secondary text-body max-w-[30rem] font-medium">Organize users into multi-tenant teams to enable collective access to resources.</p></div> <div class="mt-8 w-[150%] rounded-3xl border border-black/8 bg-gradient-to-br from-black/6 via-black/4 via-[61%] to-black/6 p-2 md:w-full"><img class="rounded-2xl" src="/_app/immutable/assets/teams-console.6nkIArFT.png" alt="Teams management image"></div></div><div class="relative first-of-type:after:absolute first-of-type:after:top-0 first-of-type:after:-right-6 first-of-type:after:bottom-0 first-of-type:after:ml-8 first-of-type:after:w-px first-of-type:after:bg-[#19191C]/4"><div class="space-y-1 pr-5 md:pr-0"><h3 class="text-primary text-body font-medium">Full control over permissions</h3> <p class="text-secondary text-body max-w-[30rem] font-medium">Define the level of access and control users or teams have over resources according to their roles.</p></div> <div class="mt-8 w-[150%] rounded-3xl border border-black/8 bg-gradient-to-br from-black/6 via-black/4 via-[61%] to-black/6 p-2 md:w-full"><img class="rounded-2xl" src="/_app/immutable/assets/permissions-console.C_fOJQ4B.png" alt="Full control over permissions image"></div></div><!--]--></div></section><!----> <section class="light bg-greyscale-50 py-4 md:py-20"><div class="container flex flex-col gap-6 md:flex-row"><div class="mb-10 flex max-w-lg flex-col"><span class="web-badges text-micro font-aeonik-fono mr-auto ml-0 !text-white uppercase">SSR_</span> <h2 class="text-title text-primary font-aeonik-pro my-4">Server-side rendering <br> made simple</h2> <p class="text-body text-secondary font-medium">Optimize your auth with Appwrite's server-side SDK, enhancing your application's performance without sacrificing functionality. Start with our ready-to-ship snippets, or follow our quick starts for your favorite framework.</p> <ul class="mt-8 flex gap-4"><!--[--><!--[1--><span aria-describedby="9EyzdwORvK" id="ACBWb2O3_c" data-state="closed" data-melt-tooltip-trigger=""><li><a href="/docs/quick-starts/nextjs" class="platform flex size-14 items-center justify-center rounded-lg bg-white p-2 svelte-l3mvs0"><img src="/images/platforms/light/nextjs.svg" alt="Next quick start" width="32" height="32"></a></li><!----></span><!--]--> <!--[!--><!--]--><!--[1--><span aria-describedby="54FJxX0SrC" id="69WYpKAQ2d" data-state="closed" data-melt-tooltip-trigger=""><li><a href="/docs/quick-starts/sveltekit" class="platform flex size-14 items-center justify-center rounded-lg bg-white p-2 svelte-l3mvs0"><img src="/images/platforms/light/svelte.svg" alt="Svelte quick start" width="32" height="32"></a></li><!----></span><!--]--> <!--[!--><!--]--><!--[1--><span aria-describedby="MrGwQFBQhy" id="udW84ISKwZ" data-state="closed" data-melt-tooltip-trigger=""><li><a href="/docs/quick-starts/nuxt" class="platform flex size-14 items-center justify-center rounded-lg bg-white p-2 svelte-l3mvs0"><img src="/images/platforms/light/nuxt.svg" alt="Nuxt quick start" width="32" height="32"></a></li><!----></span><!--]--> <!--[!--><!--]--><!--]--></ul> <a href="/docs/sdks#server" class="web-button is-secondary mt-8">Learn more</a></div> <section class="dark web-code-snippet mx-auto !max-w-[90vw] md:min-w-2xl" aria-label="code-snippet panel"><header class="web-code-snippet-header"><div class="web-code-snippet-header-start"><div class="flex gap-4"><!--[--><div class="web-tag"><span class="text">Web</span></div><!--]--></div></div> <div class="web-code-snippet-header-end"><ul class="buttons-list flex gap-3"><li class="buttons-list-item flex self-center"><button class="web-select is-colored svelte-lg821s" id="BBgfPY5Nt7" aria-autocomplete="list" aria-controls="1vU5l4EQal" aria-expanded="false" aria-labelledby="4evvaS-mZY" data-state="closed" role="combobox" type="button" data-melt-select-trigger="" aria-label="Select theme"><div class="physical-select"><!--[!--><!--]--> <span>Next.js</span></div> <span class="icon-cheveron-down" aria-hidden="true"></span></button> <!--[!--><!--]--> <div class="web-select is-colored web-is-only-mobile web-u-inline-width-100-percent-mobile-break1 svelte-lg821s" style="display: none;"><!--[!--><!--]--> <select><!--[--><!--[--><!--[--><option value="Next.js" selected>Next.js</option><option value="SvelteKit">SvelteKit</option><option value="Astro">Astro</option><option value="Nuxt3">Nuxt3</option><option value="Remix">Remix</option><!--]--><!--]--><!--]--></select> <span class="icon-cheveron-down" aria-hidden="true"></span></div><!----></li> <li class="buttons-list-item" style="padding-inline-start: 13px"><!--[1--><span aria-describedby="RTDA4ctUL1" id="Y0jlDgaPNY" data-state="closed" data-melt-tooltip-trigger=""><button class="web-icon-button" aria-label="copy code from code-snippet"><span class="web-icon-copy" aria-hidden="true"></span></button><!----></span><!--]--> <!--[!--><!--]--><!----></li></ul></div></header> <div class="web-code-snippet-content" style="height: inherit"><!----><pre><code class="web-code language-client-web line-numbers"><span class="line"><span class="hljs-keyword">import</span> { <span class="hljs-title class_">Client</span>, <span class="hljs-title class_">Account</span> } <span class="hljs-keyword">from</span> <span class="hljs-string">'node-appwrite'</span></span> <span class="line"><span class="hljs-keyword">import</span> { cookies } <span class="hljs-keyword">from</span> <span class="hljs-string">'next/headers'</span></span> <span class="line"></span> <span class="line"><span class="hljs-keyword">async</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">getLoggedInUser</span>(<span class="hljs-params"></span>) {</span> <span class="line"> <span class="hljs-keyword">const</span> session = <span class="hljs-title function_">cookies</span>().<span class="hljs-title function_">get</span>(<span class="hljs-string">"custom-session-cookie"</span>); </span> <span class="line"> <span class="hljs-keyword">if</span> (!session) <span class="hljs-keyword">return</span></span> <span class="line"></span> <span class="line"> <span class="hljs-keyword">const</span> client = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Client</span>()</span> <span class="line"> .<span class="hljs-title function_">setEndpoint</span>(process.<span class="hljs-property">env</span>.<span class="hljs-property">NEXT_PUBLIC_APPWRITE_ENDPOINT</span>)</span> <span class="line"> .<span class="hljs-title function_">setProject</span>(process.<span class="hljs-property">env</span>.<span class="hljs-property">NEXT_PUBLIC_APPWRITE_PROJECT_ID</span>)</span> <span class="line"></span> <span class="line"> client.<span class="hljs-title function_">setSession</span>(session.<span class="hljs-property">value</span>)</span> <span class="line"> <span class="hljs-keyword">const</span> account = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Account</span>(client);</span> <span class="line"></span> <span class="line"> <span class="hljs-keyword">return</span> <span class="hljs-keyword">await</span> account.<span class="hljs-title function_">get</span>()</span> <span class="line">}</span> <span class="line"> </span> </code></pre><!----></div></section><!----></div></section><!----> <section class="light bg-greyscale-50 py-20"><div class="container grid items-stretch gap-y-8 divide-[#19191C]/4 [grid-gap:initial] md:divide-x lg:grid-cols-2"><div class="relative mx-auto mb-20 flex flex flex-col items-center justify-center gap-y-6 text-center md:px-20"><div class="flex items-center gap-2"><!--[--><div class="flex items-center justify-center rounded-lg bg-white" style="height: 40px; width: 40px;"><img src="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.1352%2010.2102L18.7113%207.47994C18.8002%207.32688%2018.7464%207.13245%2018.5955%207.04351C18.4445%206.95457%2018.248%207.00628%2018.1611%207.15934L16.5643%209.92474C15.3461%209.36835%2013.9747%209.05809%2012.5%209.05809C11.0253%209.05809%209.65392%209.36835%208.43566%209.92474L6.83888%207.15934C6.74994%207.00628%206.55551%206.95457%206.40245%207.04351C6.2494%207.13245%206.19769%207.32688%206.28663%207.47994L7.86271%2010.2102C5.14489%2011.6829%203.30404%2014.4338%203%2017.6542H22C21.696%2014.4337%2019.8551%2011.6828%2017.1352%2010.2102ZM8.13781%2014.986C7.69725%2014.986%207.34149%2014.6282%207.34149%2014.1897C7.34149%2013.7491%207.69932%2013.3934%208.13781%2013.3934C8.57837%2013.3934%208.93413%2013.7512%208.93413%2014.1897C8.93621%2014.6282%208.57837%2014.986%208.13781%2014.986ZM16.8601%2014.986C16.4196%2014.986%2016.0638%2014.6282%2016.0638%2014.1897C16.0638%2013.7491%2016.4216%2013.3934%2016.8601%2013.3934C17.3007%2013.3934%2017.6564%2013.7512%2017.6564%2014.1897C17.6585%2014.6282%2017.3007%2014.986%2016.8601%2014.986Z'%20fill='%2332DE84'%20/%3e%3c/svg%3e" height="24" width="24" alt="icon"></div><div class="flex items-center justify-center rounded-lg bg-white" style="height: 46.66666666666667px; width: 46.66666666666667px;"><img src="data:image/svg+xml,%3csvg%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M22.9177%2020.5171C22.5616%2021.3323%2022.1401%2022.0827%2021.6517%2022.7726C20.9861%2023.7131%2020.441%2024.3641%2020.021%2024.7256C19.3699%2025.319%2018.6722%2025.6229%2017.9252%2025.6402C17.3889%2025.6402%2016.7421%2025.4889%2015.9892%2025.1821C15.2339%2024.8768%2014.5397%2024.7256%2013.905%2024.7256C13.2394%2024.7256%2012.5254%2024.8768%2011.7618%2025.1821C10.997%2025.4889%2010.3809%2025.6488%209.90986%2025.6646C9.19347%2025.6949%208.47941%2025.3823%207.76665%2024.7256C7.31173%2024.3324%206.74272%2023.6583%206.06107%2022.7034C5.32971%2021.6837%204.72843%2020.5012%204.25738%2019.1531C3.75289%2017.697%203.5%2016.2869%203.5%2014.9218C3.5%2013.3581%203.84097%2012.0094%204.52393%2010.8792C5.06068%209.97144%205.77474%209.25533%206.66845%208.72962C7.56216%208.20392%208.52781%207.93603%209.56773%207.91889C10.1367%207.91889%2010.8829%208.09331%2011.8102%208.43609C12.7349%208.78003%2013.3286%208.95445%2013.5889%208.95445C13.7835%208.95445%2014.4431%208.75051%2015.5612%208.34391C16.6185%207.96685%2017.5109%207.81072%2018.242%207.87222C20.223%208.03065%2021.7113%208.80452%2022.7011%2010.1987C20.9294%2011.2625%2020.053%2012.7525%2020.0704%2014.6639C20.0864%2016.1527%2020.6314%2017.3916%2021.7026%2018.3754C22.188%2018.8319%2022.7302%2019.1848%2023.3333%2019.4354C23.2025%2019.8113%2023.0645%2020.1714%2022.9177%2020.5171V20.5171ZM18.3743%202.80011C18.3743%203.96705%2017.9441%205.05661%2017.0865%206.06509C16.0517%207.26399%2014.8%207.95677%2013.4427%207.84745C13.4254%207.70745%2013.4154%207.56011%2013.4154%207.40528C13.4154%206.28503%2013.9075%205.08613%2014.7814%204.10587C15.2177%203.60955%2015.7727%203.19687%2016.4456%202.86766C17.1171%202.54337%2017.7522%202.36402%2018.3496%202.33331C18.367%202.48931%2018.3743%202.64532%2018.3743%202.8001V2.80011Z'%20fill='black'%20/%3e%3c/svg%3e" height="28" width="28" alt="icon"></div><div class="flex items-center justify-center rounded-lg bg-white" style="height: 53.33333333333333px; width: 53.33333333333333px;"><img src="data:image/svg+xml,%3csvg%20width='32'%20height='32'%20viewBox='0%200%2032%2032'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='4'%20y='4'%20width='24'%20height='24'%20rx='1'%20fill='%23FFCA28'%20/%3e%3cpath%20d='M19.0876%2024.2195L20.8236%2022.9887C20.9596%2023.4466%2021.8212%2024.5343%2022.9094%2024.5343C23.9977%2024.5343%2024.5029%2023.8975%2024.5029%2023.4753C24.5029%2022.3247%2023.3917%2021.9191%2022.858%2021.7242C22.771%2021.6925%2022.6993%2021.6663%2022.6503%2021.6434C22.6252%2021.6317%2022.5872%2021.6161%2022.5384%2021.5962C21.9448%2021.3532%2019.7548%2020.4567%2019.7548%2017.8581C19.7548%2014.9958%2022.3329%2014.6667%2022.9159%2014.6667C23.2973%2014.6667%2025.1313%2014.7168%2026.0446%2016.5558L24.3604%2017.8152C23.9912%2017.0137%2023.3777%2016.749%2023.0001%2016.749C22.0673%2016.749%2021.873%2017.4817%2021.873%2017.8152C21.873%2018.751%2022.8864%2019.1704%2023.7422%2019.5246C23.966%2019.6173%2024.1791%2019.7055%2024.3604%2019.7973C25.2932%2020.2696%2026.6665%2021.0423%2026.6665%2023.4753C26.6665%2024.6938%2025.7126%2026.6667%2023.311%2026.6667C20.0851%2026.6667%2019.2301%2024.5916%2019.0876%2024.2195Z'%20fill='%233E3E3E'%20/%3e%3cpath%20d='M10.6665%2024.4639L12.4759%2023.2337C12.6177%2023.6914%2013.1686%2024.5354%2013.968%2024.5354C14.7674%2024.5354%2015.1765%2023.6557%2015.1765%2023.2337V14.9374H17.4018V23.2337C17.4378%2024.378%2016.8455%2026.6667%2014.2313%2026.6667C11.8278%2026.6667%2010.8285%2025.1362%2010.6665%2024.4639Z'%20fill='%233E3E3E'%20/%3e%3c/svg%3e" height="32" width="32" alt="icon"></div><div class="flex items-center justify-center rounded-lg bg-white" style="height: 46.66666666666667px; width: 46.66666666666667px;"><img src="data:image/svg+xml,%3csvg%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M15.9217%203.5L5.8335%2013.6671L8.95586%2016.8139L22.1664%203.5H15.9217Z'%20fill='%2347C5FB'%20/%3e%3cpath%20d='M15.8516%2012.8759L10.4502%2018.3196L13.5841%2021.5251L16.7007%2018.3841L22.1667%2012.8759H15.8516Z'%20fill='%2347C5FB'%20/%3e%3cpath%20d='M13.5835%2021.5251L15.956%2023.9161H22.1662L16.7001%2018.3841L13.5835%2021.5251Z'%20fill='%2300569E'%20/%3e%3cpath%20d='M10.4141%2018.3544L13.5364%2015.2076L16.6997%2018.3841L13.5831%2021.5251L10.4141%2018.3544Z'%20fill='%2300B5F8'%20/%3e%3cpath%20d='M13.5835%2021.525L16.1786%2020.6571L16.4365%2018.6497L13.5835%2021.525Z'%20fill='url(%23paint0_linear_3762_2717)'%20fill-opacity='0.8'%20/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_3762_2717'%20x1='13.6364'%20y1='19.5917'%20x2='15.6927'%20y2='20.3271'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20/%3e%3cstop%20offset='1'%20stop-opacity='0'%20/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e" height="28" width="28" alt="icon"></div><div class="flex items-center justify-center rounded-lg bg-white" style="height: 40px; width: 40px;"><img src="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.6073%2011.9852C13.6073%2011.1024%2012.8877%2010.3868%2012%2010.3868C11.1123%2010.3868%2010.3927%2011.1024%2010.3927%2011.9852C10.3927%2012.868%2011.1123%2013.5836%2012%2013.5836C12.8877%2013.5836%2013.6073%2012.868%2013.6073%2011.9852Z'%20fill='%2353C1DE'%20/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M17.2202%209.01766C17.5597%207.64602%2017.9863%205.10245%2016.4822%204.2401C14.9852%203.38151%2013.0371%205.02672%2012.0084%206.01427C10.9827%205.03657%208.97981%203.39838%207.47698%204.26347C5.9805%205.12494%206.44199%207.62634%206.78894%209.00657C5.39299%209.40087%203%2010.2501%203%2011.9852C3%2013.7153%205.3905%2014.6393%206.77819%2015.0332C6.42995%2016.421%205.99158%2018.8867%207.48996%2019.7462C8.99836%2020.6112%2010.995%2019.012%2012.0332%2018.0137C13.0685%2019.007%2014.998%2020.6167%2016.4953%2019.7547C17.9974%2018.89%2017.6061%2016.3805%2017.2592%2014.9923C18.6044%2014.5975%2021%2013.6937%2021%2011.9852C21%2010.2668%2018.5942%209.41063%2017.2202%209.01766ZM17.0497%2014.2566C16.8219%2013.5394%2016.5144%2012.7768%2016.1383%2011.989C16.4973%2011.2198%2016.7928%2010.467%2017.0143%209.75439C18.0215%2010.0448%2020.2311%2010.7085%2020.2311%2011.9852C20.2311%2013.2738%2018.1108%2013.9438%2017.0497%2014.2566ZM16.11%2019.0929C14.9928%2019.736%2013.3333%2018.1967%2012.5687%2017.4652C13.0759%2016.9135%2013.5828%2016.2721%2014.0775%2015.56C14.9477%2015.4832%2015.7698%2015.3576%2016.5154%2015.1863C16.7596%2016.1682%2017.2321%2018.4469%2016.11%2019.0929ZM7.87417%2019.0837C6.75686%2018.4431%207.26755%2016.2428%207.52374%2015.2205C8.26101%2015.3827%209.07714%2015.4994%209.94943%2015.5697C10.4474%2016.2666%2010.9689%2016.9071%2011.4945%2017.4681C10.8452%2018.0928%208.99671%2019.7274%207.87417%2019.0837ZM3.76889%2011.9852C3.76889%2010.6917%205.96524%2010.0328%206.99542%209.74314C7.22071%2010.4717%207.51617%2011.2335%207.87274%2012.0038C7.51155%2012.7856%207.21186%2013.5595%206.98451%2014.2966C6.00222%2014.017%203.76889%2013.2795%203.76889%2011.9852ZM7.86222%204.92526C8.9841%204.27949%2010.7248%205.8522%2011.4695%206.56008C10.9466%207.11849%2010.4299%207.75421%209.93621%208.44705C9.08965%208.52508%208.27925%208.65041%207.53426%208.81827C7.25475%207.70505%206.74155%205.57033%207.86222%204.92526ZM14.6276%209.27821C15.2019%209.3503%2015.7521%209.44615%2016.2688%209.56348C16.1137%2010.0579%2015.9204%2010.5749%2015.6927%2011.1048C15.3626%2010.482%2015.0083%209.87176%2014.6276%209.27821ZM12.0086%207.10653C12.3633%207.48859%2012.7185%207.91526%2013.0679%208.37813C12.3591%208.34483%2011.6492%208.34467%2010.9404%208.37766C11.2901%207.91907%2011.6484%207.49303%2012.0086%207.10653ZM8.3139%2011.1043C8.08997%2010.5761%207.89839%2010.0568%207.74193%209.55539C8.25551%209.44108%208.80318%209.34768%209.3738%209.27678C8.99197%209.86902%208.63826%2010.4791%208.3139%2011.1043ZM9.39021%2014.7481C8.80071%2014.6827%208.24476%2014.5941%207.73134%2014.4829C7.89026%2013.9726%208.08607%2013.4422%208.31478%2012.9027C8.64362%2013.5343%209.00269%2014.1503%209.39021%2014.7481ZM12.0299%2016.9178C11.6654%2016.5267%2011.3019%2016.0942%2010.9469%2015.629C11.6597%2015.6568%2012.3739%2015.6569%2013.0866%2015.6252C12.7361%2016.099%2012.3821%2016.5321%2012.0299%2016.9178ZM15.7%2012.8752C15.9406%2013.4205%2016.1434%2013.9481%2016.3045%2014.4498C15.7826%2014.5682%2015.2191%2014.6636%2014.6254%2014.7344C15.009%2014.1297%2015.3689%2013.5099%2015.7%2012.8752ZM13.6484%2014.8271C12.5581%2014.9046%2011.4609%2014.9038%2010.3703%2014.8335C9.75053%2013.9332%209.19887%2012.9864%208.72265%2012.0035C9.19653%2011.0227%209.74422%2010.0778%2010.361%209.17895C11.4525%209.0969%2012.5507%209.09671%2013.6421%209.17943C14.2536%2010.0782%2014.8005%2011.0207%2015.2854%2011.9927C14.8062%2012.9731%2014.2557%2013.9199%2013.6484%2014.8271ZM16.0982%204.90252C17.2204%205.54618%2016.7209%207.83216%2016.4757%208.82619C15.729%208.65484%2014.918%208.5273%2014.069%208.44808C13.5743%207.74772%2013.0619%207.11088%2012.5474%206.55968C13.3017%205.83656%2014.9869%204.26516%2016.0982%204.90252Z'%20fill='%2353C1DE'%20/%3e%3c/svg%3e" height="24" width="24" alt="icon"></div><!--]--></div> <h2 class="text-title text-primary font-aeonik-pro">Integrate with easy-to-use APIs and SDKs</h2> <p class="text-body text-secondary font-medium">Integrate Auth seamlessly into your projects with your favorite technology.</p> <a href="/docs/sdks" class="web-button is-secondary mt-2 !w-full md:!w-fit">Learn more</a></div> <div class="mx-auto mb-20 flex flex flex-col items-center justify-center gap-y-6 text-center md:px-20"><div class="flex items-center gap-2"><!--[--><div class="flex size-10 items-center justify-center rounded-lg bg-white"><img src="data:image/svg+xml,%3csvg%20width='23'%20height='24'%20viewBox='0%200%2023%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20.406%205.144L12.041%200.322999C11.6704%200.111021%2011.2509%20-0.000488281%2010.824%20-0.000488281C10.3971%20-0.000488281%209.97757%200.111021%209.607%200.322999C9.23785%200.536125%208.93114%200.842458%208.71757%201.21135C8.50399%201.58024%208.39104%201.99874%208.39%202.425V3.054L7.845%202.739C7.47431%202.52684%207.05461%202.41523%206.6275%202.41523C6.20039%202.41523%205.78069%202.52684%205.41%202.739C5.04064%202.95272%204.73395%203.25979%204.5207%203.62942C4.30745%203.99906%204.19513%204.41826%204.195%204.845V5.474L3.649%205.159C3.27855%204.9472%202.85922%204.8358%202.4325%204.8358C2.00578%204.8358%201.58645%204.9472%201.216%205.159C0.846891%205.37234%200.54029%205.67888%200.326886%206.04795C0.113481%206.41702%200.000758489%206.83567%200%207.262L0%2022.364C0.000338704%2022.5787%200.0611021%2022.789%200.175341%2022.9708C0.28958%2023.1526%200.452682%2023.2986%200.645993%2023.3921C0.839304%2023.4856%201.05502%2023.5228%201.26847%2023.4994C1.48192%2023.476%201.68449%2023.3931%201.853%2023.26L6%2019.995L12.398%2023.68C12.5724%2023.7789%2012.7695%2023.8308%2012.97%2023.8308C13.1705%2023.8308%2013.3676%2023.7789%2013.542%2023.68C13.895%2023.477%2014.114%2023.099%2014.114%2022.691V13.605C14.1124%2012.8698%2013.9178%2012.1479%2013.5496%2011.5116C13.1814%2010.8753%2012.6526%2010.3468%2012.016%209.979L9.92%208.769V2.428C9.92051%202.26896%209.96279%202.11284%2010.0426%201.97527C10.1224%201.83771%2010.237%201.72351%2010.3748%201.64413C10.5126%201.56474%2010.6688%201.52295%2010.8279%201.52292C10.9869%201.5229%2011.1432%201.56465%2011.281%201.644L19.646%206.463C20.051%206.69705%2020.3874%207.0333%2020.6217%207.43815C20.856%207.843%2020.9799%208.30225%2020.981%208.77V20.087C20.9807%2020.246%2020.9386%2020.4021%2020.8589%2020.5397C20.7792%2020.6773%2020.6648%2020.7916%2020.527%2020.871L18.311%2022.148V11.186C18.3096%2010.4508%2018.1151%209.72882%2017.7469%209.09245C17.3787%208.45607%2016.8497%207.92761%2016.213%207.56L11.063%204.594V6.35L15.45%208.878C15.855%209.11181%2016.1914%209.44787%2016.4257%209.85256C16.66%2010.2573%2016.7839%2010.7164%2016.785%2011.184V22.804C16.785%2023.208%2017.005%2023.589%2017.358%2023.793C17.5325%2023.8917%2017.7295%2023.9435%2017.93%2023.9435C18.1305%2023.9435%2018.3275%2023.8917%2018.502%2023.793L21.292%2022.185C21.661%2021.9716%2021.9676%2021.665%2022.181%2021.296C22.3944%2020.9269%2022.5071%2020.5083%2022.508%2020.082V8.766C22.5045%208.03139%2022.3087%207.31049%2021.9401%206.67504C21.5715%206.03959%2021.042%205.51174%2020.406%205.144ZM11.25%2011.296C11.6553%2011.53%2011.9919%2011.8664%2012.2262%2012.2714C12.4605%2012.6765%2012.5842%2013.136%2012.585%2013.604V22.034L7.288%2018.983L8.988%2017.646C9.27787%2017.42%209.5122%2017.1306%209.67304%2016.8001C9.83389%2016.4695%209.917%2016.1066%209.916%2015.739V10.53L11.251%2011.297H11.25V11.296ZM8.39%209.65V15.738C8.39%2016.018%208.263%2016.278%208.044%2016.448L1.524%2021.578V7.26C1.52421%207.10084%201.5663%206.94454%201.64604%206.80679C1.72577%206.66905%201.84035%206.55471%201.97827%206.47527C2.11618%206.39582%202.27257%206.35407%202.43173%206.35419C2.59089%206.35432%202.74721%206.39633%202.885%206.476L4.195%207.23V18.023L5.72%2016.823V4.843C5.72028%204.68378%205.76248%204.52744%205.84234%204.38969C5.9222%204.25194%206.03691%204.13765%206.17495%204.05829C6.31299%203.97894%206.46948%203.93732%206.6287%203.93762C6.78793%203.93792%206.94426%203.98012%207.082%204.06L8.39%204.813V7.889L6.866%207.01V8.77L8.392%209.65H8.39Z'%20fill='%230052CD'%20/%3e%3c/svg%3e" alt="icon" class="size-6"></div><div class="flex size-10 items-center justify-center rounded-lg bg-white"><img src="data:image/svg+xml,%3csvg%20width='23'%20height='24'%20viewBox='0%200%2023%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_4874_2723)'%3e%3cpath%20d='M13.3082%2023.4232C12.7109%2024.188%2011.4998%2023.7689%2011.4854%2022.7924L11.2749%208.50891H20.7209C22.4319%208.50891%2023.3861%2010.5181%2022.3222%2011.8805L13.3082%2023.4232Z'%20fill='url(%23paint0_linear_4874_2723)'%20/%3e%3cpath%20d='M13.3082%2023.4232C12.7109%2024.188%2011.4998%2023.7689%2011.4854%2022.7924L11.2749%208.50891H20.7209C22.4319%208.50891%2023.3861%2010.5181%2022.3222%2011.8805L13.3082%2023.4232Z'%20fill='url(%23paint1_linear_4874_2723)'%20fill-opacity='0.2'%20/%3e%3cpath%20d='M9.46658%200.439812C10.0639%20-0.325087%2011.2751%200.0940224%2011.2895%201.0706L11.3817%2015.354H2.05387C0.342882%2015.354%20-0.611364%2013.3448%200.452576%2011.9824L9.46658%200.439812Z'%20fill='%233ECF8E'%20/%3e%3c/g%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_4874_2723'%20x1='11.2749'%20y1='11.6759'%20x2='19.7114'%20y2='15.1559'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23249361'%20/%3e%3cstop%20offset='1'%20stop-color='%233ECF8E'%20/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_4874_2723'%20x1='7.55286'%20y1='6.49446'%20x2='11.4816'%20y2='13.7684'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20/%3e%3cstop%20offset='1'%20stop-opacity='0'%20/%3e%3c/linearGradient%3e%3cclipPath%20id='clip0_4874_2723'%3e%3crect%20width='22.7692'%20height='24'%20fill='white'%20/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e" alt="icon" class="size-6"></div><div class="flex size-10 items-center justify-center rounded-lg bg-white"><img src="data:image/svg+xml,%3csvg%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M8.55664%2022.4199C9.48656%2022.7942%2010.4954%2023.0163%2011.5547%2023.0533C12.9883%2023.1034%2014.3516%2022.807%2015.5704%2022.2439C14.1089%2021.6697%2012.7853%2020.83%2011.6556%2019.786C10.9234%2020.9584%209.84032%2021.8845%208.55664%2022.4199Z'%20fill='%23FF9100'%20/%3e%3cpath%20d='M11.6555%2019.7864C9.07686%2017.4015%207.51254%2013.9497%207.64474%2010.1637C7.64906%2010.0408%207.65554%209.91789%207.66314%209.79505C7.2013%209.67561%206.71914%209.60273%206.22298%209.58541C5.51278%209.56061%204.82498%209.64869%204.17566%209.83153C3.48729%2011.0373%203.07189%2012.4208%203.02014%2013.9028C2.88659%2017.7272%205.20102%2021.0689%208.5565%2022.4203C9.84022%2021.8849%2010.9232%2020.9599%2011.6555%2019.7864Z'%20fill='%23FFC400'%20/%3e%3cpath%20d='M11.6557%2019.7863C12.2553%2018.8268%2012.6187%2017.702%2012.6611%2016.4902C12.7724%2013.3024%2010.6294%2010.5601%207.66337%209.79492C7.65577%209.91776%207.64929%2010.0406%207.64497%2010.1636C7.51277%2013.9496%209.07709%2017.4014%2011.6557%2019.7863Z'%20fill='%23FF9100'%20/%3e%3cpath%20d='M12.329%200.834351C10.6398%202.18765%209.30586%203.97209%208.49878%206.02773C8.03674%207.20517%207.74638%208.46993%207.66162%209.79573C10.6276%2010.5609%2012.7707%2013.3032%2012.6593%2016.4909C12.617%2017.7028%2012.2525%2018.8265%2011.654%2019.7871C12.7836%2020.8322%2014.1072%2021.6708%2015.5687%2022.245C18.5022%2020.889%2020.5835%2017.9711%2020.704%2014.5199C20.7821%2012.2839%2019.923%2010.2909%2018.709%208.60877C17.427%206.82969%2012.329%200.834351%2012.329%200.834351Z'%20fill='%23DD2C00'%20/%3e%3c/svg%3e" alt="icon" class="size-6"></div><!--]--> <div class="-mr-2 h-px w-24 flex-1 bg-gradient-to-r from-white to-[#FD366E]"></div> <div class="flex size-14 items-center justify-center rounded-lg border border-[#FD366E] bg-white shadow-[0px_0px_8px_rgba(253,_54,_110,_0.24),_0px_5.35209px_10.7042px_rgba(0,_0,_0,_0.02)]"><img src="/images/logos/logo.svg" alt="icon" class="size-6"></div></div> <h2 class="text-title text-primary font-aeonik-pro">Migrate your users to Appwrite effortlessly</h2> <p class="text-body text-secondary font-medium">Use Appwrite's migration process to transfer your existing users with a few clicks.</p> <a href="/docs/advanced/migrations" class="web-button is-secondary mt-2 !w-full md:!w-fit">Learn more</a></div></div></section><!----> <div class="relative w-full max-w-[100vw] overflow-hidden"><div class="group light flex w-fit gap-4"><!--[--><div class="animate-scroll flex items-center gap-8 group-hover:[animation-play-state:paused;]" aria-hidden="false"><!--[--><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The switch to using Appwrite brought infinite value that I'm still discovering today, but a major impact that it made was the amount of time and stress that it saved me as it simply just works.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/ryan-oconner.png" class="size-12 rounded-full" alt="K-Collect Logo"> <div><span class="text-secondary text-sub-body block font-medium">Ryan O鈥機onner</span> <!--[--><span class="text-sub-body text-secondary block">Founder // K-Collect</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">We really loved working with Appwrite for launching our bootstrapped "Open Mind" App. I am still surprised how easy the implementation into Flutter was.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/david-forster.png" class="size-12 rounded-full" alt="Open Mind Logo"> <div><span class="text-secondary text-sub-body block font-medium">David Forster</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Open Mind</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The integrated user authentication and the ease of creating data structures have undoubtedly saved us several weeks' worth of time.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/marius-bolik2.png" class="size-12 rounded-full" alt="mySHOEFITTER Logo"> <div><span class="text-secondary text-sub-body block font-medium">Marius Bolik</span> <!--[--><span class="text-sub-body text-secondary block">CTO // mySHOEFITTER</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just go for it, don鈥檛 think twice. Try Appwrite, and you will love it!</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/smartbee.png" class="size-12 rounded-full" alt="Smart Bee Logo"> <div><span class="text-secondary text-sub-body block font-medium">Sergio Ponguta</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Smart Bee</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just like a Swiss Army Knife, you can choose and use the tools that you need with Appwrite.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/majik.png" class="size-12 rounded-full" alt="Majik Kids Logo"> <div><span class="text-secondary text-sub-body block font-medium">Phil McClusky</span> <!--[--><span class="text-sub-body text-secondary block">Developer // Majik Kids</span><!--]--></div></div></div><!--]--></div><div class="animate-scroll flex items-center gap-8 group-hover:[animation-play-state:paused;]" aria-hidden="true"><!--[--><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The switch to using Appwrite brought infinite value that I'm still discovering today, but a major impact that it made was the amount of time and stress that it saved me as it simply just works.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/ryan-oconner.png" class="size-12 rounded-full" alt="K-Collect Logo"> <div><span class="text-secondary text-sub-body block font-medium">Ryan O鈥機onner</span> <!--[--><span class="text-sub-body text-secondary block">Founder // K-Collect</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">We really loved working with Appwrite for launching our bootstrapped "Open Mind" App. I am still surprised how easy the implementation into Flutter was.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/david-forster.png" class="size-12 rounded-full" alt="Open Mind Logo"> <div><span class="text-secondary text-sub-body block font-medium">David Forster</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Open Mind</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The integrated user authentication and the ease of creating data structures have undoubtedly saved us several weeks' worth of time.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/marius-bolik2.png" class="size-12 rounded-full" alt="mySHOEFITTER Logo"> <div><span class="text-secondary text-sub-body block font-medium">Marius Bolik</span> <!--[--><span class="text-sub-body text-secondary block">CTO // mySHOEFITTER</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just go for it, don鈥檛 think twice. Try Appwrite, and you will love it!</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/smartbee.png" class="size-12 rounded-full" alt="Smart Bee Logo"> <div><span class="text-secondary text-sub-body block font-medium">Sergio Ponguta</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Smart Bee</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just like a Swiss Army Knife, you can choose and use the tools that you need with Appwrite.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/majik.png" class="size-12 rounded-full" alt="Majik Kids Logo"> <div><span class="text-secondary text-sub-body block font-medium">Phil McClusky</span> <!--[--><span class="text-sub-body text-secondary block">Developer // Majik Kids</span><!--]--></div></div></div><!--]--></div><div class="animate-scroll flex items-center gap-8 group-hover:[animation-play-state:paused;]" aria-hidden="true"><!--[--><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The switch to using Appwrite brought infinite value that I'm still discovering today, but a major impact that it made was the amount of time and stress that it saved me as it simply just works.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/ryan-oconner.png" class="size-12 rounded-full" alt="K-Collect Logo"> <div><span class="text-secondary text-sub-body block font-medium">Ryan O鈥機onner</span> <!--[--><span class="text-sub-body text-secondary block">Founder // K-Collect</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">We really loved working with Appwrite for launching our bootstrapped "Open Mind" App. I am still surprised how easy the implementation into Flutter was.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/david-forster.png" class="size-12 rounded-full" alt="Open Mind Logo"> <div><span class="text-secondary text-sub-body block font-medium">David Forster</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Open Mind</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The integrated user authentication and the ease of creating data structures have undoubtedly saved us several weeks' worth of time.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/marius-bolik2.png" class="size-12 rounded-full" alt="mySHOEFITTER Logo"> <div><span class="text-secondary text-sub-body block font-medium">Marius Bolik</span> <!--[--><span class="text-sub-body text-secondary block">CTO // mySHOEFITTER</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just go for it, don鈥檛 think twice. Try Appwrite, and you will love it!</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/smartbee.png" class="size-12 rounded-full" alt="Smart Bee Logo"> <div><span class="text-secondary text-sub-body block font-medium">Sergio Ponguta</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Smart Bee</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just like a Swiss Army Knife, you can choose and use the tools that you need with Appwrite.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/majik.png" class="size-12 rounded-full" alt="Majik Kids Logo"> <div><span class="text-secondary text-sub-body block font-medium">Phil McClusky</span> <!--[--><span class="text-sub-body text-secondary block">Developer // Majik Kids</span><!--]--></div></div></div><!--]--></div><div class="animate-scroll flex items-center gap-8 group-hover:[animation-play-state:paused;]" aria-hidden="true"><!--[--><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The switch to using Appwrite brought infinite value that I'm still discovering today, but a major impact that it made was the amount of time and stress that it saved me as it simply just works.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/ryan-oconner.png" class="size-12 rounded-full" alt="K-Collect Logo"> <div><span class="text-secondary text-sub-body block font-medium">Ryan O鈥機onner</span> <!--[--><span class="text-sub-body text-secondary block">Founder // K-Collect</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">We really loved working with Appwrite for launching our bootstrapped "Open Mind" App. I am still surprised how easy the implementation into Flutter was.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/david-forster.png" class="size-12 rounded-full" alt="Open Mind Logo"> <div><span class="text-secondary text-sub-body block font-medium">David Forster</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Open Mind</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">The integrated user authentication and the ease of creating data structures have undoubtedly saved us several weeks' worth of time.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/marius-bolik2.png" class="size-12 rounded-full" alt="mySHOEFITTER Logo"> <div><span class="text-secondary text-sub-body block font-medium">Marius Bolik</span> <!--[--><span class="text-sub-body text-secondary block">CTO // mySHOEFITTER</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just go for it, don鈥檛 think twice. Try Appwrite, and you will love it!</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/smartbee.png" class="size-12 rounded-full" alt="Smart Bee Logo"> <div><span class="text-secondary text-sub-body block font-medium">Sergio Ponguta</span> <!--[--><span class="text-sub-body text-secondary block">Founder // Smart Bee</span><!--]--></div></div></div><div class="flex h-fit w-[90vw] flex-col justify-center rounded-2xl bg-white p-6 transition-all md:w-lg"><p class="text-sub-body text-secondary flex-1 font-medium">Just like a Swiss Army Knife, you can choose and use the tools that you need with Appwrite.</p> <div class="mt-4 flex items-center gap-3"><img src="/images/testimonials/majik.png" class="size-12 rounded-full" alt="Majik Kids Logo"> <div><span class="text-secondary text-sub-body block font-medium">Phil McClusky</span> <!--[--><span class="text-sub-body text-secondary block">Developer // Majik Kids</span><!--]--></div></div></div><!--]--></div><!--]--></div></div><!----> <section class="light bg-greyscale-50 pt-32 pb-40"><div class="container overflow-x-hidden"><div class="mx-auto mb-20 flex max-w-2xl flex-col items-center gap-y-4 text-center"><h2 class="md:text-display text-title text-primary font-aeonik-pro">Open source <br class="hidden md:block">alternative to <div class="relative inline-flex bg-[linear-gradient(-146deg,_#FD376F,_#19191D_47%,_#19191D)] bg-clip-text text-transparent">Auth0 <div class="animate-caret-blink absolute top-1/2 -right-2 bottom-0 block h-[75%] w-px -translate-y-1/2 bg-[linear-gradient(-146deg,_#FD376F,_#19191D_47%,_#19191D)]"></div></div></h2> <p class="md:text-description text-body text-secondary font-medium">Appwrite is a 100% open source project, giving you the flexibility and support you need to get your project started.</p> <div class="mx-auto mt-2 flex w-full flex-col items-center justify-center gap-2 md:flex-row"><a href="https://github.com/appwrite/appwrite" target="_blank" rel="noopener noreferrer" class="web-button is-secondary h-10 !w-full md:!w-fit"><span class="web-icon-star" aria-hidden="true"></span> <span class="text">Star on GitHub</span> <span class="web-inline-tag text-sub-body">48K</span></a> <a class="web-button is-secondary h-10 !w-full md:!w-fit" href="https://appwrite.io/discord"><span class="web-icon-discord"></span> <span class="text">Join Discord</span></a></div></div> <div class="mx-auto grid place-items-center gap-8 md:grid-cols-3"><!--[--><div class="max-w-[275px] text-center"><img src="data:image/svg+xml,%3csvg%20width='42'%20height='40'%20viewBox='0%200%2042%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M17.9351%2033.6471V33C17.9351%2027.4772%2022.4122%2023%2027.9351%2023C33.4579%2023%2037.9351%2027.4771%2037.9351%2033V33.6471H27.9351H17.9351Z'%20fill='url(%23paint0_linear_3129_11876)'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20cx='27.9351'%20cy='17'%20r='5.4'%20stroke='%23FD366E'%20stroke-width='1.2'/%3e%3ccircle%20cx='14.9351'%20cy='13'%20r='5.4'%20stroke='%23FD366E'%20stroke-width='1.2'/%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M4.93506%2029V29.6471H14.9351H17.9351H18.502C18.8019%2028.7938%2019.2587%2027.9181%2019.8667%2027.0823C20.9513%2025.5915%2022.3054%2024.5196%2023.6004%2024.0055C21.8722%2021.0135%2018.6388%2019%2014.9351%2019C9.41221%2019%204.93506%2023.4772%204.93506%2029Z'%20fill='url(%23paint1_linear_3129_11876)'/%3e%3cpath%20d='M4.93506%2029.6471H4.33506C4.33506%2029.9784%204.60369%2030.2471%204.93506%2030.2471V29.6471ZM18.502%2029.6471V30.2471C18.7567%2030.2471%2018.9836%2030.0863%2019.0681%2029.846L18.502%2029.6471ZM19.8667%2027.0823L20.3519%2027.4353L19.8667%2027.0823ZM23.6004%2024.0055L23.8218%2024.5632C23.9838%2024.4989%2024.1099%2024.3672%2024.1672%2024.2025C24.2244%2024.0379%2024.2072%2023.8564%2024.12%2023.7054L23.6004%2024.0055ZM5.53506%2029.6471V29H4.33506V29.6471H5.53506ZM14.9351%2029.0471H4.93506V30.2471H14.9351V29.0471ZM17.9351%2029.0471H14.9351V30.2471H17.9351V29.0471ZM18.502%2029.0471H17.9351V30.2471H18.502V29.0471ZM19.0681%2029.846C19.3478%2029.0504%2019.7765%2028.2262%2020.3519%2027.4353L19.3815%2026.7294C18.7408%2027.61%2018.2561%2028.5373%2017.936%2029.4481L19.0681%2029.846ZM20.3519%2027.4353C21.3821%2026.0193%2022.6503%2025.0282%2023.8218%2024.5632L23.3791%2023.4478C21.9605%2024.0109%2020.5206%2025.1637%2019.3815%2026.7294L20.3519%2027.4353ZM14.9351%2019.6C18.4158%2019.6%2021.4554%2021.4915%2023.0809%2024.3056L24.12%2023.7054C22.2889%2020.5354%2018.8617%2018.4%2014.9351%2018.4V19.6ZM5.53506%2029C5.53506%2023.8085%209.74358%2019.6%2014.9351%2019.6V18.4C9.08084%2018.4%204.33506%2023.1458%204.33506%2029H5.53506Z'%20fill='%23FD366E'/%3e%3cdefs%3e%3clinearGradient%20id='paint0_linear_3129_11876'%20x1='27.9351'%20y1='23'%20x2='27.9351'%20y2='42'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FD366E'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23FD366E'%20stop-opacity='0.6'/%3e%3c/linearGradient%3e%3clinearGradient%20id='paint1_linear_3129_11876'%20x1='14.9354'%20y1='19'%20x2='14.9354'%20y2='38'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FD366E'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23FD366E'%20stop-opacity='0.6'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e" alt="Community collaboration" class="mx-auto"> <h3 class="text-sub-body text-primary mt-4 font-medium">Community collaboration</h3> <p class="text-sub-body text-secondary mt-2 font-normal">Share knowledge and learn from others' experiences.</p></div><div class="max-w-[275px] text-center"><img src="data:image/svg+xml,%3csvg%20width='40'%20height='40'%20viewBox='0%200%2040%2040'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M20%2036.25C20%2036.25%2033.75%2029.75%2033.75%2020V11.125L20%203.75L6.25%2011.125V20C6.25%2029.75%2020%2036.25%2020%2036.25Z'%20fill='url(%23paint0_linear_3129_11894)'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cg%20filter='url(%23filter0_b_3129_11894)'%3e%3ccircle%20cx='28'%20cy='26'%20r='8'%20fill='%23FD366E'/%3e%3ccircle%20cx='28'%20cy='26'%20r='8'%20fill='white'%20fill-opacity='0.9'/%3e%3ccircle%20cx='28'%20cy='26'%20r='8'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3cpath%20d='M24.25%2027.5L26.75%2029.5L31.75%2023'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cdefs%3e%3cfilter%20id='filter0_b_3129_11894'%20x='15.3999'%20y='13.3999'%20width='25.2002'%20height='25.2002'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeGaussianBlur%20in='BackgroundImageFix'%20stdDeviation='2'/%3e%3cfeComposite%20in2='SourceAlpha'%20operator='in'%20result='effect1_backgroundBlur_3129_11894'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_backgroundBlur_3129_11894'%20result='shape'/%3e%3c/filter%3e%3clinearGradient%20id='paint0_linear_3129_11894'%20x1='20.0018'%20y1='3.38068'%20x2='20.0018'%20y2='36.6193'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FD366E'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23FD366E'%20stop-opacity='0.4'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e" alt="Transparency and security" class="mx-auto"> <h3 class="text-sub-body text-primary mt-4 font-medium">Transparency and security</h3> <p class="text-sub-body text-secondary mt-2 font-normal">The source code is openly accessible for anyone to inspect.</p></div><div class="max-w-[275px] text-center"><img src="data:image/svg+xml,%3csvg%20width='41'%20height='41'%20viewBox='0%200%2041%2041'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M14.667%2014.5V10.0556C14.667%208.58213%2015.2991%207.16905%2016.4244%206.12718C17.5496%205.08532%2019.0757%204.5%2020.667%204.5C22.2583%204.5%2023.7844%205.08532%2024.9096%206.12718C26.0349%207.16905%2026.667%208.58213%2026.667%2010.0556'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M31.5559%2014.5H9.7781C8.05988%2014.5%206.66699%2016.2909%206.66699%2018.5V32.5C6.66699%2034.7091%208.05988%2036.5%209.7781%2036.5H31.5559C33.2741%2036.5%2034.667%2034.7091%2034.667%2032.5V18.5C34.667%2016.2909%2033.2741%2014.5%2031.5559%2014.5Z'%20fill='url(%23paint0_linear_3129_11900)'/%3e%3cpath%20d='M9.7781%2015.1H31.5559V13.9H9.7781V15.1ZM31.5559%2015.1C32.8111%2015.1%2034.067%2016.4732%2034.067%2018.5H35.267C35.267%2016.1086%2033.7371%2013.9%2031.5559%2013.9V15.1ZM34.067%2018.5V32.5H35.267V18.5H34.067ZM34.067%2032.5C34.067%2034.5268%2032.8111%2035.9%2031.5559%2035.9V37.1C33.7371%2037.1%2035.267%2034.8914%2035.267%2032.5H34.067ZM31.5559%2035.9H9.7781V37.1H31.5559V35.9ZM9.7781%2035.9C8.52285%2035.9%207.26699%2034.5268%207.26699%2032.5H6.06699C6.06699%2034.8914%207.59692%2037.1%209.7781%2037.1V35.9ZM7.26699%2032.5V18.5H6.06699V32.5H7.26699ZM7.26699%2018.5C7.26699%2016.4732%208.52285%2015.1%209.7781%2015.1V13.9C7.59692%2013.9%206.06699%2016.1086%206.06699%2018.5H7.26699Z'%20fill='%23FD366E'/%3e%3cg%20filter='url(%23filter0_b_3129_11900)'%3e%3cpath%20fill-rule='evenodd'%20clip-rule='evenodd'%20d='M22.6755%2026.1674C23.7223%2025.5021%2024.417%2024.3322%2024.417%2023C24.417%2020.9289%2022.7381%2019.25%2020.667%2019.25C18.5959%2019.25%2016.917%2020.9289%2016.917%2023C16.917%2024.3322%2017.6117%2025.5021%2018.6585%2026.1674L17.542%2031.75H23.792L22.6755%2026.1674Z'%20fill='%23EDEDF0'/%3e%3cpath%20d='M22.6755%2026.1674L22.3537%2025.6609C22.1444%2025.7939%2022.0385%2026.0419%2022.0871%2026.285L22.6755%2026.1674ZM18.6585%2026.1674L19.2469%2026.285C19.2955%2026.0419%2019.1896%2025.7939%2018.9803%2025.6609L18.6585%2026.1674ZM17.542%2031.75L16.9536%2031.6323C16.9184%2031.8086%2016.964%2031.9914%2017.078%2032.1304C17.192%2032.2694%2017.3622%2032.35%2017.542%2032.35V31.75ZM23.792%2031.75V32.35C23.9717%2032.35%2024.142%2032.2694%2024.256%2032.1304C24.37%2031.9914%2024.4156%2031.8086%2024.3803%2031.6323L23.792%2031.75ZM23.817%2023C23.817%2024.1184%2023.2346%2025.1012%2022.3537%2025.6609L22.9973%2026.6738C24.2101%2025.9031%2025.017%2024.546%2025.017%2023H23.817ZM20.667%2019.85C22.4067%2019.85%2023.817%2021.2603%2023.817%2023H25.017C25.017%2020.5976%2023.0694%2018.65%2020.667%2018.65V19.85ZM17.517%2023C17.517%2021.2603%2018.9273%2019.85%2020.667%2019.85V18.65C18.2646%2018.65%2016.317%2020.5976%2016.317%2023H17.517ZM18.9803%2025.6609C18.0994%2025.1012%2017.517%2024.1184%2017.517%2023H16.317C16.317%2024.546%2017.1239%2025.9031%2018.3367%2026.6738L18.9803%2025.6609ZM18.1303%2031.8677L19.2469%2026.285L18.0702%2026.0497L16.9536%2031.6323L18.1303%2031.8677ZM23.792%2031.15H17.542V32.35H23.792V31.15ZM22.0871%2026.285L23.2036%2031.8677L24.3803%2031.6323L23.2638%2026.0497L22.0871%2026.285Z'%20fill='%23FD366E'/%3e%3c/g%3e%3cpath%20d='M29.667%208.5L33.167%204'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20d='M31.667%2010.5L33.667%209.5'%20stroke='%23FD366E'%20stroke-width='1.2'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cdefs%3e%3cfilter%20id='filter0_b_3129_11900'%20x='10.3169'%20y='12.6499'%20width='20.7002'%20height='25.7002'%20filterUnits='userSpaceOnUse'%20color-interpolation-filters='sRGB'%3e%3cfeFlood%20flood-opacity='0'%20result='BackgroundImageFix'/%3e%3cfeGaussianBlur%20in='BackgroundImageFix'%20stdDeviation='3'/%3e%3cfeComposite%20in2='SourceAlpha'%20operator='in'%20result='effect1_backgroundBlur_3129_11900'/%3e%3cfeBlend%20mode='normal'%20in='SourceGraphic'%20in2='effect1_backgroundBlur_3129_11900'%20result='shape'/%3e%3c/filter%3e%3clinearGradient%20id='paint0_linear_3129_11900'%20x1='20.6688'%20y1='14.25'%20x2='20.6688'%20y2='36.75'%20gradientUnits='userSpaceOnUse'%3e%3cstop%20stop-color='%23FD366E'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='%23FD366E'%20stop-opacity='0.32'/%3e%3c/linearGradient%3e%3c/defs%3e%3c/svg%3e" alt="Customization and flexibility" class="mx-auto"> <h3 class="text-sub-body text-primary mt-4 font-medium">Customization and flexibility</h3> <p class="text-sub-body text-secondary mt-2 font-normal">The freedom to customize and adapt products to your needs. </p></div><!--]--></div></div></section><!----></div></div> <section class="web-u-sep-block-start -mt-8 py-40"><div class="container"><h4 class="text-label text-primary text-center">Keep exploring our products</h4> <ul class="mt-8 grid gap-8" style="grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr))"><li class="web-u-flex-basis-378"><a class="web-card is-normal" href="/products/messaging" style="background: rgba(255, 255, 255, 0.04);"><div class="web-u-padding-inline-8 web-u-padding-block-end-8 flex flex-col gap-2"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/messaging.png" alt="auth" width="32" height="32"> <h4 class="text-body text-primary">Messaging</h4> <span class="web-icon-arrow-right ml-auto" aria-hidden="true"></span></div> <p class="text-sub-body">Use Appwrite messaging to send email, SMS, and push notifications.</p></div></a></li> <li class="web-u-flex-basis-378"><a class="web-card is-normal" href="/products/functions" style="background: rgba(255, 255, 255, 0.04);"><div class="web-u-padding-inline-8 web-u-padding-block-end-8 flex flex-col gap-2"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/functions.png" alt="functions" width="32" height="32"> <h4 class="text-body text-primary">Functions</h4> <span class="web-icon-arrow-right ml-auto" aria-hidden="true"></span></div> <p class="text-sub-body">Scale big and unlock limitless potential with Appwrite functions.</p></div></a></li> <li class="web-u-flex-basis-378"><a class="web-card is-normal" href="/docs/products/databases" style="background: rgba(255, 255, 255, 0.04);"><div class="web-u-padding-inline-8 web-u-padding-block-end-8 flex flex-col gap-2"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/databases.png" alt="" width="37" height="32"> <h4 class="text-body text-primary">Databases</h4> <span class="web-icon-arrow-right ml-auto" aria-hidden="true"></span></div> <p class="text-sub-body">Store and query structured data, ensuring scalable storage.</p></div></a></li> <li class="web-u-flex-basis-378"><a class="web-card is-normal" href="/products/storage" style="background: rgba(255, 255, 255, 0.04);"><div class="web-u-padding-inline-8 web-u-padding-block-end-8 flex flex-col gap-2"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/storage.png" alt="storage" width="32" height="32"> <h4 class="text-body text-primary">Storage</h4> <span class="web-icon-arrow-right ml-auto" aria-hidden="true"></span></div> <p class="text-sub-body">Manage your files' project, using convenient APIs and utilities.</p></div></a></li> <li class="web-u-flex-basis-378"><a class="web-card is-normal" href="/docs/apis/realtime" style="background: rgba(255, 255, 255, 0.04);"><div class="web-u-padding-inline-8 web-u-padding-block-end-8 flex flex-col gap-2"><div class="flex items-center gap-2"><img src="/images/icons/illustrated/dark/realtime.png" alt="realtime" width="32" height="32"> <h4 class="text-body text-primary">Realtime</h4> <span class="web-icon-arrow-right ml-auto" aria-hidden="true"></span></div> <p class="text-sub-body">Utilize realtime information from all Appwrite services.</p></div></a></li></ul></div></section> <div class="relative"><div class="container"><img src="/images/bgs/pre-footer.png" alt="" class="web-pre-footer-bg svelte-ediab8" loading="lazy" style="z-index:-1"> <div class="web-u-row-gap-80 relative grid gap-8 md:grid-cols-2"><section class="web-hero flex items-center justify-center gap-y-8"><h2 class="text-display font-aeonik-pro text-primary max-w-[500px] text-center">Start building with Appwrite today</h2> <a href="https://cloud.appwrite.io/" class="web-button is-transparent web-self-center"><span class="text">Get started</span></a></section> <section class="web-card is-transparent has-border-gradient web-u-max-inline-width-584-mobile web-mx-auto-mobile web-u-inline-width-100-percent-mobile p-8!"><header class="web-strip-plans-header"><div class="web-strip-plans-header-wrapper web-u-row-gap-24"><h3 class="text-title font-aeonik-pro text-primary">Our plans</h3></div></header> <ul class="web-strip-plans -mt-8 svelte-ediab8"><li class="web-strip-plans-item web-strip-plans-container-query"><div class="web-strip-plans-item-wrapper svelte-ediab8"><div class="web-strip-plans-plan"><h4 class="title text-description">Free</h4> <div class="text-title font-aeonik-pro text-primary">$0</div> <div class="info text-caption font-medium"></div></div> <p class="web-strip-plans-info text-caption font-medium svelte-ediab8">A great fit for passion projects and small applications.</p> <a href="https://cloud.appwrite.io/register" class="web-button is-secondary is-full-width-mobile web-u-cross-child-end svelte-ediab8"><span class="text" style="padding-inline: 0.5rem;">Get started</span></a></div></li> <li class="web-strip-plans-item web-strip-plans-container-query"><div class="web-strip-plans-item-wrapper svelte-ediab8"><div class="web-strip-plans-plan"><div class="flex gap-3"><h4 class="title text-description">Pro</h4> <div class="web-inline-tag is-pink text-sub-body">Most popular</div></div> <div class="mt-4 flex flex-col"><span>From</span> <div class="flex items-end gap-2"><div class="text-title font-aeonik-pro text-primary">$15</div> <div class="info text-caption font-medium">/month</div></div></div></div> <p class="web-strip-plans-info text-caption font-medium svelte-ediab8">For production applications that need powerful functionality and resources to scale.</p> <a href="https://cloud.appwrite.io/console?type=create&plan=tier-1" class="web-button is-full-width-mobile web-u-cross-child-end svelte-ediab8" target="_blank" rel="noopener noreferrer"><span class="text">Start building</span></a></div></li> <li class="web-strip-plans-item web-strip-plans-container-query"><div class="web-strip-plans-item-wrapper svelte-ediab8"><div class="web-strip-plans-plan"><h4 class="text-description text-primary">Scale</h4> <div class="mt-4 flex flex-col"><span>From</span> <div class="flex items-end gap-2"><div class="text-title font-aeonik-pro text-primary">$599</div> <div class="info text-caption font-medium">/month</div></div></div></div> <p class="web-strip-plans-info text-caption font-medium svelte-ediab8">For teams that handle more complex and large projects and need more control and support.</p> <a href="https://cloud.appwrite.io/console?type=create&plan=tier-2" class="web-button is-secondary is-full-width-mobile web-u-cross-child-end svelte-ediab8" target="_blank" rel="noopener noreferrer"><span class="text">Start building</span></a></div></li> <li class="web-strip-plans-item web-strip-plans-container-query"><div class="web-strip-plans-item-wrapper svelte-ediab8"><div class="web-strip-plans-plan"><h4 class="text-description text-primary">Enterprise</h4> <div class="mt-4 flex flex-col"><div class="flex items-end gap-2"><div class="text-title font-aeonik-pro text-primary">Custom</div></div></div></div> <p class="web-strip-plans-info text-caption font-medium svelte-ediab8">For enterprises that need more power and premium support.</p> <a href="/contact-us/enterprise" class="web-button is-secondary is-full-width-mobile web-u-cross-child-end svelte-ediab8" target="_blank" rel="noopener noreferrer"><span class="text" style="padding-inline: 0.5rem;">Contact us</span></a></div></li></ul></section></div><!----> <nav aria-label="Footer" class="web-footer-nav relative mt-24 web-u-sep-block-start"><img class="web-logo" src="/images/logos/appwrite.svg" alt="appwrite" height="24" width="130"> <ul class="web-footer-nav-main-list" data-melt-id="JZ8VtUzdUI" data-melt-accordion=""><!--[--><li class="web-footer-nav-main-item web-is-not-mobile"><h2 class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase">Quick starts</h2> <ul class="web-footer-nav-secondary-list text-sub-body"><!--[--><li><a class="web-link" href="/docs/quick-starts/web">Web</a></li><li><a class="web-link" href="/docs/quick-starts/nextjs">Next.js</a></li><li><a class="web-link" href="/docs/quick-starts/react">React</a></li><li><a class="web-link" href="/docs/quick-starts/vue">Vue.js</a></li><li><a class="web-link" href="/docs/quick-starts/nuxt">Nuxt</a></li><li><a class="web-link" href="/docs/quick-starts/sveltekit">SvelteKit</a></li><li><a class="web-link" href="/docs/quick-starts/refine">Refine</a></li><li><a class="web-link" href="/docs/quick-starts/angular">Angular</a></li><li><a class="web-link" href="/docs/quick-starts/react-native">React Native</a></li><li><a class="web-link" href="/docs/quick-starts/flutter">Flutter</a></li><li><a class="web-link" href="/docs/quick-starts/apple">Apple</a></li><li><a class="web-link" href="/docs/quick-starts/android">Android</a></li><li><a class="web-link" href="/docs/quick-starts/qwik">Qwik</a></li><li><a class="web-link" href="/docs/quick-starts/astro">Astro</a></li><li><a class="web-link" href="/docs/quick-starts/solid">Solid</a></li><!--]--></ul></li> <li class="web-footer-nav-main-item web-is-only-mobile" data-state="closed" data-melt-accordion-item=""><h5 role="heading" aria-level="5" data-heading-level="5" data-melt-accordion-heading=""><button class="web-footer-nav-button web-is-only-mobile" aria-expanded="false" aria-disabled="false" data-value="Quick starts" data-state="closed" data-melt-accordion-trigger=""><span class="text-caption font-medium uppercase">Quick starts</span> <span class="web-icon-chevron-down web-u-transition" style="font-size: 1rem;"></span></button></h5> <!--[!--><!--]--></li><li class="web-footer-nav-main-item web-is-not-mobile"><h2 class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase">Products</h2> <ul class="web-footer-nav-secondary-list text-sub-body"><!--[--><li><a class="web-link" href="/products/auth">Auth</a></li><li><a class="web-link" href="/docs/products/databases">Databases</a></li><li><a class="web-link" href="/products/functions">Functions</a></li><li><a class="web-link" href="/products/messaging">Messaging</a></li><li><a class="web-link" href="/products/storage">Storage</a></li><li><a class="web-link" href="/docs/apis/realtime">Realtime</a></li><!--]--></ul></li> <li class="web-footer-nav-main-item web-is-only-mobile" data-state="closed" data-melt-accordion-item=""><h5 role="heading" aria-level="5" data-heading-level="5" data-melt-accordion-heading=""><button class="web-footer-nav-button web-is-only-mobile" aria-expanded="false" aria-disabled="false" data-value="Products" data-state="closed" data-melt-accordion-trigger=""><span class="text-caption font-medium uppercase">Products</span> <span class="web-icon-chevron-down web-u-transition" style="font-size: 1rem;"></span></button></h5> <!--[!--><!--]--></li><li class="web-footer-nav-main-item web-is-not-mobile"><h2 class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase">Learn</h2> <ul class="web-footer-nav-secondary-list text-sub-body"><!--[--><li><a class="web-link" href="/docs">Docs</a></li><li><a class="web-link" href="/integrations">Integrations</a></li><li><a class="web-link" href="/community">Community</a></li><li><a class="web-link" href="/init">Init</a></li><li><a class="web-link" href="/threads">Threads</a></li><li><a class="web-link" href="/blog">Blog</a></li><li><a class="web-link" href="/changelog">Changelog</a></li><li><a class="web-link" href="https://github.com/orgs/appwrite/projects" target="_blank" rel="noopener noreferrer">Roadmap</a></li><li><a class="web-link" href="https://github.com/appwrite" target="_blank" rel="noopener noreferrer">Source code</a></li><!--]--></ul></li> <li class="web-footer-nav-main-item web-is-only-mobile" data-state="closed" data-melt-accordion-item=""><h5 role="heading" aria-level="5" data-heading-level="5" data-melt-accordion-heading=""><button class="web-footer-nav-button web-is-only-mobile" aria-expanded="false" aria-disabled="false" data-value="Learn" data-state="closed" data-melt-accordion-trigger=""><span class="text-caption font-medium uppercase">Learn</span> <span class="web-icon-chevron-down web-u-transition" style="font-size: 1rem;"></span></button></h5> <!--[!--><!--]--></li><li class="web-footer-nav-main-item web-is-not-mobile"><h2 class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase">Programs</h2> <ul class="web-footer-nav-secondary-list text-sub-body"><!--[--><li><a class="web-link" href="/heroes">Heroes</a></li><li><a class="web-link" href="/startups">Startups</a></li><li><a class="web-link" href="/education">Education</a></li><li><a class="web-link" href="/partners">Partners</a></li><!--]--></ul></li> <li class="web-footer-nav-main-item web-is-only-mobile" data-state="closed" data-melt-accordion-item=""><h5 role="heading" aria-level="5" data-heading-level="5" data-melt-accordion-heading=""><button class="web-footer-nav-button web-is-only-mobile" aria-expanded="false" aria-disabled="false" data-value="Programs" data-state="closed" data-melt-accordion-trigger=""><span class="text-caption font-medium uppercase">Programs</span> <span class="web-icon-chevron-down web-u-transition" style="font-size: 1rem;"></span></button></h5> <!--[!--><!--]--></li><li class="web-footer-nav-main-item web-is-not-mobile"><h2 class="web-footer-nav-main-title web-is-not-mobile text-caption font-medium uppercase">About</h2> <ul class="web-footer-nav-secondary-list text-sub-body"><!--[--><li><a class="web-link" href="/company">Company</a></li><li><a class="web-link" href="/pricing">Pricing</a></li><li><a class="web-link" href="https://appwrite.careers" target="_blank" rel="noopener noreferrer">Careers</a></li><li><a class="web-link" href="https://appwrite.store" target="_blank" rel="noopener noreferrer">Store</a></li><li><a class="web-link" href="/contact-us">Contact us</a></li><li><a class="web-link" href="/assets">Assets</a></li><!--]--></ul></li> <li class="web-footer-nav-main-item web-is-only-mobile" data-state="closed" data-melt-accordion-item=""><h5 role="heading" aria-level="5" data-heading-level="5" data-melt-accordion-heading=""><button class="web-footer-nav-button web-is-only-mobile" aria-expanded="false" aria-disabled="false" data-value="About" data-state="closed" data-melt-accordion-trigger=""><span class="text-caption font-medium uppercase">About</span> <span class="web-icon-chevron-down web-u-transition" style="font-size: 1rem;"></span></button></h5> <!--[!--><!--]--></li><!--]--></ul></nav><!----> <!--[--><footer class="web-main-footer relative mt-12"><ul class="flex gap-2"><!--[--><li><a href="https://appwrite.io/discord" class="web-icon-button svelte-zo2o91" aria-label="Discord" target="_blank" rel="noopener noreferrer"><span class="web-icon-discord svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://github.com/appwrite" class="web-icon-button svelte-zo2o91" aria-label="Github" target="_blank" rel="noopener noreferrer"><span class="web-icon-github svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://twitter.com/intent/follow?screen_name=appwrite" class="web-icon-button svelte-zo2o91" aria-label="Twitter" target="_blank" rel="noopener noreferrer"><span class="web-icon-x svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://linkedin.com/company/appwrite" class="web-icon-button svelte-zo2o91" aria-label="LinkedIn" target="_blank" rel="noopener noreferrer"><span class="web-icon-linkedin svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://youtube.com/c/appwrite?sub_confirmation=1" class="web-icon-button svelte-zo2o91" aria-label="YouTube" target="_blank" rel="noopener noreferrer"><span class="web-icon-youtube svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://app.daily.dev/squads/appwrite" class="web-icon-button svelte-zo2o91" aria-label="Daily.dev" target="_blank" rel="noopener noreferrer"><span class="web-icon-daily-dev svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://bsky.app/profile/appwrite.io" class="web-icon-button svelte-zo2o91" aria-label="Bluesky" target="_blank" rel="noopener noreferrer"><span class="web-icon-bluesky svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://tiktok.com/@appwrite" class="web-icon-button svelte-zo2o91" aria-label="Tiktok" target="_blank" rel="noopener noreferrer"><span class="web-icon-tiktok svelte-zo2o91" aria-hidden="true"></span></a></li><li><a href="https://instagram.com/appwrite.io" class="web-icon-button svelte-zo2o91" aria-label="Instagram" target="_blank" rel="noopener noreferrer"><span class="web-icon-instagram svelte-zo2o91" aria-hidden="true"></span></a></li><!--]--></ul> <div class="e-main-footer svelte-zo2o91"><div class="svelte-zo2o91">Copyright 漏 2025 Appwrite</div> <iframe class="status w-full md:w-fit md:max-w-[230px] svelte-zo2o91" title="Appwrite Status" src="https://status.appwrite.online/badge?theme=dark" height="35" frameborder="0" scrolling="no" style="color-scheme: none; margin-top: -4px;"></iframe> <ul class="flex gap-4 svelte-zo2o91"><li><a class="web-link" href="/terms">Terms</a></li> <li><a class="web-link" href="/privacy">Privacy</a></li> <li><a class="web-link" href="/cookies">Cookies</a></li></ul></div></footer><!--]--><!----></div></div></div><!----></main></div><!----><!--]--><!----><!----><!--]--> <!--[!--><!--]--><!--]--> <script> { __sveltekit_ay4mrf = { base: new URL("..", location).pathname.slice(0, -1) }; const element = document.currentScript.parentElement; Promise.all([ import("../_app/immutable/entry/start.D3UxR2ZC.js"), import("../_app/immutable/entry/app.CVjOmyof.js") ]).then(([kit, app]) => { kit.start(app, element, { node_ids: [0, 666], data: [{"type":"data","data":{ctaCopy:"Get started",distinctId:"9c341319a8f5ea63694ba18ccfd1ab7c1240860bc1649242f70fb72d55b4792f",changelogEntries:74},"uses":{},"slash":"never"},null], form: null, error: null }); }); } </script> </div> </body> </html>