# config/initializers/forest_admin_rails.rbForestAdminRails.configure do |config| config.env_secret = ENV['FOREST_ENV_SECRET'] config.auth_secret = ENV['FOREST_AUTH_SECRET']end
Security reminder: These environment variables contain sensitive secrets that authenticate your back-end with Forest. Never commit them to version control, share them publicly, or reuse them across different environments (development, staging, production). Always use separate secrets for each environment and store them securely using environment variables or secret management tools.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Forest Documentation","colors":{"primary":"#3F5B1E","light":"#DDF327","dark":"#3F5B1E"},"logo":{"light":"https://mintcdn.com/forest/ZO8t9buUjTuKyt-F/images/Standard.svg?fit=max\u0026auto=format\u0026n=ZO8t9buUjTuKyt-F\u0026q=85\u0026s=d4e172941c964df57009cfa8be809b96","dark":"https://mintcdn.com/forest/ZO8t9buUjTuKyt-F/images/LIME.svg?fit=max\u0026auto=format\u0026n=ZO8t9buUjTuKyt-F\u0026q=85\u0026s=91e95470256b93527860cba6c206cbc4"},"favicon":{"light":"https://mintcdn.com/forest/ZO8t9buUjTuKyt-F/images/Standard.svg?fit=max\u0026auto=format\u0026n=ZO8t9buUjTuKyt-F\u0026q=85\u0026s=d4e172941c964df57009cfa8be809b96","dark":"https://mintcdn.com/forest/ZO8t9buUjTuKyt-F/images/LIME.svg?fit=max\u0026auto=format\u0026n=ZO8t9buUjTuKyt-F\u0026q=85\u0026s=91e95470256b93527860cba6c206cbc4"},"navbar":{"links":[{"href":"mailto:support@forestadmin.com","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://app.forestadmin.com"}},"footer":{"socials":{"twitter":"https://twitter.com/forest_admin","github":"https://github.com/ForestAdmin","linkedin":"https://linkedin.com/company/forestadmin"}},"contextual":{"options":["copy","view","claude","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"forest","hasAudioNarration":false,"actualSubdomain":"forest","customDomains":["docs.forest.app"],"gitSource":{"type":"github","owner":"forestadmin","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adb428a343e8b4158140116","collectionId":"5365b6a4-fce8-4b58-90bc-27e15a3e4242","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adb428a343e8b4158140116"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"DISABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6adb428a343e8b4158140116","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Legacy","count":289},{"language":"default","tag":"JavaScript Agents","count":141},{"language":"default","tag":"Ruby Agent","count":140},{"language":"default","tag":"Product","count":113},{"language":"default","tag":"Integrations","count":64},{"language":"default","tag":"Actions","count":48},{"language":"default","tag":"Smart Action Examples","count":34},{"language":"default","tag":"Process","count":32},{"language":"default","tag":"Upgrade","count":31},{"language":"default","tag":"Connect","count":30}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@forestadmin.com"}},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"get-started/connect/environment-variables","slug":"/get-started/connect/environment-variables","pageMetadata":{"title":"Environment Variables","description":"Configure your Forest back-end with required environment variables","href":"/get-started/connect/environment-variables"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Configure your Forest back-end with required environment variables\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,CodeGroup,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!CodeGroup)_missingMdxReference(`CodeGroup`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Environment variables are used to configure your Forest back-end securely, keeping sensitive information separate from your codebase.`}),`\n`,_jsx(Heading,{level:`2`,id:`required-variables`,children:`Required variables`}),`\n`,_jsx(Heading,{level:`3`,id:`forest_env_secret`,children:`FOREST_ENV_SECRET`}),`\n`,_jsx(_components.p,{children:`Your unique environment secret provided by Forest.`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`FOREST_ENV_SECRET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`1234567890abcdef1234567890abcdef1234567890abcdef`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`FOREST_ENV_SECRET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`1234567890abcdef1234567890abcdef1234567890abcdef`})]}),`\n`]})})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Purpose:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Authenticates your back-end with Forest`}),`\n`,_jsx(_components.li,{children:`Links your back-end to your Forest project`}),`\n`,_jsx(_components.li,{children:`Required for all architectures (Cloud, Self-Hosted, On-Premise)`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Where to find it:`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Go to `,_jsx(_components.a,{href:`https://app.forestadmin.com`,children:`app.forestadmin.com`})]}),`\n`,_jsx(_components.li,{children:`Select your project`}),`\n`,_jsx(_components.li,{children:`Go to Settings → Environments`}),`\n`,_jsx(_components.li,{children:`Copy the environment secret`}),`\n`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Never commit `,_jsx(_components.code,{children:`FOREST_ENV_SECRET`}),` to version control. Always use environment variables or secret management tools.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`forest_auth_secret`,children:`FOREST_AUTH_SECRET`}),`\n`,_jsx(_components.p,{children:`Secret key used to sign authentication tokens (Self-Hosted and On-Premise only).`}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`FOREST_AUTH_SECRET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`your-secure-random-string-at-least-32-characters-long`})]}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`FOREST_AUTH_SECRET`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`your-secure-random-string-at-least-32-characters-long`})]}),`\n`]})})})]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Purpose:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Signs JWT tokens for user authentication`}),`\n`,_jsx(_components.li,{children:`Required for Self-Hosted and On-Premise architectures`}),`\n`,_jsx(_components.li,{children:`Not needed for Cloud architecture`}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Generate a secure secret:`})}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Generate a random 32-character string`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`node`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -e`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"console.log(require('crypto').randomBytes(32).toString('hex'))\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# Or use OpenSSL`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`openssl`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` rand`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -hex`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 32`})]}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`node_env-node-js-only`,children:`NODE_ENV (Node.js only)`}),`\n`,_jsx(_components.p,{children:`Environment mode for Node.js applications.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`NODE_ENV`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`production`}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:` # Options: development, production, test`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Purpose:`})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`production`}),`: Optimized performance, minimal logging`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`development`}),`: Detailed logging, development mode`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`test`}),`: Testing mode`]}),`\n`]}),`\n`,_jsxs(CodeGroup,{children:[_jsx(CodeBlock,{filename:`Node.js`,numberOfLines:`5`,language:`javascript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`javascript`,children:_jsxs(_components.code,{language:`javascript`,numberOfLines:`5`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` agent`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` createAgent`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` envSecret:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`FOREST_ENV_SECRET`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` authSecret:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`FOREST_AUTH_SECRET`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` isProduction:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` process`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`env`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:`NODE_ENV`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` ===`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'production'`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),_jsx(CodeBlock,{filename:`Ruby`,numberOfLines:`5`,language:`ruby`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`ruby`,children:_jsxs(_components.code,{language:`ruby`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`# config/initializers/forest_admin_rails.rb`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4EC9B0`},children:`ForestAdminRails`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`configure`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` do`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` |`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`|`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`env_secret`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` ENV`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'FOREST_ENV_SECRET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` config.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`auth_secret`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` ENV`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`[`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'FOREST_AUTH_SECRET'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`]`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`end`})}),`\n`]})})})]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Security reminder:`}),` These environment variables contain sensitive secrets that authenticate your back-end with Forest. Never commit them to version control, share them publicly, or reuse them across different environments (development, staging, production). Always use separate secrets for each environment and store them securely using environment variables or secret management tools.`]})})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Environment Variables","description":"Configure your Forest back-end with required environment variables","href":"/get-started/connect/environment-variables"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Required variables","slug":"required-variables","depth":2,"children":[{"title":"FOREST_ENV_SECRET","slug":"forest_env_secret","depth":3,"children":[]},{"title":"FOREST_AUTH_SECRET","slug":"forest_auth_secret","depth":3,"children":[]},{"title":"NODE_ENV (Node.js only)","slug":"node_env-node-js-only","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":[],"subdomain":"forest","siteName":"Forest Documentation","title":"Environment Variables - Forest Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-06-11T14:51:25.907Z","originalFileLocation":"get-started/connect/environment-variables.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Configure your Forest back-end with required environment variables\">\u003cmeta data-mint-head name=\"application-name\" content=\"Forest Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Environment Variables - Forest Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Configure your Forest back-end with required environment variables\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Forest Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.forest.app/get-started/connect/environment-variables\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://forest.mintlify.app/_mintlify/api/og/v2?division=Advanced+Concepts\u0026amp;title=Environment+Variables\u0026amp;description=Configure+your+Forest+back-end+with+required+environment+variables\u0026amp;theme=7cc620c0b37a08e7a7deb699\u0026amp;signature=71cd30061d92c2fe7ff5bb6e2723511b37650c5567206ca49e9d99f9d28b0839\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Environment Variables - Forest Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Configure your Forest back-end with required environment variables\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://forest.mintlify.app/_mintlify/api/og/v2?division=Advanced+Concepts\u0026amp;title=Environment+Variables\u0026amp;description=Configure+your+Forest+back-end+with+required+environment+variables\u0026amp;theme=7cc620c0b37a08e7a7deb699\u0026amp;signature=71cd30061d92c2fe7ff5bb6e2723511b37650c5567206ca49e9d99f9d28b0839\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/forest/9euPPsOQWnB89Kt3/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Forest Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#3F5B1E\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.forest.app/get-started/connect/environment-variables\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/get-started/connect/environment-variables.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.forest.app/#organization\",\"name\":\"Forest Documentation\",\"url\":\"https://docs.forest.app\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/forest/ZO8t9buUjTuKyt-F/images/Standard.svg?fit=max\u0026auto=format\u0026n=ZO8t9buUjTuKyt-F\u0026q=85\u0026s=d4e172941c964df57009cfa8be809b96\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.forest.app#website\",\"name\":\"Forest Documentation\",\"url\":\"https://docs.forest.app\",\"publisher\":{\"@id\":\"https://docs.forest.app/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.forest.app/get-started/connect/environment-variables#webpage\",\"url\":\"https://docs.forest.app/get-started/connect/environment-variables\",\"name\":\"Environment Variables\",\"description\":\"Configure your Forest back-end with required environment variables\",\"dateModified\":\"2026-06-11T14:51:25.907Z\",\"isPartOf\":{\"@id\":\"https://docs.forest.app#website\"},\"breadcrumb\":{\"@id\":\"https://docs.forest.app/get-started/connect/environment-variables#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.forest.app/get-started/connect/environment-variables#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Connect\",\"item\":\"https://docs.forest.app/get-started/connect/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Environment Variables\",\"item\":\"https://docs.forest.app/get-started/connect/environment-variables\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.forest.app/get-started/connect/environment-variables#article\",\"headline\":\"Environment Variables\",\"name\":\"Environment Variables\",\"description\":\"Configure your Forest back-end with required environment variables\",\"url\":\"https://docs.forest.app/get-started/connect/environment-variables\",\"mainEntityOfPage\":{\"@id\":\"https://docs.forest.app/get-started/connect/environment-variables#webpage\"},\"dateModified\":\"2026-06-11T14:51:25.907Z\",\"publisher\":{\"@id\":\"https://docs.forest.app/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.forest.app#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Forest Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Forest Documentation","nav":{"global":null,"tabs":[{"tab":"Home","pages":[{"title":"Home","href":""}]},{"tab":"Get Started","pages":[{"title":"Get Started","href":"/get-started/intro-to-forest-admin"}]},{"tab":"Product","groups":[{"group":"Overview","pages":[{"title":"Product","href":"/product/overview"}]},{"group":"Connect","pages":[{"title":"Overview","href":"/get-started/connect/overview"},{"title":"Architecture","href":"/get-started/connect/architectures/self-hosted"},{"title":"Deployment options","href":"/get-started/connect/architectures/deployment-options"},{"group":"Data Sources","pages":[{"title":"Add datasources to your project","href":"/get-started/connect/data-sources/overview"},{"title":"SQL datasource","href":"/get-started/connect/data-sources/sql"},{"title":"Sequelize datasource","href":"/get-started/connect/data-sources/sequelize"},{"title":"Mongoose datasource","href":"/get-started/connect/data-sources/mongoose"},{"title":"MongoDB datasource","href":"/get-started/connect/data-sources/mongodb"},{"title":"Dummy datasource","href":"/get-started/connect/data-sources/dummy"},{"title":"ActiveRecord datasource","href":"/get-started/connect/data-sources/active-record"},{"title":"Mongoid datasource","href":"/get-started/connect/data-sources/mongoid"},{"title":"Hubspot","href":"/get-started/connect/data-sources/hubspot"},{"title":"Elasticsearch","href":"/get-started/connect/data-sources/elasticsearch"},{"title":"Airtable","href":"/get-started/connect/data-sources/airtable"},{"title":"Stripe","href":"/get-started/connect/data-sources/stripe"},{"title":"RPC","href":"/get-started/connect/data-sources/rpc"},{"title":"GraphQL / Hasura","href":"/get-started/connect/data-sources/graphql-hasura"},{"title":"CosmosDB","href":"/get-started/connect/data-sources/cosmosdb"},{"title":"Snowflake","href":"/get-started/connect/data-sources/snowflake"},{"title":"Pylon","href":"/get-started/connect/data-sources/pylon"},{"title":"Zendesk","href":"/get-started/connect/data-sources/zendesk"},{"group":"Custom datasources","pages":[{"title":"Overview","href":"/get-started/connect/data-sources/custom-datasources/overview"},{"title":"Translation","href":"/get-started/connect/data-sources/custom-datasources/translation"},{"title":"Replication","href":"/get-started/connect/data-sources/custom-datasources/replication"}]}]},{"group":"Integrations","pages":[{"title":"All integrations","href":"/get-started/connect/integrations/overview"},{"title":"MCP Connectors","href":"/get-started/connect/integrations/mcp-servers"},{"title":"Forest Gateway","href":"/product/embed/gateway"},{"title":"Standalone Forest Gateway","href":"/product/embed/gateway-standalone"},{"title":"Zendesk App","href":"/product/embed/zendesk"},{"title":"n8n Node","description":"Trigger Forest actions and access your data from n8n workflows.","href":"/product/embed/n8n"}]},{"group":"Advanced Concepts","pages":[{"title":"Environment Variables","href":"/get-started/connect/environment-variables"},{"title":"Data Types","description":"Reference of data types available in Forest","href":"/get-started/connect/data-types"},{"title":"Relationships","href":"/get-started/connect/relationships-schema"},{"title":"TypeScript Autocompletion","href":"/get-started/connect/typescript-autocompletion"},{"title":".forestadmin-schema.json","href":"/reference/schema/forestadmin-schema"}]}]},{"group":"Process","pages":[{"group":"Actions","pages":[{"title":"Overview","href":"/product/process/actions/overview"},{"title":"No-code actions","hidden":true,"href":"/product/process/actions/nocode-actions"},{"group":"Code-based actions","pages":[{"title":"Overview","href":"/product/process/actions/custom-actions/overview"},{"title":"Forms","href":"/product/process/actions/custom-actions/forms"},{"title":"Result types","href":"/product/process/actions/custom-actions/result-types"},{"title":"Context \u0026 scope","href":"/product/process/actions/custom-actions/context-scope"},{"title":"Related data invalidation","href":"/product/process/actions/custom-actions/related-data-invalidation"}]}]},{"group":"Fields","pages":[{"title":"Overview","href":"/product/process/fields/overview"},{"title":"Computed fields","href":"/product/process/fields/computed"},{"title":"Import, rename \u0026 remove fields","href":"/product/process/fields/import-rename-remove"},{"title":"Field validation","href":"/product/process/fields/validation"},{"title":"Writing behavior","href":"/product/process/fields/write"},{"title":"Filtering \u0026 Sorting","href":"/product/process/fields/filter"},{"title":"Binary fields","href":"/product/process/fields/binary"}]},{"group":"Segments","pages":[{"title":"Creating segments","href":"/product/process/segments/creating-segments"},{"title":"Code-based segments","href":"/product/process/segments/smart-segments/overview"}]},{"group":"Relationships","pages":[{"title":"Overview","href":"/product/process/relationships/overview"},{"title":"Single-record relationships","href":"/product/process/relationships/single-record"},{"title":"Multiple-records relationships","href":"/product/process/relationships/multiple-records"},{"title":"Computed foreign keys","href":"/product/process/relationships/computed-fks"},{"title":"Under the hood","href":"/product/process/relationships/under-the-hood"}]},{"group":"Workflows","pages":[{"title":"Workflows","href":"/product/process/workflows/overview"},{"title":"Workflow triggers","href":"/product/process/workflows/triggers"},{"title":"Forest Runtime","href":"/product/process/workflows/forest-runtime"}]},{"group":"Advanced Concepts","pages":[{"title":"Hooks","href":"/product/process/advanced-concepts/hooks/overview"},{"group":"Plugins","pages":[{"title":"Plugins","href":"/product/process/advanced-concepts/plugins/overview"},{"title":"Active Storage","href":"/product/process/advanced-concepts/plugins/active-storage"},{"title":"Pylon plugins","href":"/product/process/advanced-concepts/plugins/pylon"},{"title":"Zendesk plugins","href":"/product/process/advanced-concepts/plugins/zendesk"}]},{"title":"Testing your back-end","href":"/product/process/advanced-concepts/testing"},{"group":"Developer Workflow","pages":[{"title":"Environments \u0026 branches","href":"/product/process/advanced-concepts/developer-workflow/environments-and-branches"},{"title":"Schema updates","href":"/product/process/advanced-concepts/developer-workflow/schema-updates"},{"title":"TypeScript setup \u0026 autocompletion","href":"/product/process/advanced-concepts/developer-workflow/typescript-setup"}]}]}]},{"group":"Build","pages":[{"title":"Layout editor","href":"/product/build/layout-editor"},{"title":"Collection configuration","href":"/product/build/collection-configuration"},{"group":"Workspaces","pages":[{"title":"Workspaces","href":"/product/build/workspaces"},{"title":"Example 1: KYC","href":"/product/build/workspaces/kyc"},{"title":"Example 2: Incident Management","href":"/product/build/workspaces/incident-management"}]},{"title":"Dashboards","href":"/product/manage/dashboards"},{"title":"Fields \u0026 widgets","href":"/product/build/fields-and-widgets/overview"},{"group":"Advanced Concepts","pages":[{"title":"Layout versioning","href":"/product/build/layout-versioning"},{"title":"Smart views","href":"/product/build/custom-views/smart-views"},{"title":"Search Configuration","href":"/product/build/search-configuration"},{"title":"Pagination Configuration","href":"/product/build/pagination"}]}]},{"group":"Execute","pages":[{"title":"Browsing \u0026 searching data","href":"/product/execute/browse"},{"title":"Executing actions","href":"/product/execute/actions"},{"title":"Executing workflows","href":"/product/execute/workflows"},{"title":"Export data","href":"/product/execute/export"}]},{"group":"Collaborate","pages":[{"title":"Approval workflows","href":"/product/collaborate/approval-workflows"},{"title":"Notes","href":"/product/collaborate/notes"}]},{"group":"Manage","pages":[{"title":"Team performance","href":"/product/manage/team-performance"},{"title":"Inbox","href":"/product/manage/inbox"},{"title":"Charts","href":"/product/manage/charts/overview"},{"title":"Smart Charts","href":"/product/manage/charts/smart-charts"}]},{"group":"Embed","pages":[{"title":"Forest MCP Server","href":"/product/embed/mcp-server"},{"title":"Forest Gateway","href":"/product/embed/gateway"},{"title":"Standalone Forest Gateway","href":"/product/embed/gateway-standalone"},{"title":"Zendesk App","href":"/product/embed/zendesk"},{"title":"n8n Node","href":"/product/embed/n8n"}]},{"group":"Control","pages":[{"title":"Roles \u0026 Permissions","href":"/get-started/control/roles-permissions"},{"title":"Teams","href":"/get-started/control/teams"},{"title":"Scopes","href":"/get-started/control/scopes-and-visibility"},{"title":"Audit \u0026 Activity Logs","href":"/get-started/control/audit"},{"title":"Audit Trail","href":"/get-started/control/audit-trail"},{"group":"Authentication","pages":[{"title":"Single Sign-On (SSO)","href":"/get-started/control/authentication/sso"},{"group":"SSO Providers","pages":[{"title":"SSO Provider Guides","href":"/get-started/control/authentication/sso-providers/overview"},{"title":"Google Workspace SSO","href":"/get-started/control/authentication/sso-providers/google"},{"title":"Okta SSO","href":"/get-started/control/authentication/sso-providers/okta"},{"title":"Azure AD / Entra ID SSO","href":"/get-started/control/authentication/sso-providers/azure"},{"title":"Generic SAML 2.0 SSO","href":"/get-started/control/authentication/sso-providers/generic-saml"}]},{"title":"Two-Factor Authentication (2FA)","href":"/get-started/control/authentication/2fa"},{"group":"SCIM Provisioning","pages":[{"title":"SCIM Integration with Okta","href":"/get-started/control/authentication/scim-okta"},{"title":"SCIM Integration with OneLogin","href":"/get-started/control/authentication/scim-onelogin"},{"title":"Manual SCIM Integration with Okta","href":"/get-started/control/authentication/scim-okta-manual"}]}]},{"group":"Security","pages":[{"title":"Security \u0026 Privacy Architecture","href":"/get-started/control/security/architecture"},{"title":"IP Whitelisting","href":"/get-started/control/security/ip-whitelisting"},{"title":"Auto Logout","href":"/get-started/control/security/auto-logout"},{"title":"Two-Factor Authentication Enforcement","href":"/get-started/control/security/2fa-enforcement"}]}]},{"group":"Project Settings","pages":[{"title":"General Settings","href":"/get-started/project-settings/general"},{"title":"User Management","href":"/get-started/project-settings/users"},{"title":"Service Accounts","href":"/get-started/project-settings/service-accounts"},{"title":"Interface \u0026 Branding","href":"/get-started/project-settings/interface"},{"title":"Billing \u0026 Invoices","href":"/get-started/project-settings/billing"}]}]},{"tab":"Reference","pages":[{"title":"Reference","href":"/reference/overview"}]},{"tab":"Legacy","pages":[{"title":"Legacy","href":"/legacy/agents-overview"}]}]},"title":"Environment Variables - Forest Documentation","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":[],"chunks":[]}