CINXE.COM
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="description" content="Appwrite is an open-source platform for building applications at any scale, using your preferred programming languages and tools." /> <link rel="icon" type="image/svg+xml" href="/console/logos/appwrite-icon.svg" /> <link rel="mask-icon" type="image/png" href="/console/logos/appwrite-icon.png" /> <link rel="preload" href="/console/fonts/inter/inter-v8-latin-600.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/console/fonts/inter/inter-v8-latin-regular.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/console/fonts/poppins/poppins-v19-latin-500.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/console/fonts/poppins/poppins-v19-latin-600.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/console/fonts/poppins/poppins-v19-latin-700.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="/console/fonts/source-code-pro/source-code-pro-v20-latin-regular.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Air.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-AirItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Thin.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-ThinItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Light.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-LightItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Regular.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-RegularItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Medium.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-MediumItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Bold.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-BoldItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-Black.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" href="https://fonts.appwrite.io/aeonik-pro/AeonikPro-BlackItalic.woff2" as="font" type="font/woff2" crossorigin /> <link rel="preload" as="style" type="text/css" href="/console/fonts/main.css" /> <link rel="stylesheet" href="/console/css/loading.css" /> <link rel="stylesheet" href="/console/fonts/main.css" /> <meta name="viewport" content="width=device-width, initial-scale=1" /> <link rel="modulepreload" href="/console/_app/immutable/entry/start.7e_OJ1C7.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/entry.BqnjUWWt.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/scheduler.1WkfmZxW.js"> <link rel="modulepreload" href="/console/_app/immutable/entry/app.BxB8Wp3c.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/preload-helper.D5Yx2mxQ.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/_sentry-release-injection-file.CJCIR4vr.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/stores.C-IwtODJ.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/exports.DPgAnYXT.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/sdk.5qiQhTWk.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/system.DMU2h5eM.js"> <link rel="modulepreload" href="/console/_app/immutable/chunks/index.Dv76yMBG.js"> <link rel="modulepreload" href="/console/_app/env.js"> </head> <body data-sveltekit-preload-data="hover" data-loading="true"> <script> let themeInUse = 'auto'; const appwrite = localStorage.getItem('appwrite'); if (appwrite) { try { const localPrefs = JSON.parse(appwrite); if (localPrefs) themeInUse = localPrefs.theme; } catch (ignore) { // Ignore any errors during JSON parsing } } const systemPrefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches; themeInUse = themeInUse === 'auto' ? (systemPrefersDark ? 'dark' : 'light') : themeInUse; document.body.setAttribute('class', `theme-${themeInUse}`); </script> <div id="svelte"> <script> { __sveltekit_1rf14vo = { base: "/console", assets: "/console", env: null }; const element = document.currentScript.parentElement; import("/console/_app/env.js").then(({ env }) => { __sveltekit_1rf14vo.env = env; Promise.all([ import("/console/_app/immutable/entry/start.7e_OJ1C7.js"), import("/console/_app/immutable/entry/app.BxB8Wp3c.js") ]).then(([kit, app]) => { kit.start(app, element); }); }); if ('serviceWorker' in navigator) { addEventListener('load', function () { navigator.serviceWorker.register('/console/service-worker.js'); }); } } </script> </div> <div class="page-loader"> <div class="animation"> <div></div> <div></div> <div></div> <div></div> </div> <img src="/console/images/appwrite-logo-light.svg" width="120" height="22" class="logo-light" alt="Appwrite Logo" /> <img src="/console/images/appwrite-logo-dark.svg" width="120" height="22" class="logo-dark" alt="Appwrite Logo" /> </div> </body> </html>