After you create your account or have its MFA reset, the portal opens Set up an authenticator app.
Open an authenticator app that supports time-based one-time passwords, such as 1Password, Bitwarden, or Google Authenticator.
Scan the QR code. If you cannot scan it, enter the setup key shown in the portal.
Enter the six-digit code from your authenticator app in Verification code.
Click Continue.
Save the recovery codes in a secure location that you can access without your authenticator app.
Click Continue to open the portal.
Each recovery code works once. Do not share your authenticator setup key or recovery codes with teammates. Each teammate needs a separate Developer Portal account.
If the portal asks you to confirm access, use a passkey or enter an authenticator code.
Follow your browser’s prompt to create the passkey.
The passkey appears in the list. Use the edit action beside the passkey to give it a label that identifies its device or password manager.To remove a lost or unused passkey, click its remove action and confirm. That passkey can no longer sign in to your account.
If you have a registered passkey, use the passkey sign-in option.Otherwise, sign in with your account credentials. On Verify your identity, click Use recovery code, enter an unused code, and click Continue.If you have no working passkey, authenticator, or recovery code, ask a developer-company admin whether they can reset your MFA.
An admin can reset MFA for another team member who does not have the Admin role. An admin cannot use this action for themselves or another admin. If no eligible admin can help, contact Stora for account recovery assistance.To reset an eligible member’s MFA:
Open Team Members.
Find the member and click Reset MFA.
Confirm the reset for that account.
The reset removes the account’s authenticator configuration, recovery codes, and passkeys. The member must set up an authenticator app again when they next access the portal.For invitations and role changes, see Manage your developer company and team.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stora","colors":{"primary":"#05195A","light":"#F54309","dark":"#13183E"},"logo":{"light":"https://mintcdn.com/stora-f4154d0c/OkDRMCLydnzT1IFG/logo/stora-logo.svg?fit=max\u0026auto=format\u0026n=OkDRMCLydnzT1IFG\u0026q=85\u0026s=208e8987df1797b88ccc8c1c418f8126","dark":"https://mintcdn.com/stora-f4154d0c/dmKerB3EhgN2KR1E/logo/stora-logo-white.svg?fit=max\u0026auto=format\u0026n=dmKerB3EhgN2KR1E\u0026q=85\u0026s=952b96d5123da5b794de397c9d2edacb"},"favicon":"https://mintcdn.com/stora-f4154d0c/OkDRMCLydnzT1IFG/favicon.svg?fit=max\u0026auto=format\u0026n=OkDRMCLydnzT1IFG\u0026q=85\u0026s=03693c34ec06252c51107f6d1057a0ac","appearance":{"default":"system"},"navbar":{"links":[{"href":"https://stora.co/contact","label":"Contact"}],"primary":{"type":"button","label":"Book a demo","href":"https://stora.co/get-started"}},"integrations":{"intercom":{"appId":"qaw9usmk"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stora-f4154d0c","hasAudioNarration":false,"actualSubdomain":"stora-f4154d0c","customDomains":["docs.stora.co"],"gitSource":{"type":"github","owner":"stora-co","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adf1833b80f21f061120388","collectionId":"6c1524d6-71cc-47b0-bd89-a5d15eb85c6e","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adf1833b80f21f061120388"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae22a8378169c4e7c58f440","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API reference","count":186},{"language":"default","tag":"Webhooks","count":73},{"language":"default","tag":"Guides","count":31},{"language":"default","tag":"Opportunities","count":10},{"language":"default","tag":"Building integrations","count":8},{"language":"default","tag":"Deals","count":8},{"language":"default","tag":"Orders","count":8},{"language":"default","tag":"Working with the API","count":7},{"language":"default","tag":"Tasks","count":7},{"language":"default","tag":"Units","count":7}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"api@stora.co","showHelpButton":true}},"basePath":"","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":"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":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"img.nav-logo{height:21px}.mermaid .node rect{rx:.375rem;ry:.375rem}.mermaid .edgeLabel,.mermaid .edgeLabel .labelBkg{border-radius:4px!important}[data-component-part=update-tag]{padding:.0625rem .375rem;background-color:#f4f4f5;border:1px solid #e4e4e7;font-size:.75rem}.dark [data-component-part=update-tag]{background-color:#27272a;border-color:#3f3f46}.mermaid .edgeLabel p{color:#fff!important;font-size:.625rem!important;font-weight:700!important;text-transform:uppercase!important;letter-spacing:.05em!important}.dark .mermaid .labelText,.dark .mermaid .labelText>tspan,.dark .mermaid .loopText,.dark .mermaid .loopText>tspan,.dark .mermaid .messageText{fill:#f4f4f5!important;stroke:none!important}.dark .mermaid marker[id$=-arrowhead] path,.dark .mermaid marker[id$=-filled-head] path{fill:#ff7237!important;stroke:#ff7237!important}.dark .mermaid .messageLine0,.dark .mermaid .messageLine1,.dark .mermaid marker[id$=-crosshead] path{stroke:#ff7237!important}[data-nav-tag=Beta],[data-nav-tag=Beta] *{background-color:#f87171;color:#fff!important}[data-nav-tag=Changing],[data-nav-tag=Changing] *{background-color:#f59e0b;color:#fff!important}"}],"page":{"pagePath":"2025-09/guides/developer-account-security","slug":"/2025-09/guides/developer-account-security","pageMetadata":{"title":"Secure your Developer Portal account","description":"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.","href":"/2025-09/guides/developer-account-security"},"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: \"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\"\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`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,..._provideComponents(),...props.components},{Heading,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The Developer Portal requires multi-factor authentication. Set up your authenticator app before you manage applications or operator credentials.`}),`\n`,_jsx(Heading,{level:`2`,id:`set-up-your-authenticator-app`,children:`Set up your authenticator app`}),`\n`,_jsxs(_components.p,{children:[`After you create your account or have its MFA reset, the portal opens `,_jsx(_components.strong,{children:`Set up an authenticator app`}),`.`]}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Open an authenticator app that supports time-based one-time passwords, such as 1Password, Bitwarden, or Google Authenticator.`}),`\n`,_jsx(_components.li,{children:`Scan the QR code. If you cannot scan it, enter the setup key shown in the portal.`}),`\n`,_jsxs(_components.li,{children:[`Enter the six-digit code from your authenticator app in `,_jsx(_components.strong,{children:`Verification code`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Continue`}),`.`]}),`\n`,_jsx(_components.li,{children:`Save the recovery codes in a secure location that you can access without your authenticator app.`}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Continue`}),` to open the portal.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Each recovery code works once. Do not share your authenticator setup key or recovery codes with teammates. Each teammate needs a separate Developer Portal account.`}),`\n`,_jsx(Heading,{level:`2`,id:`add-a-passkey`,children:`Add a passkey`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),`, then `,_jsx(_components.strong,{children:`Security`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Under `,_jsx(_components.strong,{children:`Passkeys`}),`, click `,_jsx(_components.strong,{children:`Add passkey`}),`.`]}),`\n`,_jsx(_components.li,{children:`If the portal asks you to confirm access, use a passkey or enter an authenticator code.`}),`\n`,_jsx(_components.li,{children:`Follow your browser’s prompt to create the passkey.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The passkey appears in the list. Use the edit action beside the passkey to give it a label that identifies its device or password manager.`}),`\n`,_jsx(_components.p,{children:`To remove a lost or unused passkey, click its remove action and confirm. That passkey can no longer sign in to your account.`}),`\n`,_jsx(Heading,{level:`2`,id:`replace-your-recovery-codes`,children:`Replace your recovery codes`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Generating new recovery codes invalidates the previous set. Save the new codes before you leave the result page.`})}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Settings`}),`, then `,_jsx(_components.strong,{children:`Security`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Click `,_jsx(_components.strong,{children:`Regenerate recovery codes`}),`.`]}),`\n`,_jsx(_components.li,{children:`If prompted, confirm access with a passkey or an authenticator code.`}),`\n`,_jsx(_components.li,{children:`Store the new codes securely. Replace any saved copy of the previous set.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`sign-in-when-your-authenticator-is-unavailable`,children:`Sign in when your authenticator is unavailable`}),`\n`,_jsx(_components.p,{children:`If you have a registered passkey, use the passkey sign-in option.`}),`\n`,_jsxs(_components.p,{children:[`Otherwise, sign in with your account credentials. On `,_jsx(_components.strong,{children:`Verify your identity`}),`, click `,_jsx(_components.strong,{children:`Use recovery code`}),`, enter an unused code, and click `,_jsx(_components.strong,{children:`Continue`}),`.`]}),`\n`,_jsx(_components.p,{children:`If you have no working passkey, authenticator, or recovery code, ask a developer-company admin whether they can reset your MFA.`}),`\n`,_jsx(Heading,{level:`2`,id:`request-an-mfa-reset`,children:`Request an MFA reset`}),`\n`,_jsxs(_components.p,{children:[`An admin can reset MFA for another team member who does not have the `,_jsx(_components.strong,{children:`Admin`}),` role. An admin cannot use this action for themselves or another admin. If no eligible admin can help, contact Stora for account recovery assistance.`]}),`\n`,_jsx(_components.p,{children:`To reset an eligible member’s MFA:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Team Members`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Find the member and click `,_jsx(_components.strong,{children:`Reset MFA`}),`.`]}),`\n`,_jsx(_components.li,{children:`Confirm the reset for that account.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The reset removes the account’s authenticator configuration, recovery codes, and passkeys. The member must set up an authenticator app again when they next access the portal.`}),`\n`,_jsxs(_components.p,{children:[`For invitations and role changes, see `,_jsx(_components.a,{href:`/2025-09/guides/developer-company-and-team`,children:`Manage your developer company and team`}),`.`]})]})}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":"Secure your Developer Portal account","description":"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.","href":"/2025-09/guides/developer-account-security"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Set up your authenticator app","slug":"set-up-your-authenticator-app","depth":2,"children":[]},{"title":"Add a passkey","slug":"add-a-passkey","depth":2,"children":[]},{"title":"Replace your recovery codes","slug":"replace-your-recovery-codes","depth":2,"children":[]},{"title":"Sign in when your authenticator is unavailable","slug":"sign-in-when-your-authenticator-is-unavailable","depth":2,"children":[]},{"title":"Request an MFA reset","slug":"request-an-mfa-reset","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"stora-f4154d0c","siteName":"Stora","title":"Secure your Developer Portal account - Stora","navMaps":{"firstHrefInVersion":{"2025-09":{"href":"/2025-09/guides/developer-account-security","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-10-22T13:44:11.912Z","originalFileLocation":"2025-09/guides/developer-account-security.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=\"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stora\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_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/stora-f4154d0c/vqyFqxlOxTWjpk26/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Secure your Developer Portal account - Stora\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stora\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stora.co/2025-09/guides/developer-account-security\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stora-f4154d0c.mintlify.app/_mintlify/api/og/v2?division=Developer+Portal\u0026amp;title=Secure+your+Developer+Portal+account\u0026amp;description=Set+up+an+authenticator+app%2C+save+recovery+codes%2C+add+passkeys%2C+and+recover+access+to+your+account.\u0026amp;theme=e0fa26a73a1fabf36459047f\u0026amp;signature=9d8f7153290a1557b9e2a708155388f7ab8f3061b015b15ca8b2dbdd7a1d99d7\">\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=\"Secure your Developer Portal account - Stora\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stora-f4154d0c.mintlify.app/_mintlify/api/og/v2?division=Developer+Portal\u0026amp;title=Secure+your+Developer+Portal+account\u0026amp;description=Set+up+an+authenticator+app%2C+save+recovery+codes%2C+add+passkeys%2C+and+recover+access+to+your+account.\u0026amp;theme=e0fa26a73a1fabf36459047f\u0026amp;signature=9d8f7153290a1557b9e2a708155388f7ab8f3061b015b15ca8b2dbdd7a1d99d7\">\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/stora-f4154d0c/vqyFqxlOxTWjpk26/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stora\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#05195A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stora.co/2025-09/guides/developer-account-security\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/2025-09/guides/developer-account-security.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stora.co/#organization\",\"name\":\"Stora\",\"url\":\"https://docs.stora.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stora-f4154d0c/OkDRMCLydnzT1IFG/logo/stora-logo.svg?fit=max\u0026auto=format\u0026n=OkDRMCLydnzT1IFG\u0026q=85\u0026s=208e8987df1797b88ccc8c1c418f8126\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stora.co#website\",\"name\":\"Stora\",\"url\":\"https://docs.stora.co\",\"publisher\":{\"@id\":\"https://docs.stora.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stora.co/2025-09/guides/developer-account-security#webpage\",\"url\":\"https://docs.stora.co/2025-09/guides/developer-account-security\",\"name\":\"Secure your Developer Portal account\",\"description\":\"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\",\"dateModified\":\"2026-10-22T13:44:11.912Z\",\"isPartOf\":{\"@id\":\"https://docs.stora.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stora.co/2025-09/guides/developer-account-security#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stora.co/2025-09/guides/developer-account-security#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Developer Portal\",\"item\":\"https://docs.stora.co/2025-09/guides/test-operators\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Secure your Developer Portal account\",\"item\":\"https://docs.stora.co/2025-09/guides/developer-account-security\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.stora.co/2025-09/guides/developer-account-security#article\",\"headline\":\"Secure your Developer Portal account\",\"name\":\"Secure your Developer Portal account\",\"description\":\"Set up an authenticator app, save recovery codes, add passkeys, and recover access to your account.\",\"url\":\"https://docs.stora.co/2025-09/guides/developer-account-security\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stora.co/2025-09/guides/developer-account-security#webpage\"},\"dateModified\":\"2026-10-22T13:44:11.912Z\",\"publisher\":{\"@id\":\"https://docs.stora.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stora.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stora\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Stora","nav":{"global":null,"versions":[{"version":"2025-09","default":true,"tabs":[{"tab":"Guides","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/2025-09/guides/introduction"},{"title":"Core concepts","href":"/2025-09/guides/core-concepts"},{"title":"Developer Portal","href":"/2025-09/guides/developer-portal"},{"title":"Authentication overview","href":"/2025-09/guides/authentication"},{"title":"Your first API call","href":"/2025-09/guides/first-request"},{"title":"Authorization","href":"/2025-09/guides/authorization"}]},{"group":"Developer Portal","pages":[{"title":"Create a test operator","description":"Create an operator for development, prepare test data, and choose credentials for your integration.","href":"/2025-09/guides/test-operators"},{"title":"Secure your Developer Portal account","href":"/2025-09/guides/developer-account-security"},{"title":"Manage your developer company and team","description":"Update company details, invite teammates, assign roles, and hand over administration.","href":"/2025-09/guides/developer-company-and-team"}]},{"group":"Manage accounts","pages":[{"title":"Connect an account","href":"/2025-09/guides/connect-account"},{"title":"API credentials","href":"/2025-09/guides/managed-account-authentication"},{"title":"Manage access","href":"/2025-09/guides/manage-account-access"}]},{"group":"Concepts","pages":[{"title":"Allocations and access","href":"/2025-09/guides/allocations-and-access"}]},{"group":"Working with the API","pages":[{"title":"Requests","href":"/2025-09/guides/requests"},{"title":"Responses","href":"/2025-09/guides/responses"},{"title":"API versioning","href":"/2025-09/guides/api-versioning"},{"title":"Migrating to site-scoped protection levels","href":"/2025-09/guides/site-scoped-protection-levels"},{"title":"Webhooks","href":"/2025-09/guides/webhooks"},{"title":"Resource metadata","href":"/2025-09/guides/metadata"},{"title":"Errors","href":"/2025-09/guides/errors"}]},{"group":"Building integrations","pages":[{"title":"Data synchronisation","href":"/2025-09/guides/data-synchronisation"},{"title":"Building a booking flow","href":"/2025-09/guides/booking-flow"},{"title":"Capture and qualify leads","href":"/2025-09/guides/opportunities-and-deals"},{"title":"Schedule a subscription price adjustment","href":"/2025-09/guides/price-adjustments"},{"title":"Record integration activity","href":"/2025-09/guides/timeline-events"},{"title":"Building a partner integration","href":"/2025-09/guides/partner-integrations"},{"title":"Distributing a public plugin","href":"/2025-09/guides/distributing-public-plugins"},{"title":"Naming third-party plugins","href":"/2025-09/guides/third-party-plugin-naming"}]},{"group":"Marketplace","pages":[{"title":"Publish a marketplace listing","href":"/2025-09/guides/publish-marketplace-listing"}]},{"group":"Resources","pages":[{"title":"Developer tools","href":"/2025-09/guides/developer-tools"},{"title":"Changelog","href":"/2025-09/guides/changelog"}]}]},{"tab":"API reference","pages":[{"title":"API reference","href":"/2025-09/api-reference/contacts/list-all-contacts"}]}]}]},"title":"Secure your Developer Portal account - Stora","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}