Laravel Cloud’s Secrets Manager lets you define encrypted secrets at the organization level and link them to one or more environments. Secrets are useful for values that several environments share, such as third-party API tokens, GitHub tokens, Cloudflare credentials, or other sensitive configuration.Unlike custom environment variables, secrets are managed centrally. When a shared value changes, you update it once rather than copying it into each environment individually.Laravel Cloud injects secrets into your application as environment variables during deployment.
To create a secret, navigate to your organization’s dashboard and click Settings > Secrets. Then, click New secret.Each secret has a key, value, and optional notes. Secret keys must start with a letter or underscore and may contain only letters, numbers, and underscores. For example:
You may create multiple secrets at once by clicking Add another. Creating several at once is useful for a group of related credentials, such as AWS or Cloudflare credentials.When creating a secret, you may select the environments that should use it. You can also link secrets to environments later from either the organization settings page or the environment’s general settings.
Secret keys do not need to be unique. For example, you may create a separate STRIPE_SECRET for each of your applications, using the notes field to distinguish them.
To edit a secret, navigate to Settings > Secrets and select the secret from the list. You may update its value, notes, or linked environments.
Secret values are write once, read never. When editing a secret, Laravel Cloud does not show the existing value. To rotate a secret, enter a new value and save your changes.
Deleting a secret permanently removes it from the organization and from any environments where it is linked.
A secret affects an environment only after you link it. To link secrets from an environment, open the environment’s general settings, scroll to the injected variables section, and click Link secrets.From the link secrets dialog, you may select one or more organization secrets to attach to the environment. Environments have a hard limit of 30 linked secrets.
Laravel Cloud decrypts and injects secrets during deployment. After creating, updating, linking, unlinking, or deleting a secret, redeploy each affected environment for the change to take effect. When you link or unlink secrets, Laravel Cloud stages the change on the environment, and you can deploy it from the staged changes banner.
Laravel Cloud merges secrets into the environment variables generated for a deployment. If a custom environment variable and a linked secret use the same key, the custom environment variable takes priority. Custom environment variables also take priority over Laravel Cloud’s automatically injected variables.This order lets you use shared secrets for common configuration and still override a value in a specific environment when needed.
Your browser encrypts secret values before submitting them to Laravel Cloud. When you create or rotate a secret, the plaintext value never reaches Laravel Cloud’s servers.Laravel Cloud stores the encrypted value and decrypts it only when creating a deployment for an environment that uses the secret. Laravel Cloud protects organization key material with AWS Key Management Service (KMS).
Access to Secrets Manager depends on your organization role and permissions. Creating, editing, and deleting secrets are organization-level permissions. Linking secrets to an environment requires a dedicated environment-level permission.For more information about organization access, see Role-based access control.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Laravel Cloud","colors":{"primary":"#0057FF","light":"#71A8FF","dark":"#0057FF"},"logo":{"light":"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-light.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=f508d8e9c4e3c842e83d055cc376daa1","dark":"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-dark.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=fcfe00a4914f5e3ad791b606c3e75795","href":"https://cloud.laravel.com/"},"favicon":"https://mintcdn.com/cloud/83RcCEaWR6PzmMFO/favicons/favicon-dark.png?fit=max\u0026auto=format\u0026n=83RcCEaWR6PzmMFO\u0026q=85\u0026s=edd5608e08efe6ae6a4ca1b44232d2af","navbar":{"links":[],"primary":{"type":"button","label":"Get Started","href":"https://cloud.laravel.com"}},"footer":{"socials":{"x":"https://x.com/laravel","github":"https://github.com/laravel","discord":"https://discord.gg/laravel","youtube":"https://www.youtube.com/laravelphp"}},"seo":{"metatags":{"robots":"noindex"}},"integrations":{"fathom":{"siteId":"KZRWMQWT"}},"banner":{"content":"Deploy Next and Nuxt frontends alongside your Laravel apps, all from one unified platform. \u003ca href='https://laravel.com/blog/deploy-nextjs-and-nuxt-apps-on-laravel-cloud'>Learn more →\u003c/a>","dismissible":true},"contextual":{"options":["copy","chatgpt","claude","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cloud","hasAudioNarration":false,"actualSubdomain":"cloud","customDomains":["cloud.laravel.com"],"gitSource":{"type":"github","owner":"laravel","repo":"cloud-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae4782bce5b575d2352f8ac","collectionId":"94b56381-27cb-4842-9586-440951dbc577","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae4782bce5b575d2352f8ac"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae8705b883d97e41aaea388","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"API","count":130},{"language":"default","tag":"Endpoints","count":126},{"language":"default","tag":"Documentation","count":60},{"language":"default","tag":"Knowledge Base","count":21},{"language":"default","tag":"Basics","count":17},{"language":"default","tag":"Environments","count":15},{"language":"default","tag":"Instances","count":14},{"language":"default","tag":"Private Cloud","count":10},{"language":"default","tag":"Caches","count":9},{"language":"default","tag":"Deploy guides","count":8}]},"assistantConfig":{"enableAskAiButton":true,"enableAskAiSearchBar":false,"deflection":{"enabled":false,"showHelpButton":false}},"basePath":"/cloud/docs","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":"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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","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},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"styles.css","content":"/* latin-ext */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0She1YmV.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Instrument Sans';\n font-style: normal;\n font-weight: 400 500;\n font-stretch: 100%;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/instrumentsans/v4/pxiTypc9vsFDm051Uf6KVwgkfoSxQ0GsQv8ToedPibnr0SZe1Q.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrodmgPn.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrMdmgPn.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFg08vz7ehw.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* vietnamese */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrgdmgPn.woff2) format('woff2');\n unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrkdmgPn.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Geist Mono';\n font-style: normal;\n font-weight: 300 600;\n font-display: swap;\n src: url(/cloud/docs/_mintlify/assets/fonts/google/s/geistmono/v6/or3nQ6H-1_WfwkMZI_qYFrcdmg.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\nbody{font-family:\"Instrument Sans\";font-weight:400}h1,h2,h3,h4{font-family:\"Instrument Sans\"!important;letter-spacing:-.025em!important}code,pre{font-family:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,'Liberation Mono','Courier New',monospace}.font-semibold,b,h1,h2,h3,h4,strong{font-weight:500!important}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500!important;color:rgb(var(--primary))!important}.dark .prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:rgb(var(--primary-light))!important}.table-auto{table-layout:auto}table.table-fixed{table-layout:fixed!important}table{table-layout:auto!important;display:table}th{text-align:left}td>p.icon{margin:0}.pr-16{padding-right:4em}.max-w-none{max-width:none!important}.align-top{vertical-align:top}.italic{font-style:italic}.pr-20{padding-right:5rem}.max-h-50vh{max-height:50vh}.select-arrow{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e\");background-size:1.5em 1.5em;background-position:right .5rem center;background-repeat:no-repeat}#banner a{color:rgb(var(--white))!important;white-space:nowrap}#banner>div>p{white-space:normal;padding-top:.125rem;padding-bottom:.125rem;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;line-clamp:3;-webkit-line-clamp:3}#banner:has(>button){padding-right:2.5rem}@media screen and (min-width:768px){#banner{height:auto}#banner:has(>button){padding-left:2.5rem}}#topbar-cta-button a>span:first-child{background-color:rgb(22 25 30)}.dark #topbar-cta-button a>span:first-child{background-color:rgb(255 255 255)}.dark #topbar-cta-button a,.dark #topbar-cta-button a *{color:rgb(22 25 30)!important}"}],"page":{"pagePath":"secrets","slug":"/secrets","pageMetadata":{"title":"Secrets","sidebarTitle":"Secrets","description":"Manage encrypted secrets across environments.","href":"/secrets"},"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: \"Manage encrypted secrets across environments.\"\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`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading,Note}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`introduction`,children:`Introduction`}),`\n`,_jsx(_components.p,{children:`Laravel Cloud’s Secrets Manager lets you define encrypted secrets at the organization level and link them to one or more environments. Secrets are useful for values that several environments share, such as third-party API tokens, GitHub tokens, Cloudflare credentials, or other sensitive configuration.`}),`\n`,_jsx(_components.p,{children:`Unlike custom environment variables, secrets are managed centrally. When a shared value changes, you update it once rather than copying it into each environment individually.`}),`\n`,_jsx(_components.p,{children:`Laravel Cloud injects secrets into your application as environment variables during deployment.`}),`\n`,_jsx(Heading,{level:`2`,id:`creating-secrets`,children:`Creating secrets`}),`\n`,_jsxs(_components.p,{children:[`To create a secret, navigate to your organization’s dashboard and click `,_jsx(_components.strong,{children:`Settings > Secrets`}),`. Then, click `,_jsx(_components.strong,{children:`New secret`}),`.`]}),`\n`,_jsx(_components.p,{children:`Each secret has a key, value, and optional notes. Secret keys must start with a letter or underscore and may contain only letters, numbers, and underscores. For example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,language:`dotenv`,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:`dotenv`,children:_jsxs(_components.code,{language:`dotenv`,numberOfLines:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`GITHUB_TOKEN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`ghp_example`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`CLOUDFLARE_API_TOKEN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`example-token`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#9CDCFE`},children:`AWS_ACCESS_KEY_ID`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`example-key`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`You may create multiple secrets at once by clicking `,_jsx(_components.strong,{children:`Add another`}),`. Creating several at once is useful for a group of related credentials, such as AWS or Cloudflare credentials.`]}),`\n`,_jsx(_components.p,{children:`When creating a secret, you may select the environments that should use it. You can also link secrets to environments later from either the organization settings page or the environment’s general settings.`}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[`Secret keys do not need to be unique. For example, you may create a separate `,_jsx(_components.code,{children:`STRIPE_SECRET`}),` for each of your applications, using the notes field to distinguish them.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`managing-secrets`,children:`Managing secrets`}),`\n`,_jsxs(_components.p,{children:[`To edit a secret, navigate to `,_jsx(_components.strong,{children:`Settings > Secrets`}),` and select the secret from the list. You may update its value, notes, or linked environments.`]}),`\n`,_jsx(Note,{children:_jsx(_components.p,{children:`Secret values are write once, read never. When editing a secret, Laravel Cloud does not show the existing value. To rotate a secret, enter a new value and save your changes.`})}),`\n`,_jsx(_components.p,{children:`Deleting a secret permanently removes it from the organization and from any environments where it is linked.`}),`\n`,_jsx(Heading,{level:`2`,id:`linking-secrets-to-environments`,children:`Linking secrets to environments`}),`\n`,_jsxs(_components.p,{children:[`A secret affects an environment only after you link it. To link secrets from an environment, open the environment’s general settings, scroll to the injected variables section, and click `,_jsx(_components.strong,{children:`Link secrets`}),`.`]}),`\n`,_jsx(_components.p,{children:`From the link secrets dialog, you may select one or more organization secrets to attach to the environment. Environments have a hard limit of 30 linked secrets.`}),`\n`,_jsx(Heading,{level:`3`,id:`deploying-changes`,children:`Deploying changes`}),`\n`,_jsx(_components.p,{children:`Laravel Cloud decrypts and injects secrets during deployment. After creating, updating, linking, unlinking, or deleting a secret, redeploy each affected environment for the change to take effect. When you link or unlink secrets, Laravel Cloud stages the change on the environment, and you can deploy it from the staged changes banner.`}),`\n`,_jsx(Heading,{level:`3`,id:`variable-precedence`,children:`Variable precedence`}),`\n`,_jsx(_components.p,{children:`Laravel Cloud merges secrets into the environment variables generated for a deployment. If a custom environment variable and a linked secret use the same key, the custom environment variable takes priority. Custom environment variables also take priority over Laravel Cloud’s automatically injected variables.`}),`\n`,_jsx(_components.p,{children:`This order lets you use shared secrets for common configuration and still override a value in a specific environment when needed.`}),`\n`,_jsx(Heading,{level:`2`,id:`security`,children:`Security`}),`\n`,_jsx(_components.p,{children:`Your browser encrypts secret values before submitting them to Laravel Cloud. When you create or rotate a secret, the plaintext value never reaches Laravel Cloud’s servers.`}),`\n`,_jsx(_components.p,{children:`Laravel Cloud stores the encrypted value and decrypts it only when creating a deployment for an environment that uses the secret. Laravel Cloud protects organization key material with AWS Key Management Service (KMS).`}),`\n`,_jsx(Heading,{level:`2`,id:`permissions`,children:`Permissions`}),`\n`,_jsx(_components.p,{children:`Access to Secrets Manager depends on your organization role and permissions. Creating, editing, and deleting secrets are organization-level permissions. Linking secrets to an environment requires a dedicated environment-level permission.`}),`\n`,_jsxs(_components.p,{children:[`For more information about organization access, see `,_jsx(_components.a,{href:`/rbac`,children:`Role-based access control`}),`.`]})]})}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":"Secrets","sidebarTitle":"Secrets","description":"Manage encrypted secrets across environments.","href":"/secrets"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Introduction","slug":"introduction","depth":2,"children":[]},{"title":"Creating secrets","slug":"creating-secrets","depth":2,"children":[]},{"title":"Managing secrets","slug":"managing-secrets","depth":2,"children":[]},{"title":"Linking secrets to environments","slug":"linking-secrets-to-environments","depth":2,"children":[{"title":"Deploying changes","slug":"deploying-changes","depth":3,"children":[]},{"title":"Variable precedence","slug":"variable-precedence","depth":3,"children":[]}]},{"title":"Security","slug":"security","depth":2,"children":[]},{"title":"Permissions","slug":"permissions","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/cloud/docs/_mintlify/custom/cloud/412bdbfbeb58e5da/gtag.js","/cloud/docs/_mintlify/custom/cloud/1a6e9e638535d772/plain.js","/cloud/docs/_mintlify/custom/cloud/f2ef70ddf7841ac3/rudderstack.js","/cloud/docs/_mintlify/custom/cloud/d55d837bfb92372f/scripts/fetch-ips.js"],"subdomain":"cloud","siteName":"Laravel Cloud","title":"Secrets - Laravel Cloud","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-15T11:57:59.308Z","originalFileLocation":"secrets.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=\"Manage encrypted secrets across environments.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Laravel Cloud\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_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=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Secrets - Laravel Cloud\">\u003cmeta data-mint-head property=\"og:description\" content=\"Manage encrypted secrets across environments.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Laravel Cloud\">\u003cmeta data-mint-head property=\"og:url\" content=\"/cloud/docs/secrets\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cloud.mintlify.app/_mintlify/api/og/v2?division=Basics\u0026amp;title=Secrets\u0026amp;description=Manage+encrypted+secrets+across+environments.\u0026amp;theme=8d4b254afde5db5ac1120ea2\u0026amp;signature=27581060e5e0c657b5143d8009783dc18bb147864c40c08ae9b394e907f22136\">\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=\"Secrets - Laravel Cloud\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Manage encrypted secrets across environments.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cloud.mintlify.app/_mintlify/api/og/v2?division=Basics\u0026amp;title=Secrets\u0026amp;description=Manage+encrypted+secrets+across+environments.\u0026amp;theme=8d4b254afde5db5ac1120ea2\u0026amp;signature=27581060e5e0c657b5143d8009783dc18bb147864c40c08ae9b394e907f22136\">\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=\"/cloud/docs/mintlify-assets/_mintlify/favicons/cloud/CwnEEs8UQ8WD3Jou/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Laravel Cloud\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0057FF\">\u003clink data-mint-head rel=\"canonical\" href=\"/cloud/docs/secrets\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/cloud/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/cloud/docs/secrets.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://cloud.laravel.com/#organization\",\"name\":\"Laravel Cloud\",\"url\":\"https://cloud.laravel.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cloud/MkfTsQSKGENWqY-2/logo/laravel-logo-light.png?fit=max\u0026auto=format\u0026n=MkfTsQSKGENWqY-2\u0026q=85\u0026s=f508d8e9c4e3c842e83d055cc376daa1\"}},{\"@type\":\"WebSite\",\"@id\":\"/cloud/docs#website\",\"name\":\"Laravel Cloud\",\"url\":\"/cloud/docs\",\"publisher\":{\"@id\":\"https://cloud.laravel.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"/cloud/docs/secrets#webpage\",\"url\":\"/cloud/docs/secrets\",\"name\":\"Secrets\",\"description\":\"Manage encrypted secrets across environments.\",\"dateModified\":\"2026-10-15T11:57:59.308Z\",\"isPartOf\":{\"@id\":\"/cloud/docs#website\"},\"breadcrumb\":{\"@id\":\"/cloud/docs/secrets#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"/cloud/docs/secrets#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Basics\",\"item\":\"/cloud/docs/applications\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Secrets\",\"item\":\"/cloud/docs/secrets\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"/cloud/docs/secrets#article\",\"headline\":\"Secrets\",\"name\":\"Secrets\",\"description\":\"Manage encrypted secrets across environments.\",\"url\":\"/cloud/docs/secrets\",\"mainEntityOfPage\":{\"@id\":\"/cloud/docs/secrets#webpage\"},\"dateModified\":\"2026-10-15T11:57:59.308Z\",\"publisher\":{\"@id\":\"https://cloud.laravel.com/#organization\"},\"isPartOf\":{\"@id\":\"/cloud/docs#website\"}}]}\u003c/script>","siteName":"Laravel Cloud","nav":{"global":{"anchors":[{"anchor":"Community","icon":"discord","href":"https://discord.gg/laravel"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get started","pages":[{"title":"Welcome to Laravel Cloud","sidebarTitle":"Introduction","href":"/intro"},{"title":"Quickstart","sidebarTitle":"Quickstart","mode":"wide","href":"/quickstart"},{"title":"Runtimes","sidebarTitle":"Runtimes","href":"/runtimes"}]},{"group":"Deploy guides","pages":[{"title":"Laravel deploy guide","sidebarTitle":"Laravel","href":"/deploy-guides/laravel"},{"title":"Next.js deploy guide","sidebarTitle":"Next.js","href":"/deploy-guides/nextjs"},{"title":"Nuxt deploy guide","sidebarTitle":"Nuxt","href":"/deploy-guides/nuxt"},{"title":"Node.js deploy guide","sidebarTitle":"Node.js","href":"/deploy-guides/nodejs"},{"title":"Go deploy guide","sidebarTitle":"Go","href":"/deploy-guides/go"},{"title":"Python deploy guide","sidebarTitle":"Python","href":"/deploy-guides/python"},{"title":"Ruby and Rails deploy guide","sidebarTitle":"Ruby and Rails","href":"/deploy-guides/ruby"},{"title":"Rust deploy guide","sidebarTitle":"Rust","href":"/deploy-guides/rust"}]},{"group":"Basics","pages":[{"title":"Applications","sidebarTitle":"Applications","href":"/applications"},{"title":"Environments","sidebarTitle":"Environments","href":"/environments"},{"title":"Preview Environments","sidebarTitle":"Preview Environments","description":"Generate a fully isolated environment for every pull request to safely test changes, share previews, and catch issues before merging.","href":"/preview-environments"},{"title":"Secrets","sidebarTitle":"Secrets","href":"/secrets"},{"title":"Domains","sidebarTitle":"Domains","description":"Configure Laravel Cloud domains, connect custom domains, set up DNS, and troubleshoot verification.","href":"/domains"},{"title":"Compute","sidebarTitle":"Compute","href":"/compute"},{"title":"Managed Queues","sidebarTitle":"Managed Queues","href":"/queues"},{"title":"Workers","sidebarTitle":"Workers","href":"/workers"},{"title":"Scheduled tasks","sidebarTitle":"Scheduled tasks","href":"/scheduled-tasks"},{"title":"Deployments","sidebarTitle":"Deployments","href":"/deployments"},{"title":"Health checks","sidebarTitle":"Health checks","href":"/health-checks"},{"title":"Source control","sidebarTitle":"Source control","href":"/source-control"},{"title":"Monorepos","sidebarTitle":"Monorepos","href":"/monorepos"},{"title":"Laravel Cloud Network","sidebarTitle":"Network","href":"/network"},{"title":"Organizations","sidebarTitle":"Organizations","href":"/organizations"},{"title":"Roles and permissions","sidebarTitle":"Roles and permissions","href":"/rbac"},{"title":"Single sign-on","sidebarTitle":"Single sign-on","href":"/sso"}]},{"group":"Resources","pages":[{"group":"Databases","pages":[{"title":"Laravel MySQL","sidebarTitle":"MySQL","href":"/resources/databases/laravel-mysql"},{"title":"Serverless Postgres","sidebarTitle":"Postgres","href":"/resources/databases/postgres"}]},{"group":"Caches","pages":[{"title":"Laravel Valkey","sidebarTitle":"Valkey","href":"/resources/caches/valkey"},{"title":"Redis by Upstash (deprecated)","sidebarTitle":"Redis","href":"/resources/caches/redis"}]},{"title":"Laravel Object Storage","sidebarTitle":"Object Storage","href":"/resources/object-storage"},{"group":"WebSockets","pages":[{"title":"Laravel Cloud WebSockets","sidebarTitle":"WebSockets","href":"/resources/websockets"},{"title":"Connecting with Pusher SDKs","sidebarTitle":"Pusher SDKs","href":"/resources/websockets/pusher"}]},{"title":"Email","sidebarTitle":"Email","href":"/resources/email"}]},{"group":"Private Cloud","pages":[{"title":"Private Cloud","sidebarTitle":"Overview","href":"/private-cloud"},{"title":"Dedicated edge network","sidebarTitle":"Edge network","href":"/private-cloud/edge-network"},{"title":"Private networking","href":"/private-cloud/private-networking"},{"title":"Internal networking","href":"/private-cloud/internal-networking"},{"title":"IAM roles","sidebarTitle":"IAM roles","href":"/private-cloud/iam-roles"},{"title":"Build configuration","href":"/private-cloud/build-configuration"},{"title":"RDS","sidebarTitle":"RDS","href":"/private-cloud/rds"},{"title":"ElastiCache","sidebarTitle":"ElastiCache","href":"/private-cloud/elasticache"},{"title":"Self-hosted GitLab","href":"/private-cloud/self-hosted-gitlab"},{"title":"Data transfer","href":"/private-cloud/data-transfer"}]},{"group":"Services","pages":[{"group":"Log Drains","pages":[{"title":"Log drains","sidebarTitle":"Overview","href":"/services/log-drains/overview"},{"title":"Log Drains Pricing","sidebarTitle":"Pricing","href":"/services/log-drains/pricing"}]}]},{"group":"Monitoring","pages":[{"title":"Requests","sidebarTitle":"Requests","href":"/requests"},{"title":"Logs","sidebarTitle":"Logs","href":"/logs"},{"title":"Usage","sidebarTitle":"Usage","href":"/usage"},{"title":"Notifications","sidebarTitle":"Notifications","href":"/notifications"}]},{"group":"Billing","pages":[{"title":"Free trial","sidebarTitle":"Free trial","href":"/free-trial"},{"sidebarTitle":"Plans and pricing","title":"Plans and pricing","href":"/pricing"},{"sidebarTitle":"Taxes","title":"Taxes","href":"/taxes"},{"sidebarTitle":"Spending limits","title":"Spending limits","href":"/spending-limits"}]},{"group":"Other","pages":[{"title":"Support","mode":"wide","href":"/support"},{"title":"Changelog","sidebarTitle":"Changelog","href":"/changelog"},{"title":"Compliance \u0026 Security","mode":"wide","href":"/compliance"},{"title":"Report abuse","sidebarTitle":"Abuse","href":"/abuse"}]}]},{"tab":"Knowledge Base","pages":[{"title":"Knowledge Base","href":"/knowledge-base/intro"}]},{"tab":"API","icon":"square-terminal","pages":[{"title":"API","href":"/api/introduction"}]}]},"basePath":"","title":"Secrets - Laravel Cloud","buildId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","deploymentId":"dpl_6cCEiK8XNNvaLBBkWzcBhdE9QfLC","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CGuHEvQW.js","dist-B66mVNPp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-BcghKhHb.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}