1<!DOCTYPE html><html lang="en" data-theme="dark" data-theme-choice="dark"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/>
vendor: 66 bytes, line 1
1<script async="" src="https://www.googletagmanager.com/gtag/js?id=
1G-GCQTS927CB
vendor: 11 bytes, line 1
1"></script>
1<title>Getting Started - Docs - Envless</title><meta name="description" content="A quick introduction to managing your environment variables with Envless."/><link rel="canonical" href="https://envless.cloud/docs/getting-started"/><link rel="alternate" type="text/markdown" href="https://envless.cloud/docs/getting-started.md" title="Markdown version"/><meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1"/><meta name="theme-color" content="#0e0e0e"/><link rel="preconnect" href="https://www.googletagmanager.com" crossorigin=""/><link rel="preconnect" href="https://www.google-analytics.com" crossorigin=""/><link rel="preconnect" href="https://api.envless.cloud" crossorigin=""/><link rel="preload" href="/assets/dm-sans-latin.Bf69Tn_J.woff2" as="font" type="font/woff2" crossorigin=""/><link rel="preload" href="/assets/instrument-serif-400.Cyjo-q7q.woff2" as="font" type="font/woff2" crossorigin=""/><link rel="icon" href="/favicon.ico"/><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"/><link rel="alternate" type="application/rss+xml" title="Envless Blog" href="/rss.xml"/><meta property="og:type" content="website"/><meta property="og:url" content="https://envless.cloud/docs/getting-started"/><meta property="og:title" content="Getting Started - Docs"/><meta property="og:description" content="A quick introduction to managing your environment variables with Envless."/><meta property="og:image" content="https://envless.cloud/og/docs/getting-started.png"/><meta property="og:image:width" content="1200"/><meta property="og:image:height" content="630"/><meta property="og:image:type" content="image/png"/><meta property="og:image:alt" content="Getting Started - Docs"/><meta property="og:site_name" content="Envless"/><meta property="og:locale" content="en_US"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:site" content="@goenvless"/><meta name="twitter:title" content="Getting Started - Docs"/><meta name="twitter:description" content="A quick introduction to managing your environment variables with Envless."/><meta name="twitter:image" content="https://envless.cloud/og/docs/getting-started.png"/><meta name="twitter:image:alt" content="Getting Started - Docs"/><link rel="modulepreload" href="/assets/manifest-d6df01b4.js"/><link rel="modulepreload" href="/assets/entry.client-BQQSpmpp.js"/><link rel="modulepreload" href="/assets/jsx-runtime.u17CrQMm.js"/><link rel="modulepreload" href="/assets/chunk-BV7QT456.BQ71lt_D.js"/><link rel="modulepreload" href="/assets/index.CqF9FHED.js"/><link rel="modulepreload" href="/assets/loadBlogModule.BLPQ9h9z.js"/><link rel="modulepreload" href="/assets/posts.BFXTTV5i.js"/><link rel="modulepreload" href="/assets/RouteParam.BGKHcA7c.js"/><link rel="modulepreload" href="/assets/loadDocsModule.CroOVxD0.js"/><link rel="modulepreload" href="/assets/preload-helper.HAdMZFT3.js"/><link rel="modulepreload" href="/assets/jwt-generator.DZpDpWmD.js"/><link rel="modulepreload" href="/assets/schemas.DIe0OIrp.js"/><link rel="modulepreload" href="/assets/root-BzN_0XdP.js"/><link rel="modulepreload" href="/assets/theme.DGKosm2U.js"/><link rel="modulepreload" href="/assets/resolvePageMeta.C0UOSZlq.js"/><link rel="modulepreload" href="/assets/seo.DRFtizGJ.js"/><link rel="modulepreload" href="/assets/session-replay.D-oy3Zil.js"/><link rel="modulepreload" href="/assets/ExternalLinks.DYQ1kwe5.js"/><link rel="modulepreload" href="/assets/session.DC8WxWZ2.js"/><link rel="modulepreload" href="/assets/animate.8bTpExtZ.js"/><link rel="modulepreload" href="/assets/pricing._R-DLwkp.js"/><link rel="modulepreload" href="/assets/DashboardShell.BuCMsFtk.js"/><link rel="modulepreload" href="/assets/site-layout-B6WjybIe.js"/><link rel="modulepreload" href="/assets/EnvlessLogo.Bj9Q5sqG.js"/><link rel="modulepreload" href="/assets/SiteLink.DZj8NgI4.js"/><link rel="modulepreload" href="/assets/EnvelopeSimple.es.CONefC-c.js"/><link rel="modulepreload" href="/assets/PaperPlaneTilt.es.Cj9lB7k-.js"/><link rel="modulepreload" href="/assets/Check.es.CGp0En6k.js"/>
1<link rel="modulepreload" href="/assets/Copy.es.dliWH5g9.js"/><link rel="modulepreload" href="/assets/index.Bq7B3-hS.js"/><link rel="modulepreload" href="/assets/useCopyFeedback.C3CUKZHR.js"/><link rel="modulepreload" href="/assets/prefersReducedMotion.D9SWaqt8.js"/><link rel="modulepreload" href="/assets/scrambleText.B6TfACAX.js"/><link rel="modulepreload" href="/assets/SlidingHighlight.DL8H39PY.js"/><link rel="modulepreload" href="/assets/interaction.CJtquuJa.js"/><link rel="modulepreload" href="/assets/badge.DcPQDkYT.js"/><link rel="modulepreload" href="/assets/Sun.es.DE10k4QY.js"/><link rel="modulepreload" href="/assets/ContentIcon.B25hIPMq.js"/><link rel="modulepreload" href="/assets/widgets.L_NEDZTt.js"/><link rel="modulepreload" href="/assets/ArrowRight.es.JKcZaiQP.js"/><link rel="modulepreload" href="/assets/DashboardCTA.B38_8cCe.js"/><link rel="modulepreload" href="/assets/signed-in.BONbOMX_.js"/><link rel="modulepreload" href="/assets/IconBase.es.DBo9aoPr.js"/><link rel="modulepreload" href="/assets/writeClipboard.CzREpoR6.js"/><link rel="modulepreload" href="/assets/ArrowsClockwise.es.D-1KuJhL.js"/><link rel="modulepreload" href="/assets/ClockCounterClockwise.es.D371ziKg.js"/><link rel="modulepreload" href="/assets/Code.es.CmC-fk86.js"/><link rel="modulepreload" href="/assets/Database.es.BYtG2DB6.js"/><link rel="modulepreload" href="/assets/EyeSlash.es.CON-wYJW.js"/><link rel="modulepreload" href="/assets/Lightning.es.Dru4ko2K.js"/><link rel="modulepreload" href="/assets/LockKey.es.BTruJ5TD.js"/><link rel="modulepreload" href="/assets/WebhooksLogo.es.B6ASKa6t.js"/><link rel="modulepreload" href="/assets/Robot.es.OygDB6nE.js"/><link rel="modulepreload" href="/assets/UsersThree.es.DMoiWJSx.js"/><link rel="modulepreload" href="/assets/docs-Dk1DBOHv.js"/><link rel="modulepreload" href="/assets/prose.DjGFvvFR.js"/><link rel="modulepreload" href="/assets/Plus.es.Bao4C_up.js"/><link rel="modulepreload" href="/assets/ArrowUpRight.es.BKcacYRL.js"/><link rel="modulepreload" href="/assets/BookOpen.es.BhdxjhA2.js"/><link rel="modulepreload" href="/assets/CreditCard.es.CtqzuZ1q.js"/><link rel="modulepreload" href="/assets/DownloadSimple.es.Glln1jtn.js"/><link rel="modulepreload" href="/assets/Envelope.es.DsY8-XUN.js"/><link rel="modulepreload" href="/assets/FileCode.es.EIpauK25.js"/><link rel="modulepreload" href="/assets/command.CZhrSynC.js"/><link rel="modulepreload" href="/assets/Globe.es.CM9knrAE.js"/><link rel="modulepreload" href="/assets/Trash.es.DGN_A7Gb.js"/><link rel="modulepreload" href="/assets/Info.es.BBfWdyAE.js"/><link rel="modulepreload" href="/assets/Key.es.ClQqBiDz.js"/><link rel="modulepreload" href="/assets/Link.es.CkHbGvfr.js"/><link rel="modulepreload" href="/assets/Lock.es.D9SKs7xY.js"/><link rel="modulepreload" href="/assets/Package.es.rCn8Aym4.js"/><link rel="modulepreload" href="/assets/ShieldCheck.es.DJp127z_.js"/><link rel="modulepreload" href="/assets/Stack.es.DwCBOihs.js"/><link rel="modulepreload" href="/assets/TerminalWindow.es.BYAmArR9.js"/><link rel="modulepreload" href="/assets/UploadSimple.es.DIHmJHHu.js"/><link rel="modulepreload" href="/assets/Users.es.BjeYW2PC.js"/><link rel="modulepreload" href="/assets/tabs.BbG9WasU.js"/><link rel="modulepreload" href="/assets/Warning.es.C_TuUWri.js"/><link rel="modulepreload" href="/assets/CaretRight.es.BHIxx2Hu.js"/><link rel="modulepreload" href="/assets/ArrowCounterClockwise.es.DZKZCvtg.js"/><link rel="modulepreload" href="/assets/field.-frmMaDK.js"/><link rel="modulepreload" href="/assets/textarea.TSxm0oD9.js"/><link rel="modulepreload" href="/assets/label.Bw1J3VIE.js"/><link rel="modulepreload" href="/assets/CaretDown.es.v0qXmIHr.js"/><link rel="modulepreload" href="/assets/input.DOXS53Hb.js"/><link rel="modulepreload" href="/assets/tools.GtLVLAj0.js"/><link rel="modulepreload" href="/assets/Eye.es.pX1VaSs6.js"/><link rel="modulepreload" href="/assets/MagnifyingGlass.es.BnyZmOn0.js"/><link rel="modulepreload" href="/assets/ArrowLeft.es.Bp96g4jV.js"/><link rel="modulepreload" href="/assets/FileText.es.DmbLYXgr.js"/><link rel="modulepreload" href="/assets/Hash.es.YvkMOtsN.js"/><link rel="modulepreload" href="/assets/skeleton.i4c8H1n4.js"/><link rel="modulepreload" href="/assets/KeyAccessors.CfLgbGqN.js"/><link rel="modulepreload" href="/assets/separator.Baq28S32.js"/><link rel="modulepreload" href="/assets/GeneralNotifications.vZC5Rmas.js"/><link rel="modulepreload" href="/assets/Notify.CgSq4mlz.js"/>
1<script> 2 ;(function () { 3 var ATTRIBUTE = 'data-signed-in' 4 var SIGNED_IN = /(?:^|;\s*)envless_signed_in=1(?:;|$)/ 5 var VISIBLE = 'visible' 6 7 var Apply = function () { 8 try { 9 var root = document.documentElement 10 11 if (SIGNED_IN.test(document.cookie)) root.setAttribute(ATTRIBUTE, '') 12 else root.removeAttribute(ATTRIBUTE) 13 } catch (error) {} 14 } 15 16 Apply() 17 18 try { 19 window.addEventListener('pageshow', Apply) 20 document.addEventListener('visibilitychange', function () { 21 if (document.visibilityState === VISIBLE) Apply() 22 }) 23 } catch (error) {} 24 })() 25</script>
25<script> 26 ;(function () { 27 var STORAGE_KEY = 'theme' 28 var ATTRIBUTE = 'data-theme' 29 var CHOICE_ATTRIBUTE = 'data-theme-choice' 30 var DEFAULT_THEME = 'system' 31 var THEMES = { light: 'light', dark: 'dark', system: 'system' } 32 var THEME_COLORS = { light: '#eeeeee', dark: '#0e0e0e' } 33 var QUERY = '(prefers-color-scheme: dark)' 34 35 var Choice = function () { 36 var stored = null 37 38 try { 39 stored = localStorage.getItem(STORAGE_KEY) 40 } catch (error) {} 41 42 return THEMES[stored] || DEFAULT_THEME 43 } 44 45 var Resolve = function (choice) { 46 if (choice === THEMES.system) return window.matchMedia(QUERY).matches ? THEMES.dark : THEMES.light 47 48 return choice 49 } 50 51 var Paint = function (root) { 52 var choice = Choice() 53 var theme = Resolve(choice) 54 55 root.setAttribute(ATTRIBUTE, theme) 56 root.setAttribute(CHOICE_ATTRIBUTE, choice) 57 root.style.colorScheme = theme 58 59 var meta = root.querySelector('meta[name="theme-color"]') 60 61 if (meta) meta.setAttribute('content', THEME_COLORS[theme]) 62 } 63 64 Paint(document.documentElement) 65 })() 66</script>
66<script> 67 window.dataLayer=window.dataLayer||[]; 68 function gtag(){dataLayer.push(arguments)} 69 window.gtag = gtag; 70 gtag('js', new Date()); 71 gtag('config', 'G-GCQTS927CB', { send_page_view: false }); 72 </script>
72<script> 73 window.addEventListener('pageshow', function () { 74 if (typeof window.gtag !== 'function') return; 75 window.gtag('event', 'page_view', { 76 page_path: location.pathname + location.search, 77 page_location: location.href, 78 page_title: document.title 79 }); 80 }); 81 </script>
81<script> 82 (function(id){ 83 var fired=false; 84 var events=['pointerdown','keydown','touchstart','scroll']; 85 function load(){ 86 if(fired)return; fired=true; 87 events.forEach(function(ev){window.removeEventListener(ev,load)}); 88 (function(c,s,q,u,a,r,e){ 89 c.hj=c.hj||function(){(c.hj.q=c.hj.q||[]).push(arguments)}; 90 c._hjSettings={hjid:a}; 91 r=s.getElementsByTagName('head')[0]; 92 e=s.createElement('script'); 93 e.async=true; 94 e.src=q+c._hjSettings.hjid+u; 95 r.appendChild(e); 96 })(window,document,'https://static.hj.contentsquare.net/c/csq-','.js',id); 97 } 98 events.forEach(function(ev){window.addEventListener(ev,load,{passive:true,once:true})}); 99 if('requestIdleCallback' in window){requestIdleCallback(load,{timeout:5000})}else{setTimeout(load,4000)} 100 })('6717660'); 101 </script>
101<script> 102 (function(id){ 103 var fired=false; 104 var events=['pointerdown','keydown','touchstart','scroll']; 105 function load(){ 106 if(fired)return; fired=true; 107 events.forEach(function(ev){window.removeEventListener(ev,load)}); 108 (function(c,l,a,r,i,t,y){ 109 c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; 110 t=l.createElement(r);t.async=1;t.src='https://www.clarity.ms/tag/'+i; 111 y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); 112 })(window,document,'clarity','script',id); 113 } 114 events.forEach(function(ev){window.addEventListener(ev,load,{passive:true,once:true})}); 115 if('requestIdleCallback' in window){requestIdleCallback(load,{timeout:5000})}else{setTimeout(load,4000)} 116 })('wvi00rs8qy'); 117 </script>
117<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://envless.cloud/#organization","name":"Envless","url":"https://envless.cloud","logo":{"@type":"ImageObject","url":"https://envless.cloud/logos/clients/envless.svg","width":142,"height":40},"sameAs":["https://facebook.com/goenvless","https://instagram.com/goenvless","https://youtube.com/@goenvless","https://linkedin.com/company/goenvless","https://www.tiktok.com/@goenvless","https://threads.net/@goenvless","https://x.com/goenvless"],"contactPoint":{"@type":"ContactPoint","email":"[email protected]","contactType":"customer support","availableLanguage":["en"]}},{"@type":"WebSite","@id":"https://envless.cloud/#website","url":"https://envless.cloud","name":"Envless","publisher":{"@id":"https://envless.cloud/#organization"},"inLanguage":"en"},{"@type":"SoftwareApplication","@id":"https://envless.cloud/#software","name":"Envless","url":"https://envless.cloud","applicationCategory":"DeveloperApplication","operatingSystem":"Web","description":"End-to-end encrypted environment variable and secrets management for developers and teams. CLI, dashboard, SDKs, and zero-trust collaboration.","offers":{"@type":"AggregateOffer","priceCurrency":"USD","lowPrice":"0","highPrice":"50","offerCount":4},"provider":{"@id":"https://envless.cloud/#organization"}},{"@type":"SoftwareSourceCode","@id":"https://envless.cloud/#sdk-ts","name":"Envless TypeScript SDK","programmingLanguage":"TypeScript","runtimePlatform":"Node.js, Bun, Deno","targetProduct":{"@id":"https://envless.cloud/#software"}},{"@type":"SoftwareSourceCode","@id":"https://envless.cloud/#sdk-python","name":"Envless Python SDK","programmingLanguage":"Python","runtimePlatform":"Python 3.10 or newer","targetProduct":{"@id":"https://envless.cloud/#software"}},{"@type":"SoftwareSourceCode","@id":"https://envless.cloud/#sdk-ruby","name":"Envless Ruby SDK","programmingLanguage":"Ruby","runtimePlatform":"Ruby 3.2 or newer","targetProduct":{"@id":"https://envless.cloud/#software"}},{"@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://envless.cloud/"},{"@type":"ListItem","position":2,"name":"Documentation","item":"https://envless.cloud/docs/getting-started"},{"@type":"ListItem","position":3,"name":"Guides","item":"https://envless.cloud/docs/getting-started"},{"@type":"ListItem","position":4,"name":"Getting Started","item":"https://envless.cloud/docs/getting-started"}]}]}</script>
117<noscript><style> 118 :has(> .sliding-highlight) > [aria-pressed='true'] { 119 background-color: var(--primary) !important; 120 } 121 122 .nav-link:not([aria-current='page']):hover, 123 .footer-link:not([aria-current='page']):hover { 124 background-color: color-mix(in srgb, var(--foreground) 5%, transparent); 125 } 126 </style></noscript>
126<script> 127 document.addEventListener('dragstart', function (event) { 128 var el = event.target 129 130 if (el && el.closest && el.closest('img, a')) event.preventDefault() 131 }) 132 133 window.addEventListener('unhandledrejection', function (event) { 134 var reason = event.reason 135 136 if (reason && reason.name === 'AbortError' && /transition was skipped/i.test(reason.message)) { 137 event.preventDefault() 138 } 139 }) 140 141 document.documentElement.classList.add('js-animate') 142 143 setTimeout(function () { 144 if (!document.documentElement.dataset.animateReady) { 145 document.documentElement.classList.remove('js-animate') 146 } 147 }, 2000) 148 </script>
148<link rel="stylesheet" href="/assets/site-layout.CUHcOFVX.css"/><link rel="stylesheet" href="/assets/docs.PTH0J2mg.css"/><link rel="stylesheet" href="/assets/prose.C7qQiuK2.css"/></head><body class="antialiased overflow-x-hidden bg-sidebar"><nav id="navbar" class="fixed top-0 left-0 right-0 z-50 transition-all"><div class="max-w-section mx-auto px-5 md:px-[60px]"><div id="navbar-inner" class="flex items-center gap-2 lg:gap-4 scrolled"><a aria-label="Envless home" class="flex items-center shrink-0 cursor-pointer relative z-10 transition-opacity hover:opacity-80 before:absolute before:inset-x-0 before:-inset-y-2.5 before:content-[""] sm:before:hidden" href="/" data-discover="true"><svg id="navbar-logo" width="123" height="30" viewBox="0 0 360 88" fill="none" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" class="text-foreground h-[28px] w-auto transition-all"><path d="M64.6944 43.1296C64.6944 55.014 55.014 64.6944 43.1296 64.6944C31.1971 64.6944 21.5648 55.062 21.5648 43.1296C21.5648 31.1971 31.1971 21.5648 43.1296 21.5648C55.062 21.5648 64.6944 31.1971 64.6944 43.1296H86.259C86.259 19.3124 66.9467 0 43.1296 0C19.3124 0 0 19.3124 0 43.1296C0 66.9467 19.3124 86.2591 43.1296 86.2591C50.9887 86.2591 58.3687 84.1506 64.6944 80.5084V43.1296Z" fill="url(#navbar-logo-mark-gradient)"></path><path d="M111.836 67.1913V18.8862H143.372V25.994H120.669V39.2434H141.302V46.1441H120.669V60.0836H143.372V67.1913H111.836ZM151.524 67.1913V32.9637H159.321L160.011 38.7603C161.07 36.736 162.588 35.126 164.566 33.9298C166.59 32.7336 168.959 32.1356 171.674 32.1356C175.906 32.1356 179.195 33.4698 181.542 36.1381C183.888 38.8063 185.062 42.7167 185.062 47.8693V67.1913H176.228V48.6974C176.228 45.7531 175.63 43.4987 174.434 41.9346C173.238 40.3706 171.375 39.5884 168.844 39.5884C166.36 39.5884 164.313 40.4624 162.703 42.2106C161.139 43.9589 160.357 46.397 160.357 49.5254V6
1487.1913H151.524ZM202.416 67.1913L189.857 32.9637H199.104L207.799 58.8414L216.494 32.9637H225.742L213.113 67.1913H202.416ZM231.312 67.1913V17.5061H240.146V67.1913H231.312ZM265.802 68.0194C262.352 68.0194 259.293 67.2834 256.624 65.8111C253.957 64.339 251.862 62.2688 250.344 59.6005C248.826 56.9323 248.067 53.8498 248.067 50.3535C248.067 46.8111 248.804 43.6598 250.276 40.8995C251.793 38.1392 253.863 36 256.486 34.4819C259.155 32.9178 262.283 32.1356 265.871 32.1356C269.23 32.1356 272.198 32.8717 274.773 34.3438C277.35 35.8161 279.351 37.8402 280.776 40.4165C282.249 42.9467 282.985 45.776 282.985 48.9044C282.985 49.4105 282.963 49.9395 282.915 50.4915C282.915 51.0436 282.893 51.6187 282.846 52.2167H256.831C257.016 54.8849 257.935 56.9782 259.591 58.4964C261.294 60.0145 263.341 60.7736 265.733 60.7736C267.527 60.7736 269.023 60.3826 270.219 59.6005C271.461 58.7724 272.381 57.7143 272.978 56.4261H281.949C281.307 58.5885 280.224 60.5666 278.706 62.3608C277.235 64.109 275.394 65.4891 273.186 66.5012C271.025 67.5133 268.562 68.0194 265.802 68.0194ZM265.871 39.3123C263.71 39.3123 261.799 39.9334 260.143 41.1755C258.487 42.3717 257.43 44.2119 256.969 46.6962H274.014C273.876 44.442 273.048 42.6478 271.53 41.3136C270.011 39.9793 268.127 39.3123 265.871 39.3123ZM304.561 68.0194C301.524 68.0194 298.856 67.5363 296.555 66.5703C294.257 65.5582 292.415 64.1781 291.035 62.4297C289.655 60.6815 288.827 58.6574 288.551 56.3572H297.453C297.728 57.6913 298.466 58.8414 299.661 59.8075C300.903 60.7276 302.49 61.1877 304.422 61.1877C306.354 61.1877 307.758 60.7967 308.632 60.0145C309.553 59.2324 310.012 58.3353 310.012 57.3232C310.012 55.8511 309.369 54.8621 308.08 54.3559C306.792 53.8039 304.998 53.2749 302.697 52.7688C301.226 52.4468 299.73 52.0556 298.211 51.5957C296.694 51.1357 295.291 50.5606 294.002 49.8705C292.76 49.1344 291.749 48.2143 290.966 47.1101C290.185 45.9601 289.793 44.5569 289.793 42.9007C289.793 39.8645 290.99 37.3112 293.381 35.2409C295.82 33.1707 299.225 32.1356 303.594 32.1356C307.644 32.1356 310.864 33.0787 313.256 34.9649C315.694 36.8512 317.143 39.4504 317.603 42.7628H309.253C308.748 40.2325 306.837 38.9673 303.525 38.9673C301.869 38.9673 300.581 39.2893 299.661 39.9334C298.788 40.5776 298.35 41.3826 298.35 42.3487C298.35 43.3607 299.018 44.1659 300.351 44.7639C301.686 45.3619 303.456 45.914 305.664 46.4201C308.058 46.9721 310.242 47.5932 312.22 48.2833C314.245 48.9274 315.856 49.9164 317.051 51.2507C318.248 52.5387 318.845 54.4019 318.845 56.8402C318.892 58.9564 318.34 60.8657 317.188 62.5678C316.039 64.2699 314.383 65.6041 312.22 66.5703C310.059 67.5363 307.506 68.0194 304.561 68.0194ZM340.816 68.0194C337.78 68.0194 335.113 67.5363 332.811 66.5703C33
1480.511 65.5582 328.671 64.1781 327.291 62.4297C325.910 60.6815 325.082 58.6574 324.807 56.3572H333.708C333.985 57.6913 334.720 58.8414 335.917 59.8075C337.159 60.7276 338.746 61.1877 340.678 61.1877C342.611 61.1877 344.014 60.7967 344.888 60.0145C345.809 59.2324 346.268 58.3353 346.268 57.3232C346.268 55.8511 345.623 54.8621 344.336 54.3559C343.048 53.8039 341.254 53.2749 338.953 52.7688C337.480 52.4468 335.986 52.0556 334.468 51.5957C332.949 51.1357 331.546 50.5606 330.258 49.8705C329.016 49.1344 328.005 48.2143 327.222 47.1101C326.440 45.9601 326.049 44.5569 326.049 42.9007C326.049 39.8645 327.246 37.3112 329.637 35.2409C332.076 33.1707 335.480 32.1356 339.850 32.1356C343.898 32.1356 347.120 33.0787 349.511 34.9649C351.950 36.8512 353.399 39.4504 353.859 42.7628H345.509C345.003 40.2325 343.094 38.9673 339.781 38.9673C338.125 38.9673 336.838 39.2893 335.917 39.9334C335.044 40.5776 334.605 41.3826 334.605 42.3487C334.605 43.3607 335.272 44.1659 336.607 44.7639C337.942 45.3619 339.712 45.914 341.920 46.4201C344.312 46.9721 346.498 47.5932 348.476 48.2833C350.501 48.9274 352.110 49.9164 353.307 51.2507C354.504 52.5387 355.101 54.4019 355.101 56.8402C355.146 58.9564 354.595 60.8657 353.445 62.5678C352.295 64.2699 350.639 65.6041 348.476 66.5703C346.314 67.5363 343.761 68.0194 340.816 68.0194Z" fill="currentColor"></path><defs><linearGradient id="navbar-logo-mark-gradient" x1="31.3059" y1="38.0401" x2="83.5634" y2="88.5051" gradientUnits="userSpaceOnUse"><stop stop-color="var(--brand-gradient-from)"></stop><stop offset="0.682299" stop-color="var(--brand-gradient-to)"></stop></linearGradient></defs></svg></a><div id="navbar-links" class="nav-tabs relative hidden md:flex items-center gap-0.5 transition-all"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground
148/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><a class="nav-link nav-features__trigger nav-link text-body hover:text-foreground text-[14px] font-medium px-2.5 lg:px-3.5 py-2 rounded-full transition-fx" aria-haspopup="true" aria-expanded="false" href="/features" data-discover="true"><span class="nav-features__label">Features</span><svg class="nav-features__chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M6 9l6 6 6-6"></path></svg></a><a class="nav-link nav-link text-body hover:text-foreground text-[14px] font-medium px-2.5 lg:px-3.5 py-2 rounded-full transition-fx" href="/pricing" data-discover="true">Pricing</a><a class="nav-link nav-link-active nav-link text-body hover:text-foreground text-[14px] font-medium px-2.5 lg:px-3.5 py-2 rounded-full transition-fx" aria-current="page" href="/docs/getting-started" data-discover="true">Documentation</a><a class="nav-link nav-link text-body hover:text-foreground text-[14px] font-medium px-2.5 lg:px-3.5 py-2 rounded-full transition-fx" href="/blog" data-discover="true">Blog</a><div class="nav-panel" style="left:0px"><div class="nav-panel__sections"><div class="nav-panel__section" role="menu"><div class="nav-features__grid"><span aria-hidden="true" class="sliding-highlight rounded-[12px] bg-foreground
148/5"></span><a class="nav-features__item" role="menuitem" href="/features/ai-agents" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M200,56H56A24,24,0,0,0,32,80V192a24,24,0,0,0,24,24H200a24,24,0,0,0,24-24V80A24,24,0,0,0,200,56ZM164,184H92a20,20,0,0,1,0-40h72a20,20,0,0,1,0,40Z" opacity="0.2"></path><path d="M200,48H136V16a8,8,0,0,0-16,0V48H56A32,32,0,0,0,24,80V192a32,32,0,0,0,32,32H200a32,32,0,0,0,32-32V80A32,32,0,0,0,200,48Zm16,144a16,16,0,0,1-16,16H56a16,16,0,0,1-16-16V80A16,16,0,0,1,56,64H200a16,16,0,0,1,16,16ZM72,108a12,12,0,1,1,12,12A12,12,0,0,1,72,108Zm88,0a12,12,0,1,1,12,12A12,12,0,0,1,160,108Zm4,28H92a28,28,0,0,0,0,56h72a28,28,0,0,0,0-56Zm-24,16v24H116V152ZM80,164a12,12,0,0,1,12-12h8v24H92A12,12,0,0,1,80,164Zm84,12h-8V152h8a12,12,0,0,1,0,24Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">AI agents</span><span class="nav-features__description">Working secrets, no .env file</span></span></a><a class="nav-features__item" role="menuitem" href="/features/cli" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M240,128l-48,40H64L16,128,64,88H192Z" opacity="0.2"></path><path d="M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.29l-48-40a8,8,0,0,1,0-12.29l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,1,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.29l48-40a8,8,0,0,0,0-12.29ZM162.73,32.48a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">The CLI</span><span class="nav-features__description">24 commands in your terminal</span></span></a><a class="nav-features__item" role="menuitem" href="/features/sdk" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z" opacity="0.2"></path><path d="M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">The SDKs</span><span class="nav-features__description">TypeScript, Python, Ruby and PHP clients</span></span></a><a class="nav-features__item" role="menuitem" href="/features/end-to-end-encryption" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M208,88H48a8,8,0,0,0-8,8V208a8,8,0,0,0,8,8H208a8,8,0,0,0,8-8V96A8,8,0,0,0,208,88Zm-80,72a20,20,0,1,1,20-20A20,20,0,0,1,128,160Z" opacity="0.2"></path><path d="M208,80H176V56a48,48,0,0,0-96,0V80H48A16,16,0,0,0,32,96V208a16,16,0,0,0,16,16H208a16,16,0,0,0,16-16V96A16,16,0,0,0,208,80ZM96,56a32,32,0,0,1,64,0V80H96ZM208,208H48V96H208V208Zm-80-96a28,28,0,0,0-8,54.83V184a8,8,0,0,0,16,0V166.83A28,28,0,0,0,128,112Zm0,40a12,12,0,1,1,12-12A12,12,0,0,1,128,152Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">End-to-end encryption</span><span class="nav-features__description">AES-256-GCM on your machine</span></span></a><a class="nav-features__item" role="menuitem" href="/features/versioning-and-audit" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z" opacity="0.2"></path><path d="M136,80v43.47l36.12,21.67a8,8,0,0,1-8.24,13.72l-40-24A8,8,0,0,1,120,128V80a8,8,0,0,1,16,0Zm-8-48A95.44,95.44,0,0,0,60.08,60.15C52.81,67.51,46.35,74.59,40,82V64a8,8,0,0,0-16,0v40a8,8,0,0,0,8,8H72a8,8,0,0,0,0-16H49c7.15-8.42,14.27-16.35,22.39-24.57a80,80,0,1,1,1.66,114.75,8,8,0,1,0-11,11.64A96,96,0,1,0,128,32Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">Versioning and history</span><span class="nav-features__description">Snapshots and full history</span></span></a><a class="nav-features__item" role="menuitem" href="/features/team-access-control" data-discover="true"><span class="nav-features__icon"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256"><path d="M168,144a40,40,0,1,1-40-40A40,40,0,0,1,168,144ZM64,56A32,32,0,1,0,96,88,32,32,0,0,0,64,56Zm128,0a32,32,0,1,0,32,32A32,32,0,0,0,192,56Z" opacity="0.2"></path><path d="M244.8,150.4a8,8,0,0,1-11.2-1.6A51.6,51.6,0,0,0,192,128a8,8,0,0,1,0-16,24,24,0,1,0-23.24-30,8,8,0,1,1-15.5-4A40,40,0,1,1,219,117.51a67.94,67.94,0,0,1,27.43,21.68A8,8,0,0,1,244.8,150.4ZM190.92,212a8,8,0,1,1-13.85,8,57,57,0,0,0-98.15,0,8,8,0,1,1-13.84-8,72.06,72.06,0,0,1,33.74-29.92,48,48,0,1,1,58.36,0A72.06,72.06,0,0,1,190.92,212ZM128,176a32,32,0,1,0-32-32A32,32,0,0,0,128,176ZM72,120a8,8,0,0,0-8-8A24,24,0,1,1,87.24,82a8,8,0,1,0,15.5-4A40,40,0,1,0,37,117.51,67.94,67.94,0,0,0,9.6,139.19a8,8,0,1,0,12.8,9.61A51.6,51.6,0,0,1,64,128,8,8,0,0,0,72,120Z"></path></svg></span><span class="nav-features__text"><span class="nav-features__name">Team access control</span><span class="nav-features__description">Roles and private products</span></span></a></div></div></div></div></div><div class="flex items-center gap-1"><a data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='
148size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent h-10 sm:h-9 py-2 has-[>svg]:px-3 nav-link text-foreground px-3 max-md:hidden" data-signed-out-only="" href="/dashboard" data-discover="true">Login</a><a data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-primary text-primary-foreground hover:bg-primary/90 h-10 sm:h-9 px-4 py-2 has-[>svg]:px-3 max-md:hidden" data-signed-out-only="" href="/dashboard" data-discover="true">Try now<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path></svg></a><a data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-primary text-primary-foreground hover:bg-primary/90 h-10 sm:h-9 px-4 py-2 has-[>svg]:px-3 max-md:hidden" data-signed-in-only="" href="/dashboard" data-discover="true">Open dashboard<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path></svg></a><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-secondary text-secondary-foreground hover:bg-secondary/80 size-10 sm:size-9 md:hidden before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden" id="mobile-menu-toggle" type="button" aria-label="Toggle menu" aria-expanded="false"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M216,64V192H40V64Z" opacity="0.2"></path><path d="M224,128a8,8,0,0,1-8,8H40a8,8,0,0,1,0-16H216A8,8,0,0,1,224,128ZM40,72H216a8,8,0,0,0,0-16H40a8,8,0,0,0,0,16ZM216,184H40a8,8,0,0,0,0,16H216a8,8,0,0,0,0-16Z"></path></svg></span></button></div></div></div><div id="mobile-menu" class="mobile-menu md:hidden fixed inset-x-0 top-0 bottom-0 z-40 bg-sidebar" inert=""><button data-slot="button" class="inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='
148size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-secondary text-secondary-foreground hover:bg-secondary/80 size-10 sm:size-9 absolute top-4 right-4 before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden" id="mobile-menu-close" type="button" aria-label="Close menu"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"></path></svg></span></button><div class="flex flex-col items-center justify-center-safe h-full gap-6 px-6 sm:px-8 py-16 overflow-y-auto"><div class="flex flex-col items-center gap-2"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground
148/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><a class="nav-link mobile-nav-link text-foreground text-xl font-display font-normal px-5 py-2 rounded-full transition-fx hover:text-primary-text" href="/features" data-discover="true">Features</a><a class="nav-link mobile-nav-link text-foreground text-xl font-display font-normal px-5 py-2 rounded-full transition-fx hover:text-primary-text" href="/pricing" data-discover="true">Pricing</a><a class="nav-link nav-link-active mobile-nav-link text-foreground text-xl font-display font-normal px-5 py-2 rounded-full transition-fx hover:text-primary-text" aria-current="page" href="/docs/getting-started" data-discover="true">Documentation</a><a class="nav-link mobile-nav-link text-foreground text-xl font-display font-normal px-5 py-2 rounded-full transition-fx hover:text-primary-text" href="/blog" data-discover="true">Blog</a></div><div class="h-px w-16 bg-hairline my-2"></div><a class="nav-link text-body text-lg font-normal px-5 py-2 rounded-full transition-fx hover:text-foreground" data-signed-out-only="" href="/dashboard" data-discover="true">Login</a><a data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-primary text-primary-foreground hover:bg-primary/90 h-10 sm:h-9 px-4 py-2 has-[>svg]:px-3 before:absolute before:inset-x-0 before:-inset-y-0.5 before:content-[""] sm:before:hidden" data-signed-out-only="" href="/dashboard" data-discover="true">Try now<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path></svg></a><a data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-primary text-primary-foreground hover:bg-primary/90 h-10 sm:h-9 px-4 py-2 has-[>svg]:px-3 before:absolute before:inset-x-0 before:-inset-y-0.5 before:content-[""] sm:before:hidden" data-signed-in-only="" href="/dashboard" data-discover="true">Open dashboard<svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path></svg></a></div></div></nav><main class="relative z-10 bg-sidebar"><div class="relative z-10"><div class="docs-shell min-h-screen bg-background pt-[var(--docs-bar-top)] pb-20 lg:pt-[7.5rem]"><div class="max-w-section mx-auto w-full px-5 md:px-[60px]"><div class="flex items-start gap-10"><aside id="docs-sidebar" aria-label="Documentation navigation" class="docs-drawer lg:sticky lg:top-28 lg:block lg:max-h-[calc(100vh-8.5rem)] lg:w-52 lg:shrink-0 lg:overflow-y-auto lg:pr-2 lg:pb-8"><div class="docs-drawer-head pb-6"><div class="mb-5 flex items-center justify-between lg:hidden"><span class="text-xs font-semibold tracking-wider text-foreground uppercase">Guides</span><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:bg-muted disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='
148size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary bg-secondary text-secondary-foreground hover:bg-secondary/80 size-11 sm:size-11" type="button" aria-label="Close documentation menu"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4" aria-hidden="true"><path d="M208.49,191.51a12,12,0,0,1-17,17L128,145,64.49,208.49a12,12,0,0,1-17-17L111,128,47.51,64.49a12,12,0,0,1,17-17L128,111l63.51-63.52a12,12,0,0,1,17,17L145,128Z"></path></svg></span></button></div><button type="button" aria-label="Search documentation" aria-haspopup="dialog" class="flex w-full items-center gap-2 rounded-xl bg-tertiary px-3 text-left text-sm text-muted-foreground transition-colors outline-none hover:cursor-pointer hover:bg-tertiary/70 focus-visible:ring-[3px] focus-visible:ring-ring/50 h-10"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4 shrink-0" aria-hidden="true"><path d="M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z" opacity="0.2"></path><path d="M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"></path></svg><span class="min-w-0 flex-1 truncate">Search docsâ¦</span><kbd data-slot="command-shortcut" class="h-5 min-w-5 items-center justify-center rounded-md bg-muted px-1.5 font-primary text-[11px] leading-none text-muted-foreground hidden sm:inline-flex">âK</kbd></button></div><div class="docs-sidebar flex flex-col gap-6"><nav aria-label="Sections" class="relative [&>*:not(.sliding-highlight)]:relative [&>*:not(.sliding-highlight)]:z-[1]"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground
148/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><ul class="flex flex-col gap-px"><li><a aria-current="true" class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground font-medium" href="/docs/getting-started" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M128,32a96,96,0,1,0,96,96A96,96,0,0,0,128,32Zm16,112L80,176l32-64,64-32Z" opacity="0.2"></path><path d="M128,24A104,104,0,1,0,232,128,104.11,104.11,0,0,0,128,24Zm0,192a88,88,0,1,1,88-88A88.1,88.1,0,0,1,128,216ZM172.42,72.84l-64,32a8.05,8.05,0,0,0-3.58,3.58l-32,64A8,8,0,0,0,80,184a8.1,8.1,0,0,0,3.58-.84l64-32a8.05,8.05,0,0,0,3.58-3.58l32-64a8,8,0,0,0-10.74-10.74ZM138,138,97.89,158.11,118,118l40.15-20.07Z"></path></svg></span><span>Guides</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/manage/init" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M216,80V192H40V64H200A16,16,0,0,1,216,80Z" opacity="0.2"></path><path d="M117.31,134l-72,64a8,8,0,1,1-10.63-12L100,128,34.69,70A8,8,0,1,1,45.32,58l72,64a8,8,0,0,1,0,12ZM216,184H120a8,8,0,0,0,0,16h96a8,8,0,0,0,0-16Z"></path></svg></span><span>CLI</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/pull/runtime" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M240,128c-64,0,0,88-64,88H80c-64,0,0-88-64-88,64,0,0-88,64-88h96C240,40,176,128,240,128Z" opacity="0.2"></path><path d="M43.18,128a29.78,29.78,0,0,1,8,10.26c4.8,9.9,4.8,22,4.8,33.74,0,24.31,1,36,24,36a8,8,0,0,1,0,16c-17.48,0-29.32-6.14-35.2-18.26-4.8-9.9-4.8-22-4.8-33.74,0-24.31-1-36-24-36a8,8,0,0,1,0-16c23,0,24-11.69,24-36,0-11.72,0-23.84,4.8-33.74C50.68,38.14,62.52,32,80,32a8,8,0,0,1,0,16C57,48,56,59.69,56,84c0,11.72,0,23.84-4.8,33.74A29.78,29.78,0,0,1,43.18,128ZM240,120c-23,0-24-11.69-24-36,0-11.72,0-23.84-4.8-33.74C205.32,38.14,193.48,32,176,32a8,8,0,0,0,0,16c23,0,24,11.69,24,36,0,11.72,0,23.84,4.8,33.74a29.78,29.78,0,0,0,8,10.26,29.78,29.78,0,0,0-8,10.26c-4.8,9.9-4.8,22-4.8,33.74,0,24.31-1,36-24,36a8,8,0,0,0,0,16c17.48,0,29.32-6.14,35.2-18.26,4.8-9.9,4.8-22,4.8-33.74,0-24.31,1-36,24-36a8,8,0,0,0,0-16Z"></path></svg></span><span>Env</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/sdk/overview" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M128,129.09V232a8,8,0,0,1-3.84-1l-88-48.18a8,8,0,0,1-4.16-7V80.18a8,8,0,0,1,.7-3.25Z" opacity="0.2"></path><path d="M223.68,66.15,135.68,18a15.88,15.88,0,0,0-15.36,0l-88,48.17a16,16,0,0,0-8.32,14v95.64a16,16,0,0,0,8.32,14l88,48.17a15.88,15.88,0,0,0,15.36,0l88-48.17a16,16,0,0,0,8.32-14V80.18A16,16,0,0,0,223.68,66.15ZM128,32l80.34,44-29.77,16.3-80.35-44ZM128,120,47.66,76l33.9-18.56,80.34,44ZM40,90l80,43.78v85.79L40,175.82Zm176,85.78h0l-80,43.79V133.82l32-17.51V152a8,8,0,0,0,16,0V107.55L216,90v85.77Z"></path></svg></span><span>SDK</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/python/overview" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M208,88H152V32Z" opacity="0.2"></path><path d="M213.66,82.34l-56-56A8,8,0,0,0,152,24H56A16,16,0,0,0,40,40v72a8,8,0,0,0,16,0V40h88V88a8,8,0,0,0,8,8h48V216H168a8,8,0,0,0,0,16h32a16,16,0,0,0,16-16V88A8,8,0,0,0,213.66,82.34ZM160,51.31,188.69,80H160ZM64,144H48a8,8,0,0,0-8,8v56a8,8,0,0,0,16,0v-8h8a28,28,0,0,0,0-56Zm0,40H56V160h8a12,12,0,0,1,0,24Zm90.78-27.76-18.78,30V208a8,8,0,0,1-16,0V186.29l-18.78-30a8,8,0,1,1,13.56-8.48L128,168.91l13.22-21.15a8,8,0,1,1,13.56,8.48Z"></path></svg></span><span>Python</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/ruby/overview" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M229.67,133.62l-96,96a7.94,7.94,0,0,1-11.24,0l-96-96a7.94,7.94,0,0,1,0-11.24l96.05-96a7.94,7.94,0,0,1,11.24,0l96,96.05A7.94,7.94,0,0,1,229.67,133.62Z" opacity="0.2"></path><path d="M235.33,116.72,139.28,20.66a16,16,0,0,0-22.56,0l-96,96.06a16,16,0,0,0,0,22.56l96.05,96.06h0a16,16,0,0,0,22.56,0l96.05-96.06a16,16,0,0,0,0-22.56ZM128,224h0L32,128,128,32,224,128Z"></path></svg></span><span>Ruby</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/php/overview" data-discover="true"><span>PHP</span></a></li><li><a class="docs-sidebar-section flex items-center gap-2 rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" href="/docs/api/overview" data-discover="true"><span class="inline-flex shrink-0 transition-fx text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M185,127,127,185a24,24,0,0,1-33.94,0L71,162.91A24,24,0,0,1,71,129L129,71a24,24,0,0,1,33.94,0L185,93.09A24,24,0,0,1,185,127Z" opacity="0.2"></path><path d="M237.66,18.34a8,8,0,0,0-11.32,0l-52.4,52.41-5.37-5.38a32.05,32.05,0,0,0-45.26,0L100,88.69l-6.34-6.35A8,8,0,0,0,82.34,93.66L88.69,100,65.37,123.31a32,32,0,0,0,0,45.26l5.38,5.37-52.41,52.4a8,8,0,0,0,11.32,11.32l52.4-52.41,5.37,5.38a32.06,32.06,0,0,0,45.26,0L156,167.31l6.34,6.35a8,8,0,0,0,11.32-11.32L167.31,156l23.32-23.31a32,32,0,0,0,0-45.26l-5.38-5.37,52.41-52.4A8,8,0,0,0,237.66,18.34Zm-116.29,161a16,16,0,0,1-22.62,0L76.69,157.25a16,16,0,0,1,0-22.62L100,111.31,144.69,156Zm57.94-57.94h0L156,144.69,111.31,100l23.32-23.31a16,16,0,0,1,22.62,0l22.06,22a16,16,0,0,1,0,22.63ZM88.57,35A8,8,0,0,1,103.43,29l8,20A8,8,0,0,1,96.57,55ZM24.57,93A8,8,0,0,1,35,88.57l20,8A8,8,0,0,1,49,111.43l-20-8A8,8,0,0,1,24.57,93ZM231.43,163a8,8,0,0,1-10.4,4.46l-20-8A8,8,0,1,1,207,144.57l20,8A8,8,0,0,1,231.43,163Zm-64,58.06A8,8,0,0,1,152.57,227l-8-20A8,8,0,0,1,159.43,201Z"></path></svg></span><span>API</span></a></li></ul></nav>
148<hr class="my-1 h-px border-0 bg-foreground/[0.06]" aria-hidden="true"/><nav aria-label="Documentation pages" class="flex flex-col gap-7 relative [&>*:not(.sliding-highlight)]:relative [&>*:not(.sliding-highlight)]:z-[1]"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z" opacity="0.2"></path><path d="M144,176a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176Zm88-48A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128ZM124,96a12,12,0,1,0-12-12A12,12,0,0,0,124,96Z"></path></svg></span><span>Introduction</span></p><ul class="flex flex-col gap-px"><li><a aria-current="page" class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground font-medium" title="Getting Started" href="/docs/getting-started" data-discover="true">Getting Started</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Concepts" href="/docs/concepts" data-discover="true">Concepts</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Installation" href="/docs/installation" data-discover="true">Installation</a></li></ul></div><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z" opacity="0.2"></path><path d="M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40Zm0,160H40V56H216V200ZM80,84A12,12,0,1,1,68,72,12,12,0,0,1,80,84Zm40,0a12,12,0,1,1-12-12A12,12,0,0,1,120,84Z"></path></svg></span><span>Dashboard</span></p><ul class="flex flex-col gap-px"><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Variables" href="/docs/dashboard/variables" data-discover="true">Variables</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Raw .env editor" href="/docs/dashboard/raw-editor" data-discover="true">Raw .env editor</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Compare" href="/docs/manage/compare" data-discover="true">Compare</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Shortcuts" href="/docs/reference/shortcuts" data-discover="true">Shortcuts</a></li></ul></div><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M192,96a64,64,0,1,1-64-64A64,64,0,0,1,192,96Z" opacity="0.2"></path><path d="M230.92,212c-15.23-26.33-38.7-45.21-66.09-54.16a72,72,0,1,0-73.66,0C63.78,166.78,40.31,185.66,25.08,212a8,8,0,1,0,13.85,8c18.84-32.56,52.14-52,89.07-52s70.23,19.44,89.07,52a8,8,0,1,0,13.85-8ZM72,96a56,56,0,1,1,56,56A56.06,56.06,0,0,1,72,96Z"></path></svg></span><span>Account</span></p><ul class="flex flex-col gap-px"><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Signing in" href="/docs/auth/sign-in" data-discover="true">Signing in</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Two-factor" href="/docs/auth/two-factor" data-discover="true">Two-factor</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Unlock" href="/docs/auth/unlock" data-discover="true">Unlock</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Step-up verification" href="/docs/auth/step-up" data-discover="true">Step-up verification</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Account" href="/docs/manage/account" data-discover="true">Account</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Notifications" href="/docs/manage/notifications" data-discover="true">Notifications</a></li></ul></div><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M224,80l-96,56L32,80l96-56Z" opacity="0.2"></path><path d="M230.91,172A8,8,0,0,1,228,182.91l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,36,169.09l92,53.65,92-53.65A8,8,0,0,1,230.91,172ZM220,121.09l-92,53.65L36,121.09A8,8,0,0,0,28,134.91l96,56a8,8,0,0,0,8.06,0l96-56A8,8,0,1,0,220,121.09ZM24,80a8,8,0,0,1,4-6.91l96-56a8,8,0,0,1,8.06,0l96,56a8,8,0,0,1,0,13.82l-96,56a8,8,0,0,1-8.06,0l-96-56A8,8,0,0,1,24,80Zm23.88,0L128,126.74,208.12,80,128,33.26Z"></path></svg></span><span>Workspace</span></p><ul class="flex flex-col gap-px"><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Plans and billing" href="/docs/manage/plans-and-billing" data-discover="true">Plans and billing</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Onboarding a teammate" href="/docs/manage/onboarding-a-teammate" data-discover="true">Onboarding a teammate</a></li></ul></div><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M207.86,123.18l16.78-21a99.14,99.14,0,0,0-10.07-24.29l-26.7-3a81,81,0,0,0-6.81-6.81l-3-26.71a99.43,99.43,0,0,0-24.3-10l-21,16.77a81.59,81.59,0,0,0-9.64,0l-21-16.78A99.14,99.14,0,0,0,77.91,41.43l-3,26.7a81,81,0,0,0-6.81,6.81l-26.71,3a99.43,99.43,0,0,0-10,24.3l16.77,21a81.59,81.59,0,0,0,0,9.64l-16.78,21a99.14,99.14,0,0,0,10.07,24.29l26.7,3a81,81,0,0,0,6.81,6.81l3,26.71a99.43,99.43,0,0,0,24.3,10l21-16.77a81.59,81.59,0,0,0,9.64,0l21,16.78a99.14,99.14,0,0,0,24.29-10.07l3-26.7a81,81,0,0,0,6.81-6.81l26.71-3a99.43,99.43,0,0,0,10-24.3l-16.77-21A81.59,81.59,0,0,0,207.86,123.18ZM128,168a40,40,0,1,1,40-40A40,40,0,0,1,128,168Z" opacity="0.2"></path><path d="M128,80a48,48,0,1,0,48,48A48.05,48.05,0,0,0,128,80Zm0,80a32,32,0,1,1,32-32A32,32,0,0,1,128,160Zm88-29.84q.06-2.16,0-4.32l14.92-18.64a8,8,0,0,0,1.48-7.06,107.6,107.6,0,0,0-10.88-26.25,8,8,0,0,0-6-3.93l-23.72-2.64q-1.48-1.56-3-3L186,40.54a8,8,0,0,0-3.94-6,107.29,107.29,0,0,0-26.25-10.86,8,8,0,0,0-7.06,1.48L130.16,40Q128,40,125.84,40L107.2,25.11a8,8,0,0,0-7.06-1.48A107.6,107.6,0,0,0,73.89,34.51a8,8,0,0,0-3.93,6L67.32,64.27q-1.56,1.49-3,3L40.54,70a8,8,0,0,0-6,3.94,107.71,107.71,0,0,0-10.87,26.25,8,8,0,0,0,1.49,7.06L40,125.84Q40,128,40,130.16L25.11,148.8a8,8,0,0,0-1.48,7.06,107.6,107.6,0,0,0,10.88,26.25,8,8,0,0,0,6,3.93l23.72,2.64q1.49,1.56,3,3L70,215.46a8,8,0,0,0,3.94,6,107.71,107.71,0,0,0,26.25,10.87,8,8,0,0,0,7.06-1.49L125.84,216q2.16.06,4.32,0l18.64,14.92a8,8,0,0,0,7.06,1.48,107.21,107.21,0,0,0,26.25-10.88,8,8,0,0,0,3.93-6l2.64-23.72q1.56-1.48,3-3L215.46,186a8,8,0,0,0,6-3.94,107.71,107.71,0,0,0,10.87-26.25,8,8,0,0,0-1.49-7.06Zm-16.1-6.5a73.93,73.93,0,0,1,0,8.68,8,8,0,0,0,1.74,5.48l14.19,17.73a91.57,91.57,0,0,1-6.23,15L187,173.11a8,8,0,0,0-5.1,2.64,74.11,74.11,0,0,1-6.14,6.14,8,8,0,0,0-2.64,5.1l-2.51,22.58a91.32,91.32,0,0,1-15,6.23l-17.74-14.19a8,8,0,0,0-5-1.75h-.48a73.93,73.93,0,0,1-8.68,0,8.06,8.06,0,0,0-5.48,1.74L100.45,215.8a91.57,91.57,0,0,1-15-6.23L82.89,187a8,8,0,0,0-2.64-5.1,74.11,74.11,0,0,1-6.14-6.14,8,8,0,0,0-5.1-2.64L46.43,170.6a91.32,91.32,0,0,1-6.23-15l14.19-17.74a8,8,0,0,0,1.74-5.48,73.93,73.93,0,0,1,0-8.68,8,8,0,0,0-1.74-5.48L40.2,100.45a91.57,91.57,0,0,1,6.23-15L69,82.89a8,8,0,0,0,5.1-2.64,74.11,74.11,0,0,1,6.14-6.14A8,8,0,0,0,82.89,69L85.4,46.43a91.32,91.32,0,0,1,15-6.23l17.74,14.19a8,8,0,0,0,5.48,1.74,73.93,73.93,0,0,1,8.68,0,8.06,8.06,0,0,0,5.48-1.74L155.55,40.2a91.57,91.57,0,0,1,15,6.23L173.11,69a8,8,0,0,0,2.64,5.1,74.11,74.11,0,0,1,6.14,6.14,8,8,0,0,0,5.1,2.64l22.58,2.51a91.32,91.32,0,0,1,6.23,15l-14.19,17.74A8,8,0,0,0,199.87,123.66Z"></path></svg></span><span>Production</span></p><ul class="flex flex-col gap-px"><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Keys" href="/docs/auth/keys" data-discover="true">Keys</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Machine & CI access" href="/docs/production/machine" data-discover="true">Machine & CI access</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Production & CI" href="/docs/production/ci-cd" data-discover="true">Production & CI</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Virtual environments (encrypted JSON feed)" href="/docs/pull/virtual-envs" data-discover="true">Virtual environments (encrypted JSON feed)</a></li><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Example links (.env.example feed)" href="/docs/pull/env-example" data-discover="true">Example links (.env.example feed)</a></li></ul></div><div><p class="mb-2 flex items-center gap-2 px-3 text-xs font-semibold tracking-wider text-foreground uppercase"><span class="inline-flex shrink-0 text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M232,56V200H160a32,32,0,0,0-32,32,32,32,0,0,0-32-32H24V56H96a32,32,0,0,1,32,32,32,32,0,0,1,32-32Z" opacity="0.2"></path><path d="M232,48H160a40,40,0,0,0-32,16A40,40,0,0,0,96,48H24a8,8,0,0,0-8,8V2
14800a8,8,0,0,0,8,8H96a24,24,0,0,1,24,24,8,8,0,0,0,16,0,24,24,0,0,1,24-24h72a8,8,0,0,0,8-8V56A8,8,0,0,0,232,48ZM96,192H32V64H96a24,24,0,0,1,24,24V200A39.81,39.81,0,0,0,96,192Zm128,0H160a39.81,39.81,0,0,0-24,8V88a24,24,0,0,1,24-24h64Z"></path></svg></span><span>Reference</span></p><ul class="flex flex-col gap-px"><li><a class="docs-sidebar-link block truncate rounded-full px-3 py-1.5 text-[14px] leading-5 text-body transition-fx hover:text-foreground" title="Troubleshooting" href="/docs/reference/troubleshooting" data-discover="true">Troubleshooting</a></li></ul></div></nav></div></aside><div class="min-w-0 flex-1"><div class="docs-mobile-bar -mx-4 flex items-center gap-1 rounded-full p-1 md:-mr-1.5 md:-ml-5 lg:hidden mb-8"><button type="button" class="docs-mobile-bar-toggle flex h-11 min-w-0 flex-1 items-center gap-2.5 rounded-full pr-3 pl-3.5 text-left outline-none transition-fx hover:cursor-pointer hover:bg-accent-soft focus-visible:ring-[3px] focus-visible:ring-ring/50" aria-controls="docs-sidebar" aria-expanded="false" aria-label="Open documentation menu" aria-describedby="docs-mobile-bar-trail"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4 shrink-0 text-primary-text" aria-hidden="true"><path d="M88,48V208H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8Z" opacity="0.2"></path><path d="M216,40H40A16,16,0,0,0,24,56V200a16,16,0,0,0,16,16H216a16,16,0,0,0,16-16V56A16,16,0,0,0,216,40ZM40,56H80V200H40ZM216,200H96V56H216V200Z"></path></svg><span class="docs-mobile-trail flex h-5 min-w-0 flex-1 flex-row-reverse flex-wrap justify-end overflow-hidden text-sm leading-5" aria-hidden="true"><span class="whitespace-nowrap min-w-0 truncate font-medium text-foreground">Getting Started</span><span class="whitespace-nowrap shrink-0 text-body">Introduction<span class="px-1.5 text-muted-foreground">/</span></span><span class="whitespace-nowrap shrink-0 text-body">Guides<span class="px-1.5 text-muted-foreground">/</span></span></span><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-3 shrink-0 text-muted-foreground" aria-hidden="true"><path d="M216.49,104.49l-80,80a12,12,0,0,1-17,0l-80-80a12,12,0,0,1,17-17L128,159l71.51-71.52a12,12,0,0,1,17,17Z"></path></svg><span id="docs-mobile-bar-trail" class="sr-only">Guides / Introduction / Getting Started</span></button><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent size-11 sm:size-11" type="button" aria-label="Search documentation" aria-haspopup="dialog"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4" aria-hidden="true"><path d="M192,112a80,80,0,1,1-80-80A80,80,0,0,1,192,112Z" opacity="0.2"></path><path d="M229.66,218.34,179.6,168.28a88.21,88.21,0,1,0-11.32,11.31l50.06,50.07a8,8,0,0,0,11.32-11.32ZM40,112a72,72,0,1,1,72,72A72.08,72.08,0,0,1,40,112Z"></path></svg></span></button></div><header class="mb-10"><p class="mb-3 text-xs font-medium tracking-wide text-primary-text uppercase">Introduction</p><h1 class="font-display text-3xl font-normal tracking-[-0.5px] break-words text-foreground sm:text-4xl md:text-[40px] md:leading-[1.15]" tabindex="-1">Getting Started</h1><p class="mt-4 text-base leading-relaxed break-words text-body md:text-lg">A quick introduction to managing your environment variables with Envless.</p></header><article class="docs-prose"><h2 id="what-is-envless">What is Envless?<a href="#what-is-envless" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 149<p>Envless replaces local <code>.env</code>
149 files with an end-to-end encrypted platform for syncing environment variables across your team, environments, and CI/CD pipelines. You manage variables in the <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/dashboard" data-discover="true">dashboard</a>; your apps and CI runners pull them down, decrypted only on your machine.</p> 150<h2 id="three-ways-to-use-it">Three ways to use it<a href="#three-ways-to-use-it" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 151<p>However your app loads configuration, Envless has a path:</p> 152<div class="docs-card-group my-5 grid gap-4 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3"><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
152/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/pull/runtime" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M240,128l-48,40H64L16,128,64,88H192Z" opacity="0.2"></path><path d="M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.29l-48-40a8,8,0,0,1,0-12.29l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,1,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.29l48-40a8,8,0,0,0,0-12.29ZM162.73,32.48a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Import in your app</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p><code>import { env } from '@goenvless/env/server'</code>: typed by <code>envless types</code>, decrypted at boot with <code>@goenvless/env/register</code>, no <code>.env</code> files.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
152/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/pull/sync" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M216,128a88,88,0,1,1-88-88A88,88,0,0,1,216,128Z" opacity="0.2"></path><path d="M224,48V96a8,8,0,0,1-8,8H168a8,8,0,0,1,0-16h28.69L182.06,73.37a79.56,79.56,0,0,0-56.13-23.43h-.45A79.52,79.52,0,0,0,69.59,72.71,8,8,0,0,1,58.41,61.27a96,96,0,0,1,135,.79L208,76.69V48a8,8,0,0,1,16,0ZM186.41,183.29a80,80,0,0,1-112.47-.66L59.31,168H88a8,8,0,0,0,0-16H40a8,8,0,0,0-8,8v48a8,8,0,0,0,16,0V179.31l14.63,14.63A95.43,95.43,0,0,0,130,222.06h.53a95.36,95.36,0,0,0,67.07-27.33,8,8,0,0,0-11.18-11.44Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Sync to .env files</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p><code>envless sync</code>: encrypted pull, written to <code>.env.<slug></code> for Docker, python-dotenv, Rails, shell.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
152/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/pull/run" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M228.23,134.69,84.15,222.81A8,8,0,0,1,72,216.12V39.88a8,8,0,0,1,12.15-6.69l144.08,88.12A7.82,7.82,0,0,1,228.23,134.69Z" opacity="0.2"></path><path d="M232.4,114.49,88.32,26.35a16,16,0,0,0-16.2-.3A15.86,15.86,0,0,0,64,39.87V216.13A15.94,15.94,0,0,0,80,232a16.07,16.07,0,0,0,8.36-2.35L232.4,141.51a15.81,15.81,0,0,0,0-27ZM80,215.94V40l143.83,88Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Wrap a process</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p><code>envless run -- npm start</code>: inject into a single process, nothing on disk.</p></div></div></div></a></div> 153<h2 id="five-minute-path">Five-minute path<a href="#five-minute-path" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 154<div role="list" class="docs-steps my-8"><div role="listitem" class="docs-step relative flex gap-4"><div class="flex w-7 shrink-0 flex-col items-center"><div class="docs-step-indicator flex size-7 shrink-0 items-center justify-center rounded-full border border-border text-xs font-semibold text-primary-text tabular-nums"><span class="docs-step-counter"></span></div>
154<span class="docs-step-line mt-2 w-px flex-1 bg-foreground/[0.08]" aria-hidden="true"></span></div><div class="docs-step-body min-w-0 flex-1 pb-8"><p class="docs-step-title text-base font-semibold text-foreground">Create an account</p><div class="docs-step-content"><p>Sign up at <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/dashboard" data-discover="true">envless.cloud/dashboard</a>. Every account comes with a default workspace.</p></div></div></div><div role="listitem" class="docs-step relative flex gap-4"><div class="flex w-7 shrink-0 flex-col items-center"><div class="docs-step-indicator flex size-7 shrink-0 items-center justify-center rounded-full border border-border text-xs font-semibold text-primary-text tabular-nums"><span class="docs-step-counter"></span></div>
154<span class="docs-step-line mt-2 w-px flex-1 bg-foreground/[0.08]" aria-hidden="true"></span></div><div class="docs-step-body min-w-0 flex-1 pb-8"><p class="docs-step-title text-base font-semibold text-foreground">Create a product, a project and environments</p><div class="docs-step-content"><p>From the dashboard, create a product, then a project inside it, then define environments, typically <code>development</code>, <code>staging</code>, and <code>production</code>.</p></div></div></div><div role="listitem" class="docs-step relative flex gap-4"><div class="flex w-7 shrink-0 flex-col items-center"><div class="docs-step-indicator flex size-7 shrink-0 items-center justify-center rounded-full border border-border text-xs font-semibold text-primary-text tabular-nums"><span class="docs-step-counter"></span></div><span class="docs-step-line mt-2 w-px flex-1 bg-foreground/[0.08]" aria-hidden="true"></span></div><div class="docs-step-body min-w-0 flex-1 pb-8"><p class="docs-step-title text-base font-semibold text-foreground">Install Envless</p><div class="docs-step-content"><div class="docs-code-block my-5 overflow-hidden rounded-2xl border border-border"><div class="flex min-h-10 items-center justify-between gap-3 border-b border-border py-1.5 pr-1.5 pl-4"><span class="flex min-w-0 items-center gap-2 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" aria-hidden="true"><path d="M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z" opacity="0.2"></path><path d="M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"></path></svg><span class="docs-code-label min-w-0 truncate font-mono text-xs font-medium">bash</span></span><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent size-10 sm:size-8" type="button" aria-label="Copy code" title="Copy"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4" aria-hidden="true"><path d="M216,40V168H168V88H88V40Z" opacity="0.2"></path><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></span></button></div><pre class="shiki-code shiki-code-themes github-light github-dark-default" tabindex="0" data-language="bash" style="--shiki-light:#24292e;--shiki-dark:#e6edf3;--shiki-light-bg:#fff;--shiki-dark-bg:#0d1117;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word" data-lang="bash"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#FFA657">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> i</span><span style="--shiki-light:#005CC5;--shiki-dark:#79C0FF"> -g</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> @goenvless/cli@latest</span></span></code></pre></div><p>The runtime is a second package. Install it in any project that imports <code>env</code>:</p><div class="docs-code-block my-5 overflow-hidden rounded-2xl border border-border"><div class="flex min-h-10 items-center justify-between gap-3 border-b border-border py-1.5 pr-1.5 pl-4"><span class="flex min-w-0 items-center gap-2 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" aria-hidden="true"><path d="M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z" opacity="0.2"></path><path d="M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"></path></svg><span class="docs-code-label min-w-0 truncate font-mono text-xs font-medium">bash</span></span><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='
154size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent size-10 sm:size-8" type="button" aria-label="Copy code" title="Copy"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4" aria-hidden="true"><path d="M216,40V168H168V88H88V40Z" opacity="0.2"></path><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></span></button></div><pre class="shiki-code shiki-code-themes github-light github-dark-default" tabindex="0" data-language="bash" style="--shiki-light:#24292e;--shiki-dark:#e6edf3;--shiki-light-bg:#fff;--shiki-dark-bg:#0d1117;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word" data-lang="bash"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#FFA657">npm</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> i</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> @goenvless/env</span></span></code></pre></div><p>See <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/installation" data-discover="true">Installation</a> for per-project setup and other package managers.</p></div></div></div><div role="listitem" class="docs-step relative flex gap-4"><div class="flex w-7 shrink-0 flex-col items-center"><div class="docs-step-indicator flex size-7 shrink-0 items-center justify-center rounded-full border border-border text-xs font-semibold text-primary-text tabular-nums"><span class="docs-step-counter"></span></div>
154<span class="docs-step-line mt-2 w-px flex-1 bg-foreground/[0.08]" aria-hidden="true"></span></div><div class="docs-step-body min-w-0 flex-1 pb-8"><p class="docs-step-title text-base font-semibold text-foreground">Log in and link</p><div class="docs-step-content"><div class="docs-code-block my-5 overflow-hidden rounded-2xl border border-border"><div class="flex min-h-10 items-center justify-between gap-3 border-b border-border py-1.5 pr-1.5 pl-4"><span class="flex min-w-0 items-center gap-2 text-muted-foreground"><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" aria-hidden="true"><path d="M224,56V200a8,8,0,0,1-8,8H40a8,8,0,0,1-8-8V56a8,8,0,0,1,8-8H216A8,8,0,0,1,224,56Z" opacity="0.2"></path><path d="M128,128a8,8,0,0,1-3,6.25l-40,32a8,8,0,1,1-10-12.5L107.19,128,75,102.25a8,8,0,1,1,10-12.5l40,32A8,8,0,0,1,128,128Zm48,24H136a8,8,0,0,0,0,16h40a8,8,0,0,0,0-16Zm56-96V200a16,16,0,0,1-16,16H40a16,16,0,0,1-16-16V56A16,16,0,0,1,40,40H216A16,16,0,0,1,232,56ZM216,200V56H40V200H216Z"></path></svg><span class="docs-code-label min-w-0 truncate font-mono text-xs font-medium">bash</span></span><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent size-10 sm:size-8" type="button" aria-label="Copy code" title="Copy"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4" aria-hidden="true"><path d="M216,40V168H168V88H88V40Z" opacity="0.2"></path><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg></span></button></div><pre class="shiki-code shiki-code-themes github-light github-dark-default" tabindex="0" data-language="bash" style="--shiki-light:#24292e;--shiki-dark:#e6edf3;--shiki-light-bg:#fff;--shiki-dark-bg:#0d1117;overflow-x:auto;white-space:pre-wrap;word-wrap:break-word" data-lang="bash"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#FFA657">envless</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> login</span></span> 155<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#FFA657">envless</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> link</span></span> 156<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#FFA657">envless</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> passphrase</span><span style="--shiki-light:#032F62;--shiki-dark:#A5D6FF"> set</span></span></code></pre></div></div></div></div><div role="listitem" class="docs-step relative flex gap-4"><div class="flex w-7 shrink-0 flex-col items-center"><div class="docs-step-indicator flex size-7 shrink-0 items-center justify-center rounded-full border border-border text-xs font-semibold text-primary-text tabular-nums"><span class="docs-step-counter"></span></div>
156<span class="docs-step-line mt-2 w-px flex-1 bg-foreground/[0.08]" aria-hidden="true"></span></div><div class="docs-step-body min-w-0 flex-1 pb-8"><p class="docs-step-title text-base font-semibold text-foreground">Pull variables</p><div class="docs-step-content"><p>Pick the mode that fits your stack: runtime import, <code>.env</code> sync, or <code>envless run --</code>. The <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/pull/runtime" data-discover="true">Using Variables</a> section walks through each.</p></div></div></div></div> 157<h2 id="running-on-machines">Running on machines?<a href="#running-on-machines" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 158<p>CI runners, containers, and production hosts can't do the browser login. Set an <code>ENVLESS_TOKEN</code> (an <code>ev_sk_</code> key from the dashboard) plus a decryption credential (<code>ENVLESS_KEY</code> or <code>ENVLESS_PASSPHRASE</code>), and point at a target with a committed <code>.envless</code> file or with <code>ENVLESS_PROJECT</code> and <code>ENVLESS_ENV</code>. Every read, including the runtime import, then works headlessly. The <strong>CLI</strong> treats a machine key as read only, so <code>envless</code> commands that create, change or delete anything still need <code>envless login</code> on that machine. That is a CLI rule rather than a property of the key: the same <code>ev_sk_</code> key writes happily over the <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/api/overview" data-discover="true">HTTP API</a> and the SDKs for <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/sdk/overview" data-discover="true">TypeScript</a> and <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/python/overview" data-discover="true">Python</a> when you give it write scopes. See <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/auth/keys" data-discover="true">Keys</a> and <a class="docs-link text-primary-text underline decoration-primary-text/40 underline-offset-[3px] transition-[text-decoration-color] [overflow-wrap:anywhere] hover:decoration-primary-text focus-visible:rounded-xs focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary [&>code]:text-inherit" href="/docs/production/ci-cd" data-discover="true">Production & CI</a>.</p> 159<h2 id="whats-next">What's next?<a href="#whats-next" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 160<div class="docs-card-group my-5 grid gap-4 grid-cols-1 sm:grid-cols-2"><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
160/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/concepts" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M224,128a96,96,0,1,1-96-96A96,96,0,0,1,224,128Z" opacity="0.2"></path><path d="M144,176a8,8,0,0,1-8,8,16,16,0,0,1-16-16V128a8,8,0,0,1,0-16,16,16,0,0,1,16,16v40A8,8,0,0,1,144,176Zm88-48A104,104,0,1,1,128,24,104.11,104.11,0,0,1,232,128Zm-16,0a88,88,0,1,0-88,88A88.1,88.1,0,0,0,216,128ZM124,96a12,12,0,1,0-12-12A12,12,0,0,0,124,96Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Concepts</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>How <code>.envless</code>, encryption, and environments fit together.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
160/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/pull/server-vs-client" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M216,56v56c0,96-88,120-88,120S40,208,40,112V56a8,8,0,0,1,8-8H208A8,8,0,0,1,216,56Z" opacity="0.2"></path><path d="M208,40H48A16,16,0,0,0,32,56v56c0,52.72,25.52,84.67,46.93,102.19,23.06,18.86,46,25.26,47,25.53a8,8,0,0,0,4.2,0c1-.27,23.91-6.67,47-25.53C198.48,196.67,224,164.72,224,112V56A16,16,0,0,0,208,40Zm0,72c0,37.07-13.66,67.16-40.6,89.42A129.3,129.3,0,0,1,128,223.62a128.25,128.25,0,0,1-38.92-21.81C61.82,179.51,48,149.3,48,112l0-56,160,0ZM82.34,141.66a8,8,0,0,1,11.32-11.32L112,148.69l50.34-50.35a8,8,0,0,1,11.32,11.32l-56,56a8,8,0,0,1-11.32,0Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Server vs Client</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>Keep server secrets out of your client bundle.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
160/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/pull/runtime" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M240,128l-48,40H64L16,128,64,88H192Z" opacity="0.2"></path><path d="M69.12,94.15,28.5,128l40.62,33.85a8,8,0,1,1-10.24,12.29l-48-40a8,8,0,0,1,0-12.29l48-40a8,8,0,0,1,10.24,12.3Zm176,27.7-48-40a8,8,0,1,0-10.24,12.3L227.5,128l-40.62,33.85a8,8,0,1,0,10.24,12.29l48-40a8,8,0,0,0,0-12.29ZM162.73,32.48a8,8,0,0,0-10.25,4.79l-64,176a8,8,0,0,0,4.79,10.26A8.14,8.14,0,0,0,96,224a8,8,0,0,0,7.52-5.27l64-176A8,8,0,0,0,162.73,32.48Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Import in your app</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>The runtime ships as its own <code>@goenvless/env</code> package: typed <code>env</code> from <code>/server</code>, decrypted at boot with <code>/register</code>.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
160/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/docs/api/overview" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><span class="inline-flex size-9 shrink-0 items-center justify-center rounded-[12px] border border-border text-primary-text"><svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="currentColor" viewBox="0 0 256 256" class="" aria-hidden="true"><path d="M232,98.36C230.73,136.92,198.67,168,160.09,168a71.68,71.68,0,0,1-26.92-5.17h0L120,176H96v24H72v24H40a8,8,0,0,1-8-8V187.31a8,8,0,0,1,2.34-5.65l58.83-58.83h0A71.68,71.68,0,0,1,88,95.91c0-38.58,31.08-70.64,69.64-71.87A72,72,0,0,1,232,98.36Z" opacity="0.2"></path><path d="M216.57,39.43A80,80,0,0,0,83.91,120.78L28.69,176A15.86,15.86,0,0,0,24,187.31V216a16,16,0,0,0,16,16H72a8,8,0,0,0,8-8V208H96a8,8,0,0,0,8-8V184h16a8,8,0,0,0,5.66-2.34l9.56-9.57A79.73,79.73,0,0,0,160,176h.1A80,80,0,0,0,216.57,39.43ZM224,98.1c-1.09,34.09-29.75,61.86-63.89,61.9H160a63.7,63.7,0,0,1-23.65-4.51,8,8,0,0,0-8.84,1.68L116.69,168H96a8,8,0,0,0-8,8v16H72a8,8,0,0,0-8,8v16H40V187.31l58.83-58.82a8,8,0,0,0,1.68-8.84A63.72,63.72,0,0,1,96,95.92c0-34.14,27.81-62.8,61.9-63.89A64,64,0,0,1,224,98.1ZM192,76a12,12,0,1,1-12-12A12,12,0,0,1,192,76Z"></path></svg></span><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">API & encryption</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>Read/write your workspace over HTTP, or from code with the TypeScript, Python, Ruby or PHP SDK, encrypting and decrypting on your side.</p></div></div></div></a></div> 161<h2 id="going-deeper">Going deeper<a href="#going-deeper" class="docs-heading-anchor" aria-hidden="true" tabindex="-1">#</a></h2> 162<p>If you would rather see the whole shape of the product before you start, these walk through it.</p> 163<div class="docs-card-group my-5 grid gap-4 grid-cols-1 sm:grid-cols-2"><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground
163/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/features/setup" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Getting set up</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>Every step in the sequence and exactly what it writes to disk.</p></div></div></div></a><a class="docs-card group relative my-5 flex w-full flex-col overflow-hidden rounded-2xl border border-border font-normal no-underline transition-fx cursor-pointer hover:border-foreground/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary" href="/features" data-discover="true"><div class="relative flex flex-1 flex-col gap-4 p-5"><div class="min-w-0 flex-1"><h2 class="docs-card-title font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">All features</h2><div class="docs-card-body text-sm leading-relaxed break-words text-body mt-1.5"><p>One page per capability, with the real numbers and the limits.</p></div></div></div></a></div></article><nav aria-label="Pagination" class="docs-pagination mt-16 grid grid-cols-1 gap-4 sm:grid-cols-2"><span aria-hidden="true"></span><a rel="next" class="group flex min-w-0 flex-col gap-2 rounded-2xl border border-border p-5 transition-fx hover:border-foreground
163/20 focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary items-end text-right" href="/docs/concepts" data-discover="true"><span class="inline-flex items-center gap-1.5 text-xs font-medium tracking-wide text-muted-foreground uppercase transition-fx group-hover:text-primary-text">Next <svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" fill="currentColor" viewBox="0 0 256 256" aria-hidden="true"><path d="M224.49,136.49l-72,72a12,12,0,0,1-17-17L187,140H40a12,12,0,0,1,0-24H187L135.51,64.48a12,12,0,0,1,17-17l72,72A12,12,0,0,1,224.49,136.49Z"></path></svg></span><span class="block font-display text-xl leading-snug font-semibold break-words text-foreground transition-fx group-hover:text-primary-text">Concepts</span></a></nav></div><aside class="scrollbar-hidden sticky top-28 hidden max-h-[calc(100vh-8.5rem)] w-44 shrink-0 overflow-y-auto pb-8 xl:block"><nav aria-label="On this page" class="docs-toc"><p class="mb-3 px-3 text-xs font-semibold tracking-wider text-foreground uppercase">On this page</p><div class="flex flex-col gap-px relative [&>*:not(.sliding-highlight)]:relative [&>*:not(.sliding-highlight)]:z-[1]"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground
163/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><a href="#what-is-envless" title="What is Envless?" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">What is Envless?</a><a href="#three-ways-to-use-it" title="Three ways to use it" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">Three ways to use it</a><a href="#five-minute-path" title="Five-minute path" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">Five-minute path</a><a href="#running-on-machines" title="Running on machines?" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">Running on machines?</a><a href="#whats-next" title="What's next?" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">What's next?</a><a href="#going-deeper" title="Going deeper" class="docs-toc-link block truncate rounded-full py-1.5 pr-3 text-[14px] leading-5 text-body transition-fx hover:text-foreground pl-3">Going deeper</a></div></nav></aside></div></div><div class="sr-only" role="status" aria-live="polite"></div></div></div></main><div class="site-footer-dock z-0 md:sticky md:bottom-[min(0px,calc(100dvh-var(--site-footer-height,0px)))]"><footer class="w-full relative overflow-hidden bg-sidebar"><span aria-hidden="true" class="gradient-backdrop absolute inset-0 overflow-hidden pointer-events-none opacity-50" style="background-position:-160px center"></span><div class="max-w-300 mx-auto px-5 sm:px-8 md:px-16 pt-20 pb-8 relative"><div class="flex flex-col wide:flex-row justify-between gap-12"><div><div class="wide:max-w-md shrink-0"><div class="mb-4"><a aria-label="Envless home" class="flex items-center shrink-0 cursor-pointer relative z-10 transition-opacity hover:opacity-80 before:absolute before:inset-x-0 before:-inset-y-2.5 before:content-[""] sm:before:hidden" href="/" data-discover="true"><svg id="footer-logo" width="123" height="30" viewBox="0 0 360 88" fill="none" aria-hidden="true" xmlns="http://www.w3.org/2000/svg" class="text-foreground h-[26px] w-auto"><path d="M64.6944 43.1296C64.6944 55.014 55.014 64.6944 43.1296 64.6944C31.1971 64.6944 21.5648 55.062 21.5648 43.1296C21.5648 31.1971 31.1971 21.5648 43.1296 21.5648C55.062 21.5648 64.6944 31.1971 64.6944 43.1296H86.259C86.259 19.3124 66.9467 0 43.1296 0C19.3124 0 0 19.3124 0 43.1296C0 66.9467 19.3124 86.2591 43.1296 86.2591C50.9887 86.2591 58.3687 84.1506 64.6944 80.5084V43.1296Z" fill="url(#footer-logo-mark-gradient)"></path><path d="M111.836 67.1913V18.8862H143.372V25.994H120.669V39.2434H141.302V46.1441H120.669V60.0836H143.372V67.1913H111.836ZM151.524 67.1913V32.9637H159.321L160.011 38.7603C161.07 36.736 162.588 35.126 164.566 33.9298C166.59 32.7336 168.959 32.1356 171.674 32.1356C175.906 32.1356 179.195 33.4698 181.542 36.1381C183.888 38.8063 185.062 42.7167 185.062 47.8693V67.1913H176.228V48.6974C176.228 45.7531 175.63 43.4987 174.434 41.9346C173.238 40.3706 171.375 39.5884 168.844 39.5884C166.36 39.5884 164.313 40.4624 162.703 42.2106C161.139 43.9589 160.357 46.397 160.357 49.5254V6
1637.1913H151.524ZM202.416 67.1913L189.857 32.9637H199.104L207.799 58.8414L216.494 32.9637H225.742L213.113 67.1913H202.416ZM231.312 67.1913V17.5061H240.146V67.1913H231.312ZM265.802 68.0194C262.352 68.0194 259.293 67.2834 256.624 65.8111C253.957 64.339 251.862 62.2688 250.344 59.6005C248.826 56.9323 248.067 53.8498 248.067 50.3535C248.067 46.8111 248.804 43.6598 250.276 40.8995C251.793 38.1392 253.863 36 256.486 34.4819C259.155 32.9178 262.283 32.1356 265.871 32.1356C269.23 32.1356 272.198 32.8717 274.773 34.3438C277.35 35.8161 279.351 37.8402 280.776 40.4165C282.249 42.9467 282.985 45.776 282.985 48.9044C282.985 49.4105 282.963 49.9395 282.915 50.4915C282.915 51.0436 282.893 51.6187 282.846 52.2167H256.831C257.016 54.8849 257.935 56.9782 259.591 58.4964C261.294 60.0145 263.341 60.7736 265.733 60.7736C267.527 60.7736 269.023 60.3826 270.219 59.6005C271.461 58.7724 272.381 57.7143 272.978 56.4261H281.949C281.307 58.5885 280.224 60.5666 278.706 62.3608C277.235 64.109 275.394 65.4891 273.186 66.5012C271.025 67.5133 268.562 68.0194 265.802 68.0194ZM265.871 39.3123C263.71 39.3123 261.799 39.9334 260.143 41.1755C258.487 42.3717 257.43 44.2119 256.969 46.6962H274.014C273.876 44.442 273.048 42.6478 271.53 41.3136C270.011 39.9793 268.127 39.3123 265.871 39.3123ZM304.561 68.0194C301.524 68.0194 298.856 67.5363 296.555 66.5703C294.257 65.5582 292.415 64.1781 291.035 62.4297C289.655 60.6815 288.827 58.6574 288.551 56.3572H297.453C297.728 57.6913 298.466 58.8414 299.661 59.8075C300.903 60.7276 302.49 61.1877 304.422 61.1877C306.354 61.1877 307.758 60.7967 308.632 60.0145C309.553 59.2324 310.012 58.3353 310.012 57.3232C310.012 55.8511 309.369 54.8621 308.08 54.3559C306.792 53.8039 304.998 53.2749 302.697 52.7688C301.226 52.4468 299.73 52.0556 298.211 51.5957C296.694 51.1357 295.291 50.5606 294.002 49.8705C292.76 49.1344 291.749 48.2143 290.966 47.1101C290.185 45.9601 289.793 44.5569 289.793 42.9007C289.793 39.8645 290.99 37.3112 293.381 35.2409C295.82 33.1707 299.225 32.1356 303.594 32.1356C307.644 32.1356 310.864 33.0787 313.256 34.9649C315.694 36.8512 317.143 39.4504 317.603 42.7628H309.253C308.748 40.2325 306.837 38.9673 303.525 38.9673C301.869 38.9673 300.581 39.2893 299.661 39.9334C298.788 40.5776 298.35 41.3826 298.35 42.3487C298.35 43.3607 299.018 44.1659 300.351 44.7639C301.686 45.3619 303.456 45.914 305.664 46.4201C308.058 46.9721 310.242 47.5932 312.22 48.2833C314.245 48.9274 315.856 49.9164 317.051 51.2507C318.248 52.5387 318.845 54.4019 318.845 56.8402C318.892 58.9564 318.34 60.8657 317.188 62.5678C316.039 64.2699 314.383 65.6041 312.22 66.5703C310.059 67.5363 307.506 68.0194 304.561 68.0194ZM340.816 68.0194C337.78 68.0194 335.113 67.5363 332.811 66.5703C33
1630.511 65.5582 328.671 64.1781 327.291 62.4297C325.910 60.6815 325.082 58.6574 324.807 56.3572H333.708C333.985 57.6913 334.720 58.8414 335.917 59.8075C337.159 60.7276 338.746 61.1877 340.678 61.1877C342.611 61.1877 344.014 60.7967 344.888 60.0145C345.809 59.2324 346.268 58.3353 346.268 57.3232C346.268 55.8511 345.623 54.8621 344.336 54.3559C343.048 53.8039 341.254 53.2749 338.953 52.7688C337.480 52.4468 335.986 52.0556 334.468 51.5957C332.949 51.1357 331.546 50.5606 330.258 49.8705C329.016 49.1344 328.005 48.2143 327.222 47.1101C326.440 45.9601 326.049 44.5569 326.049 42.9007C326.049 39.8645 327.246 37.3112 329.637 35.2409C332.076 33.1707 335.480 32.1356 339.850 32.1356C343.898 32.1356 347.120 33.0787 349.511 34.9649C351.950 36.8512 353.399 39.4504 353.859 42.7628H345.509C345.003 40.2325 343.094 38.9673 339.781 38.9673C338.125 38.9673 336.838 39.2893 335.917 39.9334C335.044 40.5776 334.605 41.3826 334.605 42.3487C334.605 43.3607 335.272 44.1659 336.607 44.7639C337.942 45.3619 339.712 45.914 341.920 46.4201C344.312 46.9721 346.498 47.5932 348.476 48.2833C350.501 48.9274 352.110 49.9164 353.307 51.2507C354.504 52.5387 355.101 54.4019 355.101 56.8402C355.146 58.9564 354.595 60.8657 353.445 62.5678C352.295 64.2699 350.639 65.6041 348.476 66.5703C346.314 67.5363 343.761 68.0194 340.816 68.0194Z" fill="currentColor"></path><defs><linearGradient id="footer-logo-mark-gradient" x1="31.3059" y1="38.0401" x2="83.5634" y2="88.5051" gradientUnits="userSpaceOnUse"><stop stop-color="var(--brand-gradient-from)"></stop><stop offset="0.682299" stop-color="var(--brand-gradient-to)"></stop></linearGradient></defs></svg></a></div><p class="text-body text-[15px] leading-relaxed max-w-96">End-to-end encrypted environment variable and secrets management for developers and teams.</p><div class="footer-contact group/contact relative mt-6 flex w-full max-w-[380px] items-center gap-2 rounded-full bg-background p-1.5 pr-2 shadow-[0_8px_24px_-12px_var(--shade-strong)] transition-fx hover:shadow-[0_14px_32px_-14px_var(--shade-deep)]"><a href="/cdn-cgi/l/email-protection#d2a1a7a2a2bda0a692b7bca4beb7a1a1fcb1bebda7b6" aria-label="Email support at [email protected]" class="flex min-w-0 flex-1 items-center gap-3 rounded-full pr-2 outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary"><span class="footer-contact__icon relative grid size-10 shrink-0 place-items-center overflow-hidden rounded-full bg-primary text-primary-foreground transition-fx"><span class="footer-contact__envelope absolute inset-0 grid place-items-center"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" fill="currentColor" viewBox="0 0 256 256"><path d="M224,44H32A12,12,0,0,0,20,56V192a20,20,0,0,0,20,20H216a20,20,0,0,0,20-20V56A12,12,0,0,0,224,44ZM193.15,68,128,127.72,62.85,68ZM44,188V83.28l75.89,69.57a12,12,0,0,0,16.22,0L212,83.28V188Z"></path></svg></span><span class="footer-contact__plane absolute inset-0 grid place-items-center"><svg xmlns="http://www.w3.org/2000/svg" width="17" height="17" fill="currentColor" viewBox="0 0 256 256"><path d="M230.14,25.86a20,20,0,0,0-19.57-5.11l-.22.07L18.44,79a20,20,0,0,0-3.06,37.25L99,157l40.71,83.65a19.81,19.81,0,0,0,18,11.38c.57,0,1.15,0,1.73-.07A19.82,19.82,0,0,0,177,237.56L235.18,45.65a1.42,1.42,0,0,0,.07-.22A20,20,0,0,0,230.14,25.86ZM156.91,221.07l-34.37-70.64,46-45.95a12,12,0,0,0-17-17l-46,46L34.93,99.09,210,46Z"></path></svg></span></span><span class="flex min-w-0 flex-col leading-tight"><span class="text-[12px] text-muted-foreground">Email support</span><span class="truncate font-mono text-[14px] font-medium text-foreground transition-fx group-hover/contact:text-primary-text"><span class="__cf_email__" data-cfemail="6f1c1a1f1f001d1b2f0a0119030a1c1c410c03001a0b">[email protected]</span></span></span></a>
163<span aria-hidden="true" class="h-6 w-px shrink-0 bg-foreground/10"></span><button data-slot="button" class="relative inline-flex items-center select-none justify-center gap-2 whitespace-nowrap text-sm font-medium transition-all hover:cursor-pointer disabled:pointer-events-none disabled:cursor-default disabled:text-muted-foreground disabled:border-transparent disabled:shadow-none [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring aria-invalid:border-destructive font-primary hover:bg-accent-soft hover:text-accent-foreground disabled:bg-transparent size-10 sm:size-8 shrink-0 rounded-full" type="button" aria-label="Copy email address"><span class="contents"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M216,40V168H168V88H88V40Z" opacity="0.2"></path><path d="M216,32H88a8,8,0,0,0-8,8V80H40a8,8,0,0,0-8,8V216a8,8,0,0,0,8,8H168a8,8,0,0,0,8-8V176h40a8,8,0,0,0,8-8V40A8,8,0,0,0,216,32ZM160,208H48V96H160Zm48-48H176V88a8,8,0,0,0-8-8H96V48H208Z"></path></svg><span class="sr-only" aria-live="polite"></span></span></button></div><div class="flex flex-wrap items-center gap-1 sm:gap-4 mt-6"><a href="https://x.com/goenvless" target="_blank" rel="noopener noreferrer" aria-label="X" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"></path></svg></a><a href="https://linkedin.com/company/goenvless" target="_blank" rel="noopener noreferrer" aria-label="LinkedIn" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433a2.062 2.062 0 0 1-2.063-2.065 2.064 2.064 0 1 1 2.063 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"></path></svg></a><a href="https://youtube.com/@goenvless" target="_blank" rel="noopener noreferrer" aria-label="YouTube" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"></path></svg></a><a href="https://instagram.com/goenvless" target="_blank" rel="noopener noreferrer" aria-label="Instagram" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.052.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z"></path></svg></a><a href="https://facebook.com/goenvless" target="_blank" rel="noopener noreferrer" aria-label="Facebook" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"></path></svg></a><a href="https://www.tiktok.com/@goenvless" target="_blank" rel="noopener noreferrer" aria-label="TikTok" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08
163-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"></path></svg></a><a href="https://threads.net/@goenvless" target="_blank" rel="noopener noreferrer" aria-label="Threads" class="relative inline-flex size-10 items-center justify-center rounded-full text-body hover:text-foreground transition-fx sm:size-auto before:absolute before:-inset-0.5 before:content-[""] sm:before:hidden"><svg width="18" height="18" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg" aria-hidden="true"><path d="M12.186 24h-.007c-3.581-.024-6.334-1.205-8.184-3.509C2.35 18.44 1.5 15.586 1.472 12.01v-.017c.03-3.579.879-6.43 2.525-8.482C5.845 1.205 8.6.024 12.18 0h.014c2.746.02 5.043.725 6.826 2.098 1.677 1.29 2.858 3.13 3.509 5.467l-2.04.569c-1.104-3.96-3.898-5.984-8.304-6.015-2.91.022-5.11.936-6.54 2.717C4.307 6.504 3.616 8.914 3.589 12c.027 3.086.718 5.496 2.057 7.164 1.43 1.781 3.631 2.695 6.54 2.717 2.623-.02 4.358-.631 5.8-2.045 1.647-1.613 1.618-3.593 1.09-4.798-.31-.71-.873-1.3-1.634-1.75-.192 1.352-.622 2.446-1.284 3.272-.886 1.102-2.14 1.704-3.73 1.79-1.202.065-2.361-.218-3.259-.801-1.063-.689-1.685-1.74-1.752-2.964-.065-1.19.408-2.285 1.33-3.082.88-.76 2.119-1.207 3.583-1.291a13.853 13.853 0 0 1 3.02.142c-.126-.742-.375-1.332-.75-1.757-.513-.586-1.308-.883-2.359-.89h-.029c-.844 0-1.992.232-2.721 1.32L7.734 7.847c.98-1.454 2.568-2.256 4.478-2.256h.044c3.194.02 5.097 1.975 5.287 5.388.108.046.216.094.321.142 1.49.7 2.58 1.761 3.154 3.07.797 1.82.871 4.79-1.548 7.158-1.85 1.81-4.094 2.628-7.277 2.65Z"></path></svg></a></div></div></div><div><div class="flex flex-col sm:flex-row flex-wrap gap-x-10 gap-y-10 sm:gap-x-12"><div><p class="text-foreground text-xs font-semibold uppercase tracking-wider mb-5">Free Tools</p><div class="grid grid-cols-1 sm:grid-cols-2 gap-x-8 gap-y-6 sm:gap-y-3"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground
163/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/secret-generator" data-discover="true">Secret & Password Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/passphrase-generator" data-discover="true">Passphrase Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/api-key-generator" data-discover="true">API Key Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/pin-generator" data-discover="true">Random PIN Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/env-file-converter" data-discover="true">.env File Converter</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/jwt-decoder" data-discover="true">JWT Decoder</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/encrypt" data-discover="true">AES Text Encryption</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/env-validator" data-discover="true">.env Validator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/env-example-generator" data-discover="true">.env.example Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/kubernetes-secret-generator" data-discover="true">Kubernetes Secret Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/jwt-generator" data-discover="true">JWT Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/env-diff" data-discover="true">.env Diff</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/hash-generator" data-discover="true">Hash Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/base64" data-discover="true">Base64 Encode / Decode</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/key-pair-generator" data-discover="true">RSA & EC Key Pair Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/connection-string-parser" data-discover="true">Connection String Parser</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/uuid-generator" data-discover="true">UUID Generator</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/password-strength" data-discover="true">Password Strength Checker</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/tools" data-discover="true">All Tools</a></div></div><div><p class="text-foreground text-xs font-semibold uppercase tracking-wider mb-5">
163Resources</p><div class="flex flex-col gap-6 sm:gap-3"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/5"></span><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.07]"></span><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/terms-of-service" data-discover="true">Terms of Service</a><a class="nav-link footer-link relative text-body hover:text-foreground text-[15px] w-fit -mx-3 -my-1 rounded-full px-3 py-1 transition-fx before:absolute before:inset-x-0 before:-inset-y-2 before:content-[""] sm:before:hidden" href="/privacy-policy" data-discover="true">Privacy Policy</a></div></div></div></div></div><div class="mt-14 flex flex-col-reverse items-center justify-between gap-4 border-t border-foreground/[0.06] pt-6 sm:flex-row"><p class="text-body text-sm">Envless 2026 © All Rights Reserved.</p><div class="flex items-center gap-2"><a href="https://status.envless.cloud" target="_blank" rel="noopener noreferrer" data-slot="badge" class="inline-flex items-center justify-center py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 [&>svg]:pointer-events-none focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive-ring transition-[color,box-shadow] text-muted-foreground group relative h-9 gap-2 overflow-visible rounded-full bg-background px-3.5 shadow-[0_8px_24px_-12px_var(--shade-strong)] hover:text-foreground before:absolute before:inset-x-0 before:-inset-y-3 before:content-[""] sm:before:hidden"><span class="relative flex h-2.5 w-2.5 items-center justify-center"><span class="status-spinner group-hover:opacity-0" aria-hidden="true"></span><svg class="absolute w-2.5 h-2.5 opacity-0 -translate-x-1 translate-y-1 scale-75 group-hover:opacity-90 group-hover:translate-x-0 group-hover:translate-y-0 group-hover:scale-100 transition-all" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M7 17L17 7M9 7h8v8"></path></svg></span><span>Status</span></a>
163<span aria-hidden="true" class="h-5 w-px bg-foreground/[0.08]"></span><div role="radiogroup" aria-label="Theme" class="theme-switch relative inline-flex rounded-full bg-background p-1 shadow-[0_8px_24px_-12px_var(--shade-strong)]"><span aria-hidden="true" class="sliding-highlight rounded-full bg-foreground/[0.08]"></span><button type="button" role="radio" aria-checked="false" aria-label="Auto" tabindex="0" data-theme-option="system" class="relative z-10 grid size-7 place-items-center rounded-full text-muted-foreground transition-fx hover:text-foreground aria-checked:text-foreground focus-visible:outline-2 focus-visible:outline-primary"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M224,64V176a16,16,0,0,1-16,16H48a16,16,0,0,1-16-16V64A16,16,0,0,1,48,48H208A16,16,0,0,1,224,64Z" opacity="0.2"></path><path d="M208,40H48A24,24,0,0,0,24,64V176a24,24,0,0,0,24,24H208a24,24,0,0,0,24-24V64A24,24,0,0,0,208,40Zm8,136a8,8,0,0,1-8,8H48a8,8,0,0,1-8-8V64a8,8,0,0,1,8-8H208a8,8,0,0,1,8,8Zm-48,48a8,8,0,0,1-8,8H96a8,8,0,0,1,0-16h64A8,8,0,0,1,168,224Z"></path></svg></button><button type="button" role="radio" aria-checked="false" aria-label="Light" tabindex="-1" data-theme-option="light" class="relative z-10 grid size-7 place-items-center rounded-full text-muted-foreground transition-fx hover:text-foreground aria-checked:text-foreground focus-visible:outline-2 focus-visible:outline-primary"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M184,128a56,56,0,1,1-56-56A56,56,0,0,1,184,128Z" opacity="0.2"></path><path d="M120,40V16a8,8,0,0,1,16,0V40a8,8,0,0,1-16,0Zm72,88a64,64,0,1,1-64-64A64.07,64.07,0,0,1,192,128Zm-16,0a48,48,0,1,0-48,48A48.05,48.05,0,0,0,176,128ZM58.34,69.66A8,8,0,0,0,69.66,58.34l-16-16A8,8,0,0,0,42.34,53.66Zm0,116.68-16,16a8,8,0,0,0,11.32,11.32l16-16a8,8,0,0,0-11.32-11.32ZM192,72a8,8,0,0,0,5.66-2.34l16-16a8,8,0,0,0-11.32-11.32l-16,16A8,8,0,0,0,192,72Zm5.66,114.34a8,8,0,0,0-11.32,11.32l16,16a8,8,0,0,0,11.32-11.32ZM48,128a8,8,0,0,0-8-8H16a8,8,0,0,0,0,16H40A8,8,0,0,0,48,128Zm80,80a8,8,0,0,0-8,8v24a8,8,0,0,0,16,0V216A8,8,0,0,0,128,208Zm112-88H216a8,8,0,0,0,0,16h24a8,8,0,0,0,0-16Z"></path></svg></button><button type="button" role="radio" aria-checked="false" aria-label="Dark" tabindex="-1" data-theme-option="dark" class="relative z-10 grid size-7 place-items-center rounded-full text-muted-foreground transition-fx hover:text-foreground aria-checked:text-foreground focus-visible:outline-2 focus-visible:outline-primary"><svg xmlns="http://www.w3.org/2000/svg" width="1em" height="1em" fill="currentColor" viewBox="0 0 256 256" class="size-4"><path d="M227.89,147.89A96,96,0,1,1,108.11,28.11,96.09,96.09,0,0,0,227.89,147.89Z" opacity="0.2"></path><path d="M233.54,142.23a8,8,0,0,0-8-2,88.08,88.08,0,0,1-109.8-109.8,8,8,0,0,0-10-10,104.84,104.84,0,0,0-52.91,37A104,104,0,0,0,136,224a103.09,103.09,0,0,0,62.52-20.88,104.84,104.84,0,0,0,37-52.91A8,8,0,0,0,233.54,142.23ZM188.9,190.34A88,88,0,0,1,65.66,67.11a89,89,0,0,1,31.4-26A106,106,0,0,0,96,56,104.11,104.11,0,0,0,200,160a106,106,0,0,0,14.92-1.06A89,89,0,0,1,188.9,190.34Z"></path></svg></button></div></div></div></div></footer></div><div aria-hidden="true" class="site-scrollbar"><div class="site-scrollbar__thumb"></div></div>
vendor: 108 bytes, line 163
163<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
163<script>((storageKey2, restoreKey) => { 164 if (!window.history.state || !window.history.state.key) { 165 let key = Math.random().toString(32).slice(2); 166 window.history.replaceState({ key }, ""); 167 } 168 try { 169 let positions = JSON.parse(sessionStorage.getItem(storageKey2) || "{}"); 170 let storedY = positions[restoreKey || window.history.state.key]; 171 if (typeof storedY === "number") { 172 window.scrollTo(0, storedY); 173 } 174 } catch (error) { 175 console.error(error); 176 sessionStorage.removeItem(storageKey2); 177 } 178 })("react-router-scroll-positions", null)</script>
178<script>window.__reactRouterContext = {"basename":"/","future":{"unstable_optimizeDeps":false,"v8_passThroughRequests":true,"v8_trailingSlashAwareDataRequests":true,"unstable_previewServerPrerendering":false,"v8_middleware":true,"v8_splitRouteModules":true,"v8_viteEnvironmentApi":true},"routeDiscovery":{"mode":"initial"},"ssr":false,"isSpaMode":false};window.__reactRouterContext.stream = new ReadableStream({start(controller){window.__reactRouterContext.streamController = controller;}}).pipeThrough(new TextEncoderStream());</script>
178<script type="module" async="">import "/assets/manifest-d6df01b4.js"; 179import * as route0 from "/assets/root-BzN_0XdP.js"; 180import * as route1 from "/assets/site-layout-B6WjybIe.js"; 181import * as route2 from "/assets/docs-Dk1DBOHv.js"; 182 183 window.__reactRouterRouteModules = {"root":route0,"site-layout":route1,"routes/docs":route2}; 184 185import("/assets/entry.client-BQQSpmpp.js");</script>
185<!--$-->
185<script>window.__reactRouterContext.streamController.enqueue("[{\"_1\":2,\"_3\":-5,\"_4\":-5},\"loaderData\",{\"_5\":6},\"actionData\",\"errors\",\"routes/docs\",{\"_7\":8,\"_9\":10,\"_11\":12},\"id\",\"getting-started\",\"titles\",{\"_8\":46,\"_47\":48,\"_49\":50,\"_51\":52,\"_53\":54,\"_55\":56,\"_57\":58,\"_59\":60,\"_61\":62,\"_63\":64,\"_65\":66,\"_67\":68,\"_69\":70,\"_71\":72,\"_73\":74,\"_75\":76,\"_77\":78,\"_79\":80,\"_81\":82,\"_83\":84,\"_85\":86},\"page\",{\"_13\":14,\"_15\":16,\"_17\":18,\"_19\":20,\"_21\":20,\"_22\":23},\"title\",\"Getting Started - Docs\",\"description\",\"A quick introduction to managing your environment variables with Envless.\",\"ogImage\",\"/og/docs/getting-started.png\",\"markdownAlternate\",true,\"bare\",\"jsonLd\",{\"_24\":25,\"_26\":27},\"@type\",\"BreadcrumbList\",\"itemListElement\",[28,29,30,31],{\"_24\":32,\"_33\":43,\"_35\":44,\"_37\":45},{\"_24\":32,\"_33\":41,\"_35\":42,\"_37\":38},{\"_24\":32,\"_33\":39,\"_35\":40,\"_37\":38},{\"_24\":32,\"_33\":34,\"_35\":36,\"_37\":38},\"ListItem\",\"position\",4,\"name\",\"Getting Started\",\"item\",\"https://envless.cloud/docs/getting-started\",3,\"Guides\",2,\"Documentation\",1,\"Home\",\"https://envless.cloud/\",{\"_13\":36},\"concepts\",{\"_13\":114},\"installation\",{\"_13\":113},\"dashboard/variables\",{\"_13\":111,\"_96\":112},\"dashboard/raw-editor\",{\"_13\":110},\"manage/compare\",{\"_13\":108,\"_96\":109},\"reference/shortcuts\",{\"_13\":106,\"_96\":107},\"auth/sign-in\",{\"_13\":105},\"auth/two-factor\",{\"_13\":103,\"_96\":104},\"auth/unlock\",{\"_13\":101,\"_96\":102},\"auth/step-up\",{\"_13\":100},\"manage/account\",{\"_13\":98,\"_96\":99},\"manage/notifications\",{\"_13\":95,\"_96\":97},\"manage/plans-and-billing\",{\"_13\":94},\"manage/onboarding-a-teammate\",{\"_13\":93},\"auth/keys\",{\"_13\":92},\"production/machine\",{\"_13\":91},\"production/ci-cd\",{\"_13\":90},\"pull/virtual-envs\",{\"_13\":89},\"pull/env-example\",{\"_13\":88},\"reference/troubleshooting\",{\"_13\":87},\"Troubleshooting\",\"Example links (.env.example feed)\",\"Virtual environments (encrypted JSON feed)\",\"Production \u0026 CI\",\"Machine \u0026 CI access\",\"Keys\",\"Onboarding a teammate\",\"Plans and billing\",\"Notification emails\",\"sidebarTitle\",\"Notifications\",\"Account and preferences\",\"Account\",\"Step-up verification\",\"Unlocking the dashboard\",\"Unlock\",\"Two-factor authentication\",\"Two-factor\",\"Signing in\",\"Command palette and keyboard shortcuts\",\"Shortcuts\",\"Compare environments\",\"Compare\",\"Raw .env editor\",\"Variables in the dashboard\",\"Variables\",\"Installation\",\"Concepts\"]\n");</script>
185<!--$-->
185<script>window.__reactRouterContext.streamController.close();</script>
185<!--/$--><!--/$-->
185<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"6af6c408db6d483596eb9722b3533454","r":1,"spa":2}' crossorigin="anonymous"></script>
185 186</body></html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.