How do you make sure only approved code can access keys or run the policy engine?
Each secure instance proves what code it is running by presenting a measurement hash. Key wrapping and access policies are tied to that measurement. New instances must prove they match the expected code before they can unlock keys or participate in signing. This prevents tampered code from getting access and allows safe autoscaling.
How are software upgrades handled without compromising control?
Upgrades follow a staged path: build, verify, test in a small canary, then roll out. Builds are reproducible, checksums are published, and attestation checks are enforced. Customer environments can require co-approval and a PIN for an approved measurement. If something looks wrong, rollbacks are documented and pre-tested.
What prevents UI tampering or label spoofing from causing a bad signature?
Approvals are based on a verified intent and an enclave-compiled payload, not on labels in the UI. The engine validates the raw destination, asset, amount, and calldata, then re-simulates the call before allowing any signature. Hash-chained audit logs make selective tampering or censorship detectable.
What Software Supply Chain (SLSA) level do you meet?
In practice, our supply-chain controls are designed to meet the higher end of SLSA (Level 3+). All code and infrastructure definitions live in GitHub with strict branch protections, mandatory peer review, CI-enforced tests, and staged rollouts from staging to production with full change logging and rollback plans.For the enclave and policy-engine components, we use deterministic, reproducible builds from an open build specification and publish build hashes to a public blockchain so customers can independently verify they are running the expected binary. We also apply formal verification techniques for critical components rather than relying only on testing or traditional audits.If you need it, we can provide a control-by-control mapping to the SLSA version their security team uses and arrange third-party attestation.
Do you support mTLS and IP allowlisting for API clients?
Yes, we use mutual authentication at the application layer, which in practice is stronger than classic certificate-based mTLS and easier to operate. Each API user registers a public key with PrimeVault, keeps the private key in their own secure environment or KMS, and signs every API request. The platform verifies the signature before processing the call, and we can optionally support fully customer-encrypted payloads so PrimeVault cannot inspect the contents.Additionally, you can restrict network access with IP allowlisting under Settings → IP Whitelist, allowing only requests from your specified server IPs to be accepted by our API gateway.In combination, signed requests, optional end-to-end encryption, and IP allowlists provide the same or stronger guarantees than traditional mTLS.If a regulator or internal policy explicitly requires certificate-based mTLS, we handle that as an enterprise deployment requirement and work with your security team to design the exact setup they need.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"PrimeVault Help Center","description":"A stablecoin-native global money movement platform that helps fintechs, PSPs and global corporations move money across their corridors better, faster and cheaper.","colors":{"primary":"#552225","light":"#C29C58","dark":"#552225"},"logo":{"light":"https://mintcdn.com/primevaulthelp/mPHHzoA5GT4E38PL/images/primevault-white(2).svg?fit=max\u0026auto=format\u0026n=mPHHzoA5GT4E38PL\u0026q=85\u0026s=476f5e0f52403962a9938292fd13cf9b","dark":"https://mintcdn.com/primevaulthelp/mPHHzoA5GT4E38PL/images/primevault-maroon(2).svg?fit=max\u0026auto=format\u0026n=mPHHzoA5GT4E38PL\u0026q=85\u0026s=d9661161e773aa91cc1f45d852fc9825","href":"https://www.primevault.com/"},"favicon":{"light":"https://mintcdn.com/primevaulthelp/mPHHzoA5GT4E38PL/images/favicon.svg?fit=max\u0026auto=format\u0026n=mPHHzoA5GT4E38PL\u0026q=85\u0026s=2f81a7e7daa876559bcbb12bb002cdfa","dark":"https://mintcdn.com/primevaulthelp/mPHHzoA5GT4E38PL/images/favicon.svg?fit=max\u0026auto=format\u0026n=mPHHzoA5GT4E38PL\u0026q=85\u0026s=2f81a7e7daa876559bcbb12bb002cdfa"},"navbar":{"links":[{"href":"mailto:contact@primevault.com","label":"Support"}],"primary":{"type":"button","label":"Visit PrimeVault","href":"https://www.primevault.com/"}},"footer":{"socials":{"x":"https://x.com/primevaultHQ","linkedin":"https://linkedin.com/company/primevault"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://mintlify.com/docs"},{"anchor":"Blog","icon":"newspaper","href":"https://mintlify.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"primevaulthelp","hasAudioNarration":false,"actualSubdomain":"primevaulthelp","customDomains":["help.primevault.com"],"gitSource":{"type":"github","owner":"mintlify-community","repo":"docs-prime-vault-c5196a39","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae324840184476a8fdb1659","collectionId":"d1239f9c-674d-4327-b582-b907c7757bc1","liveDeploymentHistoryId":"6ae324840184476a8fdb1659","schemaVersion":"v3"},"entitlements":{},"buildId":"6ae327a3b905b386f71618e8","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"PrimeVault FAQs","count":19},{"language":"default","tag":"Governance and Compliance","count":14},{"language":"default","tag":"[Legacy] Policy Templates","count":6},{"language":"default","tag":"Global Accounts","count":6},{"language":"default","tag":"Settings","count":6},{"language":"default","tag":"Trading and DeFi","count":5},{"language":"default","tag":"Policy Engine","count":5},{"language":"default","tag":"Setting up Vaults","count":4},{"language":"default","tag":"Activity Log","count":3},{"language":"default","tag":"Embedded Financial Infrastructure","count":3}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"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":"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":"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":"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}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"security-attestation-and-upgrades","slug":"/security-attestation-and-upgrades","pageMetadata":{"title":"Security, Attestation and Upgrades","description":null,"href":"/security-attestation-and-upgrades"},"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={p:`p`,..._provideComponents(),...props.components},{Heading}=_components;if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`how-do-you-make-sure-only-approved-code-can-access-keys-or-run-the-policy-engine`,children:`How do you make sure only approved code can access keys or run the policy engine?`}),`\n`,_jsx(_components.p,{children:`Each secure instance proves what code it is running by presenting a measurement hash. Key wrapping and access policies are tied to that measurement. New instances must prove they match the expected code before they can unlock keys or participate in signing. This prevents tampered code from getting access and allows safe autoscaling.`}),`\n`,_jsx(Heading,{level:`2`,id:`how-are-software-upgrades-handled-without-compromising-control`,children:`How are software upgrades handled without compromising control?`}),`\n`,_jsx(_components.p,{children:`Upgrades follow a staged path: build, verify, test in a small canary, then roll out. Builds are reproducible, checksums are published, and attestation checks are enforced. Customer environments can require co-approval and a PIN for an approved measurement. If something looks wrong, rollbacks are documented and pre-tested.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-prevents-ui-tampering-or-label-spoofing-from-causing-a-bad-signature`,children:`What prevents UI tampering or label spoofing from causing a bad signature?`}),`\n`,_jsx(_components.p,{children:`Approvals are based on a verified intent and an enclave-compiled payload, not on labels in the UI. The engine validates the raw destination, asset, amount, and calldata, then re-simulates the call before allowing any signature. Hash-chained audit logs make selective tampering or censorship detectable.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-software-supply-chain-slsa-level-do-you-meet`,children:`What Software Supply Chain (SLSA) level do you meet?`}),`\n`,_jsx(_components.p,{children:`In practice, our supply-chain controls are designed to meet the higher end of SLSA (Level 3+). All code and infrastructure definitions live in GitHub with strict branch protections, mandatory peer review, CI-enforced tests, and staged rollouts from staging to production with full change logging and rollback plans.`}),`\n`,_jsx(_components.p,{children:`For the enclave and policy-engine components, we use deterministic, reproducible builds from an open build specification and publish build hashes to a public blockchain so customers can independently verify they are running the expected binary. We also apply formal verification techniques for critical components rather than relying only on testing or traditional audits.`}),`\n`,_jsx(_components.p,{children:`If you need it, we can provide a control-by-control mapping to the SLSA version their security team uses and arrange third-party attestation.`}),`\n`,_jsx(Heading,{level:`2`,id:`do-you-support-mtls-and-ip-allowlisting-for-api-clients`,children:`Do you support mTLS and IP allowlisting for API clients?`}),`\n`,_jsx(_components.p,{children:`Yes, we use mutual authentication at the application layer, which in practice is stronger than classic certificate-based mTLS and easier to operate. Each API user registers a public key with PrimeVault, keeps the private key in their own secure environment or KMS, and signs every API request. The platform verifies the signature before processing the call, and we can optionally support fully customer-encrypted payloads so PrimeVault cannot inspect the contents.`}),`\n`,_jsx(_components.p,{children:`Additionally, you can restrict network access with IP allowlisting under Settings → IP Whitelist, allowing only requests from your specified server IPs to be accepted by our API gateway.`}),`\n`,_jsx(_components.p,{children:`In combination, signed requests, optional end-to-end encryption, and IP allowlists provide the same or stronger guarantees than traditional mTLS.`}),`\n`,_jsx(_components.p,{children:`If a regulator or internal policy explicitly requires certificate-based mTLS, we handle that as an enterprise deployment requirement and work with your security team to design the exact setup they need.`})]})}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":"Security, Attestation and Upgrades","description":null,"href":"/security-attestation-and-upgrades"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How do you make sure only approved code can access keys or run the policy engine?","slug":"how-do-you-make-sure-only-approved-code-can-access-keys-or-run-the-policy-engine","depth":2,"children":[]},{"title":"How are software upgrades handled without compromising control?","slug":"how-are-software-upgrades-handled-without-compromising-control","depth":2,"children":[]},{"title":"What prevents UI tampering or label spoofing from causing a bad signature?","slug":"what-prevents-ui-tampering-or-label-spoofing-from-causing-a-bad-signature","depth":2,"children":[]},{"title":"What Software Supply Chain (SLSA) level do you meet?","slug":"what-software-supply-chain-slsa-level-do-you-meet","depth":2,"children":[]},{"title":"Do you support mTLS and IP allowlisting for API clients?","slug":"do-you-support-mtls-and-ip-allowlisting-for-api-clients","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"primevaulthelp","siteName":"PrimeVault Help Center","title":"Security, Attestation and Upgrades - PrimeVault Help Center","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T11:02:01.778Z","originalFileLocation":"security-attestation-and-upgrades.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=\"application-name\" content=\"PrimeVault Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_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/primevaulthelp/TvzqVs8msbwYrn41/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Security, Attestation and Upgrades - PrimeVault Help Center\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"PrimeVault Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://help.primevault.com/security-attestation-and-upgrades\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://primevaulthelp.mintlify.app/_mintlify/api/og/v2?division=PrimeVault+FAQs\u0026amp;title=Security%2C+Attestation+and+Upgrades\u0026amp;theme=4adb263659dc06a30bf994de\u0026amp;signature=95ea1e8f2f211efcecf9acedee76e5396c2bb3a0b757b32d5178a2d75ffb2864\">\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=\"Security, Attestation and Upgrades - PrimeVault Help Center\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://primevaulthelp.mintlify.app/_mintlify/api/og/v2?division=PrimeVault+FAQs\u0026amp;title=Security%2C+Attestation+and+Upgrades\u0026amp;theme=4adb263659dc06a30bf994de\u0026amp;signature=95ea1e8f2f211efcecf9acedee76e5396c2bb3a0b757b32d5178a2d75ffb2864\">\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/primevaulthelp/TvzqVs8msbwYrn41/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"PrimeVault Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#552225\">\u003clink data-mint-head rel=\"canonical\" href=\"https://help.primevault.com/security-attestation-and-upgrades\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/security-attestation-and-upgrades.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://help.primevault.com/#organization\",\"name\":\"PrimeVault Help Center\",\"url\":\"https://help.primevault.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/primevaulthelp/mPHHzoA5GT4E38PL/images/primevault-white(2).svg?fit=max\u0026auto=format\u0026n=mPHHzoA5GT4E38PL\u0026q=85\u0026s=476f5e0f52403962a9938292fd13cf9b\"}},{\"@type\":\"WebSite\",\"@id\":\"https://help.primevault.com#website\",\"name\":\"PrimeVault Help Center\",\"url\":\"https://help.primevault.com\",\"publisher\":{\"@id\":\"https://help.primevault.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://help.primevault.com/security-attestation-and-upgrades#webpage\",\"url\":\"https://help.primevault.com/security-attestation-and-upgrades\",\"name\":\"Security, Attestation and Upgrades\",\"dateModified\":\"2026-10-29T11:02:01.778Z\",\"isPartOf\":{\"@id\":\"https://help.primevault.com#website\"},\"breadcrumb\":{\"@id\":\"https://help.primevault.com/security-attestation-and-upgrades#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://help.primevault.com/security-attestation-and-upgrades#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"PrimeVault FAQs\",\"item\":\"https://help.primevault.com/prime-vault-faqs\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security, Attestation and Upgrades\",\"item\":\"https://help.primevault.com/security-attestation-and-upgrades\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://help.primevault.com/security-attestation-and-upgrades#article\",\"headline\":\"Security, Attestation and Upgrades\",\"name\":\"Security, Attestation and Upgrades\",\"url\":\"https://help.primevault.com/security-attestation-and-upgrades\",\"mainEntityOfPage\":{\"@id\":\"https://help.primevault.com/security-attestation-and-upgrades#webpage\"},\"dateModified\":\"2026-10-29T11:02:01.778Z\",\"publisher\":{\"@id\":\"https://help.primevault.com/#organization\"},\"isPartOf\":{\"@id\":\"https://help.primevault.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"PrimeVault Help Center\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"PrimeVault Help Center","nav":{"global":{"anchors":[{"anchor":"Documentation","icon":"book-open-cover","href":"https://mintlify.com/docs"},{"anchor":"Blog","icon":"newspaper","href":"https://mintlify.com/blog"}]},"pages":[{"title":"PrimeVault Help Centre","href":"/help-centre"},{"title":"PrimeVault Suite of Products","href":"/suite-of-products"},{"group":"Getting Started","root":{"title":"Getting Started","href":"/getting-started"},"pages":[{"group":"Setting up your account","root":{"title":"Setting up your account","href":"/getting-started/setting-up-your-account"},"pages":[{"title":"Multi-Entity Support","href":"/multi-entity-support"},{"title":"Setting up your mobile app","href":"/setting-up-your-mobile-app"}]}]},{"group":"Global Accounts","pages":[{"title":"Wallets, Vaults and Addresses","href":"/wallets-vaults-and-addresses"},{"group":"Setting up Vaults","pages":[{"title":"Setting up Vaults","href":"/setting-up-vaults"},{"title":"Core Vaults","href":"/core-vaults"},{"title":"Exchange Vaults","href":"/exchange-vaults"},{"title":"Gas Vaults","href":"/gas-vaults"}]},{"title":"Vault Recovery","href":"/vault-recovery"}]},{"group":"Global Payouts","pages":[{"group":"Conducting transfer operations","pages":[{"title":"Conducting transfer operations","href":"/conducting-transfer-operations"},{"title":"Handling Failed or Submitted Transactions","href":"/handling-failed-or-submitted-transactions"}]}]},{"group":"Trading and DeFi","pages":[{"group":"Accessing DeFi","pages":[{"title":"Accessing DeFi","href":"/accessing-defi"},{"title":"DeFi for Near Ecosystem","href":"/defi-for-near-ecosystem"}]},{"title":"Tokenization","href":"/tokenization"},{"title":"Executing trades using Smart Trade","href":"/executing-trades-using-smart-trade"},{"title":"Block confirmations for incoming transaction","href":"/block-confirmations-for-incoming-transaction"}]},{"group":"Governance and Compliance","pages":[{"title":"Policy, Governance and “What Gets Signed”","href":"/policy-governance-and-what-gets-signed"},{"title":"Migrating to the Policy Rule-Based Framework (v1.5)","href":"/migrating-to-the-policy-rule-based-framework-v1-5"},{"group":"Policy Engine","pages":[{"title":"Policy Engine","href":"/policy-engine"},{"title":"Rule Fields Reference","href":"/rule-fields-reference"},{"title":"How to Create a Rule","href":"/how-to-create-a-rule"},{"title":"Editing and Duplicating Rules","href":"/editing-and-duplicating-rules"},{"title":"Example Rule: Transfer Policy","href":"/example-rule-transfer-policy"}]},{"group":"[Legacy] Policy Templates","pages":[{"title":"[Legacy] Policy Templates","href":"/legacy-policy-templates"},{"title":"Adding a new Policy Template","href":"/adding-a-new-policy-template"},{"title":"Creating a new Vault using Templates","href":"/creating-a-new-vault-using-templates"},{"title":"Setting Up a Multi-Approver Vault for High-Security Transactions","href":"/setting-up-a-multi-approver-vault-for-high-security-transactions"},{"title":"Editing a Policy Template","href":"/editing-a-policy-template"},{"title":"Changing Template attached to a Vault","href":"/changing-template-attached-to-a-vault"}]},{"title":"Real-Time AML Monitoring","href":"/real-time-aml-monitoring"}]},{"group":"Embedded Financial Infrastructure","pages":[{"group":"White Label Solution","pages":[{"title":"White Label Solution","href":"/white-label-solution"},{"title":"Single Workspace Architecture (Custodial Model)","href":"/single-workspace-architecture-custodial-model"},{"title":"Multi-Workspace Architecture (Non-Custodial Model)","href":"/multi-workspace-architecture-non-custodial-model"}]}]},{"group":"Counterparty Management","pages":[{"group":"Whitelisting addresses","pages":[{"title":"Whitelisting addresses","href":"/whitelisting-addresses"},{"title":"Limit which assets a contact can receive","href":"/limit-which-assets-a-contact-can-receive"}]}]},{"title":"Automations","href":"/automations"},{"group":"Activity Log","pages":[{"title":"What is Activity Log","href":"/what-is-activity-log"},{"title":"Appendix: Event reference","href":"/appendix-event-reference"},{"title":"Transaction Status Lifecycle","href":"/transaction-status-lifecycle"}]},{"title":"Best Practice Guide to Secure \u0026 Compliant Digital Asset Operations","href":"/best-practice-guide-to-secure-and-compliant-digital-asset-operations"},{"group":"Settings","pages":[{"title":"Settings","href":"/settings"},{"title":"Transaction Notification Rules","href":"/transaction-notification-rules"},{"title":"Whitelisted Assets","href":"/whitelisted-assets"},{"title":"Webhooks","href":"/webhooks"},{"title":"IP Whitelisting","href":"/ip-whitelisting"},{"title":"Vault Backup and Recovery","href":"/vault-backup-and-recovery"}]},{"group":"PrimeVault FAQs","pages":[{"title":"PrimeVault FAQs","href":"/prime-vault-faqs"},{"title":"Private Keys and Who Holds Them","href":"/private-keys-and-who-holds-them"},{"title":"Proving Wallet Ownership with PrimeVault","href":"/proving-wallet-ownership-with-prime-vault"},{"title":"Approvals and Devices","href":"/approvals-and-devices"},{"title":"MPC + TEE Flow Semantics","href":"/mpc-tee-flow-semantics"},{"title":"Common Security Questions","href":"/common-security-questions"},{"title":"Spend Limits, Price Feeds and Risk Controls","href":"/spend-limits-price-feeds-and-risk-controls"},{"title":"Swaps, Bridges, Exchanges and Settlement","href":"/swaps-bridges-exchanges-and-settlement"},{"title":"Chains, Tokens and dApps","href":"/chains-tokens-and-d-apps"},{"title":"Automations and Batch Operations","href":"/automations-and-batch-operations"},{"title":"Reporting, Observability and Audit","href":"/reporting-observability-and-audit"},{"title":"Reliability, Reconciliation and Webhooks","description":null,"href":"/reliability-reconciliation-and-webhooks"},{"title":"Security, Attestation and Upgrades","href":"/security-attestation-and-upgrades"},{"title":"Custody Models","description":null,"href":"/custody-models"},{"title":"Hosting, Data Locality and White-Label","href":"/hosting-data-locality-and-white-label"},{"title":"Onboarding, APIs and Ecosystem","href":"/onboarding-apis-and-ecosystem"},{"title":"Compliance, Certifications and Support","href":"/compliance-certifications-and-support"},{"title":"Backup, Disaster Recovery and Exit","href":"/backup-disaster-recovery-and-exit"},{"title":"Fireblocks to PrimeVault Migration","href":"/fireblocks-to-prime-vault-migration"}]},{"title":"Recovering your Account","href":"/recovering-your-account"},{"title":"Additional Support","href":"/additional-support"}]},"title":"Security, Attestation and Upgrades - PrimeVault Help Center","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":[],"chunks":[]}