An HTTPS site that loads through the proxy proves nothing about inspection. SafeSquid can tunnel the session untouched and the page still renders perfectly. The control appears to work while malware scanning, DLP, and content policy see nothing but an opaque stream.The certificate issuer is the only reliable positive test. Everything else is a page that loaded.
Expected result: the connection succeeds or fails with a known certificate-trust condition that matches the current SSL inspection stage.Check the access log on the SafeSquid server:
tail -20 /var/log/safesquid/extended/extended.log
Expected result: the log records the HTTPS destination and policy action.
TLS warning risk: A browser certificate warning is not a successful production HTTPS inspection test. It is evidence that endpoint trust, SSL policy, or the test path still needs review.
If SSL inspection is not configured yet, do not normalise browser certificate-warning bypasses for production users. Limit any warning bypass to an isolated pilot test and record it in the change evidence. Complete Root CA deployment before production HTTPS inspection.
Once SSL inspection is configured and the Root CA is deployed, the positive test is the certificate itself. Load an HTTPS site in the pilot browser and inspect the certificate issuer.Expected result: the issuer is the SafeSquid CA, and no warning appears.An issuer showing the original site’s certificate authority means the connection is tunnelled rather than inspected. The page still loads normally. That is the failure this page exists to catch.Check an excluded destination too. A destination on the bypass list should show its original issuer. If it shows the SafeSquid CA, the exclusion is not matching. Traffic the business agreed not to decrypt is being decrypted.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SafeSquid Documentation","description":"Deploy Zero-Trust Web Security — SafeSquid Secure Web Gateway documentation.","colors":{"primary":"#0066CC","light":"#3B82F6","dark":"#0F172A"},"logo":{"light":"https://mintcdn.com/safe-squid-labs-12a0916f/WapkOaLV2w2WE_m9/images/logos/safesquid/safesquid-mark-blue.png?fit=max\u0026auto=format\u0026n=WapkOaLV2w2WE_m9\u0026q=85\u0026s=b7b9c81a4dfce86823f854d9510e5cec","dark":"https://mintcdn.com/safe-squid-labs-12a0916f/PZ5D4OEI8Q1II8co/images/safesquidWhite.png?fit=max\u0026auto=format\u0026n=PZ5D4OEI8Q1II8co\u0026q=85\u0026s=149dccbc6157c7707f7edba211ae87b3","href":"/getting_started/welcome"},"favicon":"https://mintcdn.com/safe-squid-labs-12a0916f/WapkOaLV2w2WE_m9/images/favicon.ico?fit=max\u0026auto=format\u0026n=WapkOaLV2w2WE_m9\u0026q=85\u0026s=7a799a5cc14069284c934d5f83717827","navbar":{"links":[{"href":"/blog","label":"Blog"},{"href":"https://help.safesquid.com/portal/en/community/safesquid-labs","label":"Forum"},{"icon":{"style":"brands","name":"github"},"href":"https://github.com/SafeSquid-Labs","label":""}],"primary":{"type":"button","label":"Get Started","href":"https://key.safesquid.com"}},"footer":{"socials":{"website":"https://www.safesquid.com/","github":"https://github.com/SafeSquid-Labs","x":"https://x.com/safesquid","linkedin":"https://in.linkedin.com/company/safesquid","youtube":"https://www.youtube.com/@securewebgateway"}},"icons":{"library":"fontawesome"},"integrations":{"ga4":{"measurementId":"G-ZVZHSKFGQF"}},"banner":{"content":"[Join our Blue Team for a live layer 7 mitigation workshop](https://meet.safesquid.com)","dismissible":true,"type":"info"},"styling":{"latex":false},"navigation":{"global":{"languages":[{"language":"en","default":true,"href":"/getting_started/welcome"},{"language":"es","href":"/?lang=es"}],"versions":[{"version":"v2026.0312.1923","default":true,"href":"/getting_started/welcome"},{"version":"v2024.0315.1413","href":"/?version=legacy"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"safe-squid-labs-12a0916f","hasAudioNarration":false,"actualSubdomain":"safe-squid-labs-12a0916f","customDomains":["docs.safesquid.com"],"gitSource":{"type":"github","owner":"safesquid-labs","repo":"safesquid-docs","deployBranch":"main","contentDirectory":"public","isPrivate":false,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ac7bb6e8abd6d065dca7197","collectionId":"b29c1b41-a582-4821-ad5d-0d649bd041a3","liveDeploymentHistoryId":"6ac7bb6e8abd6d065dca7197","schemaVersion":"v3"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac7bb6e8abd6d065dca7197","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Use Cases","count":86},{"language":"default","tag":"Configuration","count":44},{"language":"default","tag":"Deployment","count":43},{"language":"default","tag":"Architecture","count":24},{"language":"default","tag":"Troubleshooting","count":20},{"language":"default","tag":"Access Restriction","count":17},{"language":"default","tag":"Authentication","count":17},{"language":"default","tag":"Application Setup","count":10},{"language":"default","tag":"Real Time Content Security","count":10},{"language":"default","tag":"Application Ecosystem","count":9}],"searchSettings":{"isFiltersEnabled":true}},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true,"deflection":{"enabled":true,"email":"support@safesquid.net"}},"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":"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}],"privacy":{"consentBanner":{"enabled":true}},"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"a:has(>img.nav-logo){flex-shrink:0!important}#sidebar-content li[data-active]>a{color:#16191d!important}.dark #sidebar-content li[data-active]>a{background-color:#3b82f6!important;color:#16191d!important}"}],"page":{"pagePath":"deployment/https_inspection_validation","slug":"/deployment/https_inspection_validation","pageMetadata":{"title":"HTTPS Inspection Validation","description":"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.","keywords":["SafeSquid HTTPS inspection test","verify SSL inspection","certificate issuer check","proxy TLS validation","deployment validation"],"href":"/deployment/https_inspection_validation"},"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: \"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`prove-https-is-inspected-not-tunnelled`,children:`Prove HTTPS Is Inspected, Not Tunnelled`}),`\n`,_jsxs(_components.p,{children:[`An HTTPS site that loads through the proxy proves nothing about inspection. SafeSquid can tunnel the session untouched and the page still renders perfectly. The control appears to work while `,_jsx(_components.a,{href:`/use_cases/malware_scanning/malware_scanners`,children:`malware scanning`}),`, `,_jsx(_components.a,{href:`/use_cases/data_leakage_prevention/data_leakage_prevention`,children:`DLP`}),`, and content policy see nothing but an opaque stream.`]}),`\n`,_jsx(_components.p,{children:`The certificate issuer is the only reliable positive test. Everything else is a page that loaded.`}),`\n`,_jsx(Heading,{level:`2`,id:`validate-prerequisites`,children:`Validate prerequisites`}),`\n`,_jsx(_components.p,{children:`Confirm:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/deployment/proxy_connectivity`,children:`Proxy Connectivity`}),` passes for plain HTTP.`]}),`\n`,_jsx(_components.li,{children:`The SafeSquid Root CA has been deployed to the pilot client’s trust store, if inspection is enabled.`}),`\n`,_jsx(_components.li,{children:`The intended inspection scope is documented, including any destinations deliberately excluded.`}),`\n`,_jsx(_components.li,{children:`A rollback path exists for the client trust store.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`request-an-https-site-through-the-proxy`,children:`Request an HTTPS site through the proxy`}),`\n`,_jsx(_components.p,{children:`From the pilot client:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -I`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` --proxy`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` http://SAFESQUID-IP:8080`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` https://www.google.com`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Expected result: the connection succeeds or fails with a known certificate-trust condition that matches the current `,_jsx(_components.a,{href:`/use_cases/ssl_inspection/ssl_inspection`,children:`SSL inspection`}),` stage.`]}),`\n`,_jsx(_components.p,{children:`Check the access log on the SafeSquid server:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#DCDCAA`},children:`tail`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:` -20`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` /var/log/safesquid/extended/extended.log`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Expected result: the log records the HTTPS destination and policy action.`}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`TLS warning risk:`}),` A browser certificate warning is not a successful production HTTPS inspection test. It is evidence that endpoint trust, SSL policy, or the test path still needs review.`]})}),`\n`,_jsx(_components.p,{children:`If SSL inspection is not configured yet, do not normalise browser certificate-warning bypasses for production users. Limit any warning bypass to an isolated pilot test and record it in the change evidence. Complete Root CA deployment before production HTTPS inspection.`}),`\n`,_jsx(Heading,{level:`2`,id:`read-the-certificate-issuer`,children:`Read the certificate issuer`}),`\n`,_jsx(_components.p,{children:`Once SSL inspection is configured and the Root CA is deployed, the positive test is the certificate itself. Load an HTTPS site in the pilot browser and inspect the certificate issuer.`}),`\n`,_jsx(_components.p,{children:`Expected result: the issuer is the SafeSquid CA, and no warning appears.`}),`\n`,_jsx(_components.p,{children:`An issuer showing the original site’s certificate authority means the connection is tunnelled rather than inspected. The page still loads normally. That is the failure this page exists to catch.`}),`\n`,_jsx(_components.p,{children:`Check an excluded destination too. A destination on the bypass list should show its original issuer. If it shows the SafeSquid CA, the exclusion is not matching. Traffic the business agreed not to decrypt is being decrypted.`}),`\n`,_jsx(Heading,{level:`2`,id:`capture-inspection-evidence`,children:`Capture inspection evidence`}),`\n`,_jsx(_components.p,{children:`Store these artifacts with the deployment record:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Certificate issuer for an inspected destination, showing the SafeSquid CA.`}),`\n`,_jsx(_components.li,{children:`Certificate issuer for an excluded destination, showing the original CA.`}),`\n`,_jsx(_components.li,{children:`The matching access-log entries for both.`}),`\n`,_jsx(_components.li,{children:`The documented inspection scope, with the business owner of each exclusion.`}),`\n`,_jsx(_components.li,{children:`Root CA rollout evidence for the pilot client.`}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`troubleshoot-inspection-failures`,children:`Troubleshoot inspection failures`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Symptom`}),_jsx(_components.th,{children:`Likely cause`}),_jsx(_components.th,{children:`Fix`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Browser shows a certificate warning`}),_jsx(_components.td,{children:`Root CA is not in the client trust store`}),_jsx(_components.td,{children:`Complete Root CA deployment through GPO, MDM, or the approved trust process before retesting`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Page loads but issuer is the original CA`}),_jsx(_components.td,{children:`Session is tunnelled, not inspected`}),_jsx(_components.td,{children:`Confirm the destination is in the inspection scope and that SSL inspection is enabled for that policy`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`An excluded destination shows the SafeSquid CA`}),_jsx(_components.td,{children:`Exclusion rule is not matching`}),_jsx(_components.td,{children:`Correct the bypass entry and re-test; a mis-scoped exclusion decrypts traffic the business excluded`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Some applications fail while browsers work`}),_jsx(_components.td,{children:`Certificate pinning in the application`}),_jsx(_components.td,{children:`Add the application’s destinations to the documented exclusion list with a named business owner`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`HTTPS fails entirely after enabling inspection`}),_jsx(_components.td,{children:`Firewall, trust, or service failure overlap`}),_jsxs(_components.td,{children:[`Re-run `,_jsx(_components.a,{href:`/deployment/service_health`,children:`Service Health`}),` first, then re-check Root CA rollout`]})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`next-steps`,children:`Next steps`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/getting_started/configure_web_security_policies`,children:`Policy Enforcement`}),` - confirm controls act on the decrypted traffic.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/use_cases/ssl_inspection/ssl_inspection`,children:`SSL Inspection`}),` - configure or adjust the inspection policy.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/use_cases/ssl_inspection/import_certificate_chrome_ie`,children:`Import Certificate`}),` - deploy Root CA trust to clients.`]}),`\n`]})]})}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":"HTTPS Inspection Validation","description":"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.","keywords":["SafeSquid HTTPS inspection test","verify SSL inspection","certificate issuer check","proxy TLS validation","deployment validation"],"href":"/deployment/https_inspection_validation"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Prove HTTPS Is Inspected, Not Tunnelled","slug":"prove-https-is-inspected-not-tunnelled","depth":1,"children":[]},{"title":"Validate prerequisites","slug":"validate-prerequisites","depth":2,"children":[]},{"title":"Request an HTTPS site through the proxy","slug":"request-an-https-site-through-the-proxy","depth":2,"children":[]},{"title":"Read the certificate issuer","slug":"read-the-certificate-issuer","depth":2,"children":[]},{"title":"Capture inspection evidence","slug":"capture-inspection-evidence","depth":2,"children":[]},{"title":"Troubleshoot inspection failures","slug":"troubleshoot-inspection-failures","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"safe-squid-labs-12a0916f","siteName":"SafeSquid Documentation","title":"HTTPS Inspection Validation - SafeSquid Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T15:49:30.572Z","originalFileLocation":"deployment/https_inspection_validation.md","locale":"en"},"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=\"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SafeSquid Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"HTTPS Inspection Validation - SafeSquid Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SafeSquid Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.safesquid.com/deployment/https_inspection_validation\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://safe-squid-labs-12a0916f.mintlify.app/_mintlify/api/og/v2?division=Validate+the+deployment\u0026amp;title=HTTPS+Inspection+Validation\u0026amp;description=Prove+SafeSquid+is+decrypting+and+inspecting+HTTPS+sessions+rather+than+tunnelling+them%2C+using+the+certificate+issuer+as+the+positive+test.\u0026amp;theme=4ec1e09f5eab69716f172ff1\u0026amp;signature=643c5f5663f495cb5a8e3f7089db776a7119bf72880f2f4258749411b801d5e1\">\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=\"HTTPS Inspection Validation - SafeSquid Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://safe-squid-labs-12a0916f.mintlify.app/_mintlify/api/og/v2?division=Validate+the+deployment\u0026amp;title=HTTPS+Inspection+Validation\u0026amp;description=Prove+SafeSquid+is+decrypting+and+inspecting+HTTPS+sessions+rather+than+tunnelling+them%2C+using+the+certificate+issuer+as+the+positive+test.\u0026amp;theme=4ec1e09f5eab69716f172ff1\u0026amp;signature=643c5f5663f495cb5a8e3f7089db776a7119bf72880f2f4258749411b801d5e1\">\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/safe-squid-labs-12a0916f/dNzFC4OIOBxe5Jm_/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SafeSquid Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0066CC\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.safesquid.com/deployment/https_inspection_validation\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/deployment/https_inspection_validation.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.safesquid.com/#organization\",\"name\":\"SafeSquid Documentation\",\"url\":\"https://docs.safesquid.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/safe-squid-labs-12a0916f/WapkOaLV2w2WE_m9/images/logos/safesquid/safesquid-mark-blue.png?fit=max\u0026auto=format\u0026n=WapkOaLV2w2WE_m9\u0026q=85\u0026s=b7b9c81a4dfce86823f854d9510e5cec\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.safesquid.com#website\",\"name\":\"SafeSquid Documentation\",\"url\":\"https://docs.safesquid.com\",\"publisher\":{\"@id\":\"https://docs.safesquid.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.safesquid.com/deployment/https_inspection_validation#webpage\",\"url\":\"https://docs.safesquid.com/deployment/https_inspection_validation\",\"name\":\"HTTPS Inspection Validation\",\"description\":\"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\",\"dateModified\":\"2026-10-08T15:49:30.572Z\",\"isPartOf\":{\"@id\":\"https://docs.safesquid.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.safesquid.com/deployment/https_inspection_validation#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.safesquid.com/deployment/https_inspection_validation#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Validate the deployment\",\"item\":\"https://docs.safesquid.com/deployment/service_health\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"HTTPS Inspection Validation\",\"item\":\"https://docs.safesquid.com/deployment/https_inspection_validation\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.safesquid.com/deployment/https_inspection_validation#article\",\"headline\":\"HTTPS Inspection Validation\",\"name\":\"HTTPS Inspection Validation\",\"description\":\"Prove SafeSquid is decrypting and inspecting HTTPS sessions rather than tunnelling them, using the certificate issuer as the positive test.\",\"url\":\"https://docs.safesquid.com/deployment/https_inspection_validation\",\"mainEntityOfPage\":{\"@id\":\"https://docs.safesquid.com/deployment/https_inspection_validation#webpage\"},\"dateModified\":\"2026-10-08T15:49:30.572Z\",\"keywords\":\"SafeSquid HTTPS inspection test, verify SSL inspection, certificate issuer check, proxy TLS validation, deployment validation\",\"publisher\":{\"@id\":\"https://docs.safesquid.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.safesquid.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SafeSquid Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SafeSquid Documentation","nav":{"global":{"languages":[{"language":"en","default":true,"href":"/getting_started/welcome"},{"language":"es","href":"/?lang=es"}],"versions":[{"version":"v2026.0312.1923","default":true,"href":"/getting_started/welcome"},{"version":"v2024.0315.1413","href":"/?version=legacy"}]},"tabs":[{"tab":"Get Started","icon":"compass","pages":[{"title":"Get Started","href":"/getting_started/welcome"}]},{"tab":"Architecture","icon":"sitemap","pages":[{"title":"Architecture","href":"/architecture/application_ecosystem/main"}]},{"tab":"Deployment","icon":"server","groups":[{"group":"Plan and prepare","pages":[{"title":"Licensing Requirements","href":"/deployment/licensing_requirements"},{"title":"Register Your Key","href":"/getting_started/register"},{"title":"Hardware Sizing","href":"/deployment/hardware_sizing"},{"title":"Ports and Firewall Rules","href":"/deployment/ports_and_firewall_rules"}]},{"group":"Install SafeSquid","pages":[{"title":"Install SafeSquid","href":"/getting_started/install_safesquid/main"}]},{"group":"Deploy locally","pages":[{"title":"SafeSquid Appliance Builder","href":"/getting_started/install_safesquid/safesquid_appliance_builder"},{"title":"Linux Server Install","href":"/getting_started/install_safesquid/linux_server"}]},{"group":"Deploy on cloud","pages":[{"title":"Cloud Deployment","href":"/getting_started/install_safesquid/cloud_deployment"},{"title":"Cloud Image or Cloud-Init","href":"/deployment/cloud_image_or_cloud_init"}]},{"group":"Connect clients","pages":[{"title":"Connect Your Client","href":"/getting_started/client_configuration/connect_your_client"},{"title":"Explicit Proxy Configuration","href":"/getting_started/client_configuration/explicit_proxy"},{"title":"PAC File Configuration","href":"/getting_started/client_configuration/pac_file"},{"title":"System-Wide Proxy Settings","href":"/getting_started/client_configuration/system_wide_proxy"},{"title":"Enterprise Deployment","href":"/getting_started/client_configuration/enterprise_deployment"},{"title":"Application-Specific Configuration","href":"/getting_started/client_configuration/application_specific_configuration"}]},{"group":"Activate your license","pages":[{"title":"Activate Your License","href":"/getting_started/activate"},{"title":"Manage Subscription State","href":"/deployment/manage_subscription_state"}]},{"group":"Deployment modes","pages":[{"title":"Choose an Architecture","href":"/deployment/choose_an_architecture"},{"title":"Forward Proxy","href":"/use_cases/scaling_and_high_availability/forward_proxy"},{"title":"Transparent Proxy","href":"/use_cases/scaling_and_high_availability/transparent_proxy"},{"title":"WCCP","href":"/use_cases/scaling_and_high_availability/wccp"},{"title":"TCP Proxy","href":"/use_cases/scaling_and_high_availability/tcp_proxy"},{"title":"Reverse Proxy","href":"/use_cases/scaling_and_high_availability/reverse_proxy"},{"title":"Proxy Chain","href":"/use_cases/scaling_and_high_availability/proxy_chain"},{"title":"Deployment Checklist","href":"/getting_started/install_safesquid/prerequisites"}]},{"group":"Scaling and high availability","pages":[{"title":"Proxy Clustering","href":"/use_cases/scaling_and_high_availability/proxy_clustering"},{"title":"Master-Slave","href":"/use_cases/scaling_and_high_availability/master_slave"},{"title":"Configuration Sync","href":"/use_cases/customisation/configuration_sync"},{"title":"High Availability with Monit and Keepalived","href":"/use_cases/scaling_and_high_availability/ha_monit_keepalived"},{"title":"Verify Failover","href":"/deployment/verify_failover"}]},{"group":"Backup and disaster recovery","pages":[{"title":"Backup Strategy","href":"/use_cases/scaling_and_high_availability/disaster_recovery"},{"title":"Configure Cloud Restore","href":"/use_cases/customisation/configure_cloud_restore"},{"title":"Restore Configuration and Certificates","href":"/deployment/restore_configuration_and_certificates"}]},{"group":"Performance and capacity","pages":[{"title":"Caching and Prefetching","href":"/use_cases/performance_acceleration/caching"},{"title":"Bandwidth Management","href":"/use_cases/performance_acceleration/manage_bandwidth"},{"title":"Performance Plot","href":"/use_cases/performance_acceleration/performance_plot"}]},{"group":"Validate the deployment","pages":[{"title":"Service Health","href":"/deployment/service_health"},{"title":"Proxy Connectivity","description":"Prove a client reaches the SafeSquid listener and that its requests appear in the access log, using client-side checks the server cannot perform on itself.","href":"/deployment/proxy_connectivity"},{"title":"HTTPS Inspection Validation","href":"/deployment/https_inspection_validation"},{"title":"Policy Enforcement","description":"Production sequence for turning SafeSquid proxy traffic into inspected, attributed, logged, and auditable web security controls, with a verification step per control.","href":"/getting_started/configure_web_security_policies"},{"title":"Production-Readiness Checklist","href":"/getting_started/verify_your_setup"}]},{"group":"Upgrade SafeSquid","pages":[{"title":"Upgrade SafeSquid","href":"/use_cases/upgrade/version_upgrade"},{"title":"Upgrade Ubuntu","href":"/use_cases/upgrade/os_upgrade"}]}]},{"tab":"Configuration","icon":"sliders","pages":[{"title":"Configuration","href":"/configuration/start_here/first_configuration"}]},{"tab":"Use Cases","icon":"lightbulb","pages":[{"title":"Use Cases","href":"/use_cases/use_cases"}]},{"tab":"Reporting","icon":"chart-line","pages":[{"title":"Reporting","href":"/reporting/reporting"}]},{"tab":"Troubleshooting","icon":"wrench","pages":[{"title":"Troubleshooting","href":"/troubleshooting/troubleshooting"}]},{"tab":"FAQs","icon":"circle-question","pages":[{"title":"FAQs","href":"/faqs/faqs"}]}]},"title":"HTTPS Inspection Validation - SafeSquid Documentation","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["10e4515597"],"chunks":["BannerMarkdown-CJDb0dYK.js","dist-Cv_O2fky.js","lib--scc4DXi.js","lib-B8HbPgcC.js","clsx-BGBGWFTt.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}