Subscription state controls whether the appliance considers its licence valid, and therefore whether update feeds and signature modules can run. It defines no proxy policy rows of its own. SafeSquid re-checks subscription validity on every request, not once at startup. This is a per-request check, not a one-time state.This is the on-appliance side of licensing only — it reflects the key you already hold. To register an account or obtain a new activation key, see Support for where that key comes from on key.safesquid.com.
The authoritative view is the License Details panel on the Support page, reached from the top navigation bar next to Configure. Verified 2026-09-04 against build 2026.0627.1344.3.There is no Subscription section under Configure, and no licence or module-status tab under Reports.
On each request, SafeSquid sets or clears SUBSCRIPTION_EXPIRED on the connection from subscription validity checks.
When expired, Application Signatures processing is skipped for that connection and security logging records filter subscription.
Background subscription accounting talks to the vendor service, refreshes entitlement, and drives scheduled update hooks (signatures, categorisation feeds, trusted CA updates, and similar).
At certain points while a request is being processed, an expired subscription can occasionally interrupt it with a renewal notice instead of the normal response — not on every request, and not a permanent block, since browsing continues normally in between. The same mechanism can also interrupt Image analyzer processing specifically.
Missing: whether an expired subscription also skips Header filter processing, alongside the confirmed Application Signatures skip above. Legacy documentation claims it does, but the live Header filtering console section has no mention of subscription or expiry anywhere. The condition cannot be reproduced without an actually-expired licence. Escalate to engineering for a source-level answer before documenting this as behaviour.
An expired subscription is not the same as Access restrictions DENY — users may still connect while signature-dependent labelling and some update paths stop. Check the Support page’s License Details panel and Native SECURITY logs when behaviour changes after expiry.
Missing: the on-appliance step for installing a renewed activation key. No upload control for one was found in the current build’s console. So the procedure below is not documented here rather than guessed at. Obtain the renewed key from key.safesquid.com, then confirm the installation path with SafeSquid support for your build before a renewal window.Once a renewed key is in place, confirm it took effect:
Open Support → License Details and select Refresh.
Check that Status and Subscription Start reflect the new subscription.
Confirm application signature tags apply again on new connections.
Expected result:SUBSCRIPTION_EXPIRED clears on new connections and signature-dependent labelling resumes.
Support → License Details for subscription status, then Refresh to pull current state.
Native SECURITY logs for subscription: expired on test requests.
Application signature stats after a successful update cycle.
Legacy documentation references a “Modules Status” report showing signature and feed load
status. No such tab exists in build 2026.0627.1344.3 — a DOM sweep of both the Reports and
Support views found no occurrence (verified Reports tabs: Dashboard, Statistics, Native logs,
Detailed logs, Config logs, Active Connections, Connection Pool, DNS Cache, LDAP Entries,
Password Cache; verified Support cards: Support Tarball, Download Config, Upload Config,
Upgradation, Performance Plot, URL Commands, Restart SafeSquid, Cloud Restore, Startup params,
Live Support). Use Native logs and the update-hook logs referenced in
Cloud / categorisation feeds instead.
{"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":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ac7bb6e8abd6d065dca7197","clientVersion":"0.0.4088","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":[],"privacy":{"consentBanner":{"enabled":true}},"googleFontsInlined":false},"customCss":[{"filePath":"custom.css","content":"a:has(>img.nav-logo){flex-shrink:0!important}#sidebar-content li[data-active]>a{color:rgb(22, 25, 29)!important}.dark #sidebar-content li[data-active]>a{background-color:rgb(59, 130, 246)!important;color:rgb(22, 25, 29)!important}"}],"page":{"pagePath":"configuration/infrastructure_and_access/subscription","slug":"/configuration/infrastructure_and_access/subscription","pageMetadata":{"title":"Subscription","description":"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.","keywords":["subscription state","SafeSquid license details","activation key renewal","licence validity","signature module updates"],"href":"/configuration/infrastructure_and_access/subscription"},"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: \"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`1`,id:`check-how-subscription-state-affects-safesquid`,children:`Check How Subscription State Affects SafeSquid`}),`\n`,_jsx(_components.p,{children:`Subscription state controls whether the appliance considers its licence valid, and therefore whether update feeds and signature modules can run. It defines no proxy policy rows of its own. SafeSquid re-checks subscription validity on every request, not once at startup. This is a per-request check, not a one-time state.`}),`\n`,_jsxs(_components.p,{children:[`This is the on-appliance side of licensing only — it reflects the key you already hold. To register an account or obtain a new activation key, see `,_jsx(_components.a,{href:`/configuration/infrastructure_and_access/support`,children:`Support`}),` for where that key comes from on `,_jsx(_components.code,{children:`key.safesquid.com`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`where-subscription-state-appears`,children:`Where subscription state appears`}),`\n`,_jsxs(_components.p,{children:[`The authoritative view is the `,_jsx(_components.strong,{children:`License Details`}),` panel on the `,_jsx(_components.strong,{children:`Support`}),` page, reached from the top navigation bar next to `,_jsx(_components.strong,{children:`Configure`}),`. Verified 2026-09-04 against build `,_jsx(_components.code,{children:`2026.0627.1344.3`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`There is no Subscription section under `,_jsx(_components.strong,{children:`Configure`}),`, and no licence or module-status tab under `,_jsx(_components.strong,{children:`Reports`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`license-details-fields`,children:`License Details fields`}),`\n`,_jsxs(_components.p,{children:[`The panel is read-only apart from a `,_jsx(_components.strong,{children:`Refresh`}),` control.`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Field`}),_jsx(_components.th,{children:`What it shows`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Activation Key Name`}),_jsx(_components.td,{children:`Name of the activation key registered on the appliance`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Subscription Start`}),_jsx(_components.td,{children:`Date the current subscription began`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Creator Details`}),_jsx(_components.td,{children:`Account that created the key`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Contact Details`}),_jsx(_components.td,{children:`Contact address on the subscription`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Status`}),_jsxs(_components.td,{children:[`Current subscription state, for example `,_jsx(_components.code,{children:`ACTIVE`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service ID`}),_jsx(_components.td,{children:`Identifier of the subscribed service`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service Name`}),_jsx(_components.td,{children:`Name of the subscribed service`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Subscription Type`}),_jsxs(_components.td,{children:[`Basis the subscription is metered on, for example `,_jsx(_components.code,{children:`CPU usage`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Remaining Subscription Quantity`}),_jsx(_components.td,{children:`Entitlement left against the metered basis`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Service Location`}),_jsx(_components.td,{children:`Location recorded against the service`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Last Updated Time`}),_jsx(_components.td,{children:`When the appliance last refreshed this data`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`how-subscription-affects-the-proxy`,children:`How subscription affects the proxy`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`On each request, SafeSquid sets or clears `,_jsx(_components.code,{children:`SUBSCRIPTION_EXPIRED`}),` on the connection from subscription validity checks.`]}),`\n`,_jsxs(_components.li,{children:[`When expired, `,_jsx(_components.a,{href:`/configuration/custom_settings/application_signatures`,children:`Application Signatures`}),` processing is skipped for that connection and security logging records filter `,_jsx(_components.code,{children:`subscription`}),`.`]}),`\n`,_jsx(_components.li,{children:`Background subscription accounting talks to the vendor service, refreshes entitlement, and drives scheduled update hooks (signatures, categorisation feeds, trusted CA updates, and similar).`}),`\n`,_jsx(_components.li,{children:`At certain points while a request is being processed, an expired subscription can occasionally interrupt it with a renewal notice instead of the normal response — not on every request, and not a permanent block, since browsing continues normally in between. The same mechanism can also interrupt Image analyzer processing specifically.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Missing:`}),` whether an expired subscription also skips Header filter processing, alongside the confirmed Application Signatures skip above. Legacy documentation claims it does, but the live Header filtering console section has no mention of subscription or expiry anywhere. The condition cannot be reproduced without an actually-expired licence. Escalate to engineering for a source-level answer before documenting this as behaviour.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`An expired subscription is not the same as Access restrictions DENY — users may still connect while signature-dependent labelling and some update paths stop. Check the Support page’s License Details panel and Native SECURITY logs when behaviour changes after expiry.`})}),`\n`,_jsx(Heading,{level:`2`,id:`renewing-an-activation-key`,children:`Renewing an activation key`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Missing:`}),` the on-appliance step for installing a renewed activation key. No upload control for one was found in the current build’s console. So the procedure below is not documented here rather than guessed at. Obtain the renewed key from `,_jsx(_components.a,{href:`https://key.safesquid.com`,children:`key.safesquid.com`}),`, then confirm the installation path with SafeSquid support for your build before a renewal window.`]}),`\n`,_jsx(_components.p,{children:`Once a renewed key is in place, confirm it took effect:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Open `,_jsx(_components.strong,{children:`Support → License Details`}),` and select `,_jsx(_components.strong,{children:`Refresh`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Check that `,_jsx(_components.strong,{children:`Status`}),` and `,_jsx(_components.strong,{children:`Subscription Start`}),` reflect the new subscription.`]}),`\n`,_jsx(_components.li,{children:`Confirm application signature tags apply again on new connections.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`Expected result:`}),` `,_jsx(_components.code,{children:`SUBSCRIPTION_EXPIRED`}),` clears on new connections and signature-dependent labelling resumes.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-to-verify`,children:`How to verify`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Support → License Details`}),` for subscription status, then `,_jsx(_components.strong,{children:`Refresh`}),` to pull current state.`]}),`\n`,_jsxs(_components.li,{children:[`Native SECURITY logs for `,_jsx(_components.code,{children:`subscription: expired`}),` on test requests.`]}),`\n`,_jsx(_components.li,{children:`Application signature stats after a successful update cycle.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`Legacy documentation references a “Modules Status” report showing signature and feed load\nstatus. No such tab exists in build `,_jsx(_components.code,{children:`2026.0627.1344.3`}),` — a DOM sweep of both the Reports and\nSupport views found no occurrence (verified Reports tabs: Dashboard, Statistics, Native logs,\nDetailed logs, Config logs, Active Connections, Connection Pool, DNS Cache, LDAP Entries,\nPassword Cache; verified Support cards: Support Tarball, Download Config, Upload Config,\nUpgradation, Performance Plot, URL Commands, Restart SafeSquid, Cloud Restore, Startup params,\nLive Support). Use Native logs and the update-hook logs referenced in\n`,_jsx(_components.a,{href:`/configuration/start_here/cloud_feeds`,children:`Cloud / categorisation feeds`}),` instead.`]}),`\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:`/configuration/infrastructure_and_access/support`,children:`Support`}),` — License Details panel and appliance tools`]}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/getting_started/register`,children:`Register and get your key`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/deployment/manage_subscription_state`,children:`Handle expiry`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/configuration/start_here/cloud_feeds`,children:`Cloud / categorisation feeds`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/configuration/custom_settings/application_signatures`,children:`Application Signatures`})}),`\n`,_jsx(_components.li,{children:_jsx(_components.a,{href:`/configuration/start_here/logging`,children:`Logging`})}),`\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":"Subscription","description":"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.","keywords":["subscription state","SafeSquid license details","activation key renewal","licence validity","signature module updates"],"href":"/configuration/infrastructure_and_access/subscription"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Check How Subscription State Affects SafeSquid","slug":"check-how-subscription-state-affects-safesquid","depth":1,"children":[]},{"title":"Where subscription state appears","slug":"where-subscription-state-appears","depth":2,"children":[]},{"title":"License Details fields","slug":"license-details-fields","depth":2,"children":[]},{"title":"How subscription affects the proxy","slug":"how-subscription-affects-the-proxy","depth":2,"children":[]},{"title":"Renewing an activation key","slug":"renewing-an-activation-key","depth":2,"children":[]},{"title":"How to verify","slug":"how-to-verify","depth":2,"children":[]},{"title":"Next steps","slug":"next-steps","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"safe-squid-labs-12a0916f","siteName":"SafeSquid Documentation","title":"Subscription - SafeSquid Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-08T15:49:32.610Z","originalFileLocation":"configuration/infrastructure_and_access/subscription.mdx","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=\"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\">\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=\"Subscription - SafeSquid Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SafeSquid Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://safe-squid-labs-12a0916f.mintlify.site/_mintlify/api/og/v2?division=Licensing+and+Self-Service+Portal\u0026amp;title=Subscription\u0026amp;description=See+how+subscription+state+decides+whether+SafeSquid+treats+the+licence+as+valid+and+runs+update+feeds+and+signature+modules.\u0026amp;theme=4ec1e09f5eab69716f172ff1\u0026amp;signature=015afcb5c49c021940529f1a2bf8859cfd3ab71916742ff20e06e12b6e29dd02\">\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=\"Subscription - SafeSquid Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://safe-squid-labs-12a0916f.mintlify.site/_mintlify/api/og/v2?division=Licensing+and+Self-Service+Portal\u0026amp;title=Subscription\u0026amp;description=See+how+subscription+state+decides+whether+SafeSquid+treats+the+licence+as+valid+and+runs+update+feeds+and+signature+modules.\u0026amp;theme=4ec1e09f5eab69716f172ff1\u0026amp;signature=015afcb5c49c021940529f1a2bf8859cfd3ab71916742ff20e06e12b6e29dd02\">\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/configuration/infrastructure_and_access/subscription\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/configuration/infrastructure_and_access/subscription.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/configuration/infrastructure_and_access/subscription#webpage\",\"url\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription\",\"name\":\"Subscription\",\"description\":\"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\",\"dateModified\":\"2026-10-08T15:49:32.610Z\",\"isPartOf\":{\"@id\":\"https://docs.safesquid.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"SafeSquid Documentation\",\"item\":\"https://docs.safesquid.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Subscription\",\"item\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription#article\",\"headline\":\"Subscription\",\"name\":\"Subscription\",\"description\":\"See how subscription state decides whether SafeSquid treats the licence as valid and runs update feeds and signature modules.\",\"url\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription\",\"mainEntityOfPage\":{\"@id\":\"https://docs.safesquid.com/configuration/infrastructure_and_access/subscription#webpage\"},\"dateModified\":\"2026-10-08T15:49:32.610Z\",\"keywords\":\"subscription state, SafeSquid license details, activation key renewal, licence validity, signature module updates\",\"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","pages":[{"title":"Deployment","href":"/deployment/licensing_requirements"}]},{"tab":"Configuration","icon":"sliders","groups":[{"group":"Administration Basics","pages":[{"title":"First configuration","href":"/configuration/start_here/first_configuration"},{"title":"Architecture and request pipeline","href":"/configuration/start_here/architecture"},{"title":"SafeSquid daemon","href":"/configuration/start_here/daemon"},{"title":"Authentication","href":"/configuration/start_here/authentication"},{"title":"Debug response headers","href":"/configuration/start_here/debug_response_headers"},{"title":"startup.ini tunables","href":"/configuration/start_here/startup_ini"},{"title":"Cloud / categorisation feeds","href":"/configuration/start_here/cloud_feeds"},{"title":"Integrations","description":"Map every external system SafeSquid integrates with, where each is configured, and what breaks when one is missing or misconfigured.","href":"/configuration/start_here/integrations"}]},{"group":"Licensing and Self-Service Portal","pages":[{"title":"Subscription","href":"/configuration/infrastructure_and_access/subscription"},{"title":"Support","description":"Check the appliance's license state and use on-appliance tools for restart, configuration backup, upgrade, and vendor support.","href":"/configuration/infrastructure_and_access/support"}]},{"group":"Application Setup","pages":[{"title":"Network settings","href":"/configuration/application_setup/network_settings_and_listeners"},{"title":"Integrate LDAP","href":"/configuration/application_setup/integrate_ldap"},{"title":"Access restrictions","href":"/configuration/application_setup/access_restrictions"},{"group":"Accelerators","expanded":false,"pages":[{"title":"Caching","href":"/configuration/application_setup/accelerators/caching"},{"title":"Prefetching","href":"/configuration/application_setup/accelerators/prefetching"}]},{"title":"System configuration","href":"/configuration/application_setup/system_configuration"},{"title":"Proxy chain","href":"/configuration/application_setup/proxy_chain"},{"title":"FTP browsing","href":"/configuration/application_setup/ftp_browsing"},{"title":"WCCP","href":"/configuration/application_setup/wccp"},{"title":"SSqore","href":"/configuration/application_setup/ssqore"}]},{"group":"Real Time Content Security","pages":[{"title":"HTTPS inspection","href":"/configuration/real_time_content_security/https_inspection"},{"title":"Clam antivirus","href":"/configuration/real_time_content_security/clam_antivirus"},{"title":"Text analyzer","href":"/configuration/real_time_content_security/text_analyzer"},{"title":"Redirect","href":"/configuration/real_time_content_security/redirect"},{"title":"DNS Blacklist","href":"/configuration/real_time_content_security/dns_blacklist"},{"title":"Image analyzer","href":"/configuration/real_time_content_security/image_analyzer"},{"title":"Content modifier","href":"/configuration/real_time_content_security/content_modifier"},{"title":"DLP","href":"/configuration/real_time_content_security/dlp"},{"title":"ICAP","href":"/configuration/real_time_content_security/icap"},{"title":"SqScan","href":"/configuration/real_time_content_security/sqscan"}]},{"group":"Custom Settings","pages":[{"title":"Categorize Web-Sites","href":"/configuration/custom_settings/categorize_web_sites"},{"title":"Time Profiler","href":"/configuration/custom_settings/time_profiler"},{"title":"Response Types","href":"/configuration/custom_settings/response_types"},{"title":"Request Types","href":"/configuration/custom_settings/request_types"},{"title":"Templates","href":"/configuration/custom_settings/templates"},{"title":"External applications","href":"/configuration/custom_settings/external_applications"},{"title":"Application Signatures","href":"/configuration/custom_settings/application_signatures"},{"title":"Content Signatures","href":"/configuration/custom_settings/content_signatures"},{"title":"Suggested Profiles","href":"/configuration/custom_settings/suggested_profiles"}]},{"group":"Restriction Policies","pages":[{"group":"Privacy control","expanded":false,"pages":[{"title":"Cookie filter","href":"/configuration/restriction_policies/privacy_control/cookie_filter"},{"title":"Header filter","href":"/configuration/restriction_policies/privacy_control/header_filter"},{"title":"Elevated Privacy","href":"/configuration/restriction_policies/privacy_control/elevated_privacy"}]},{"title":"Access Profiles","href":"/configuration/restriction_policies/access_profiles"},{"title":"Speed Limits","href":"/configuration/restriction_policies/speed_limits"}]}]},{"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"}]}]},"basePath":"","title":"Subscription - SafeSquid Documentation","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["10e4515597"],"chunks":["BannerMarkdown-Cj6eAYhz.js","dist-CdrJecqK.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-D-TRO5q5.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js"]}