How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.
This page describes the hosted SaaS service. For what each tier includes —
storage, users, and features, plus storage add-ons — see
Plans & Storage. For the self-hosted appliance, see
Licensing & Activation — an appliance never
hard-locks and behaves slightly differently on expiry.
Your organisation’s access to Enclave is governed by a license (or a
time-boxed trial). The license sets your plan tier and a validity window.
The owner can see the current status, tier, and expiry date at any time on the
License page (Settings → License, /license).Enclave does not cut off access the moment a license expires. Enterprise
deployments get a staged grace period so a lapsed renewal never causes an
abrupt outage or data lock-out.
After the expiry date, a tenant moves through three stages. The banner at the
top of the app tells you which stage you are in and how long it lasts.
Stage
When
What works
Banner
Active
License valid
Everything on your tier
None (a renewal reminder appears in the last 14 days)
Grace
0–14 days after expiry
Everything — full access. Upload, share, edit, create rooms, manage org, all reads and writes
🟠 Orange — “License expired — full access continues for N more days.”
Read-only
14–30 days after expiry
Reads only. View, download, and share-access to existing data continues. New uploads, edits, deletes, and other changes are blocked and return a “read-only mode” message
🟠 Dark orange — “License expired — read-only mode. N days until full lock.”
Locked
more than 30 days after expiry
Access is disabled. All requests are blocked until the license is renewed. Your data is retained, not deleted
🔴 Red — “Account locked — your license has expired and access is disabled.”
The banner always matches what is actually enforced. The colour and message
are derived from the same server-side evaluation that gates each request, so
the banner you see is an accurate statement of what you can and cannot do right
now — it will not, for example, say “locked” while uploads still work.
During the read-only stage (14–30 days after expiry), write operations are
paused: file uploads and new versions, file/folder moves and deletes, creating
or changing Secure Rooms, sharing changes, and organisation/security policy
edits. Read operations continue: listing, viewing, previewing, downloading,
and opening shared links to data that already exists.
After 30 days, the account is fully locked — both reads and writes are blocked —
and the owner is directed to Contact Sales to renew. Nothing is deleted:
restoring a valid license immediately returns the account to full access.
Renew from Settings → License, or use the Renew License button in the
expiry banner. A renewed license takes effect immediately with no downtime — if
the account was in read-only or locked state, full access is restored as soon as
the new license is active.We recommend renewing during the 14-day warning window before expiry to avoid
entering the grace ladder at all.
Only the organisation owner (and a security officer, for infrastructure
settings) sees the license banner and the License page. Other members are
unaffected by the banner but are subject to the same access stage.
{"docsConfig":{"$schema":"https://mintlify.com/docs.json","theme":"mint","name":"Kvelden Docs","colors":{"primary":"#00C9A7","light":"#2dd4bf","dark":"#0d9488"},"favicon":"https://mintcdn.com/quelden/oKCNshq5BG5rVXut/logo/icon.svg?fit=max\u0026auto=format\u0026n=oKCNshq5BG5rVXut\u0026q=85\u0026s=e79b6958bbeea4b05d28b9ddec85a0d4","logo":{"light":"https://mintcdn.com/quelden/oKCNshq5BG5rVXut/logo/kvelden-logo-horizontal-on-light.svg?fit=max\u0026auto=format\u0026n=oKCNshq5BG5rVXut\u0026q=85\u0026s=5f0d1d63aa343c49681026d2af610c8a","dark":"https://mintcdn.com/quelden/oKCNshq5BG5rVXut/logo/kvelden-logo-horizontal-on-dark.svg?fit=max\u0026auto=format\u0026n=oKCNshq5BG5rVXut\u0026q=85\u0026s=7bdd9cf74d62e7f0f2eb68dbd1e8480b","href":"https://kvelden.com"},"navbar":{"links":[{"label":"Website","href":"https://kvelden.com"}],"primary":{"type":"button","label":"Get Enclave","href":"https://kvelden.com/request-access"}},"footer":{"socials":{"linkedin":"https://linkedin.com/company/kvelden","youtube":"https://www.youtube.com/@kvelden","facebook":"https://www.facebook.com/people/Kvelden/61590973313213"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"quelden","hasAudioNarration":false,"actualSubdomain":"quelden","customDomains":["docs.kvelden.com"],"gitSource":{"type":"github","owner":"kveldentech","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ad50ac8f20f038492fb176e","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Organization","count":20},{"language":"default","tag":"Platform","count":17},{"language":"default","tag":"Self-Hosted Appliance","count":14},{"language":"default","tag":"Deploy the Appliance","count":11},{"language":"default","tag":"Platform Guide","count":11},{"language":"default","tag":"Security \u0026 Trust","count":8},{"language":"default","tag":"SaaS","count":5},{"language":"default","tag":"Deploy on SaaS","count":5},{"language":"default","tag":"Documentation","count":4},{"language":"default","tag":"Get Started","count":4}]},"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":"custom-rbac-roles","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":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"enclave/saas/licensing","slug":"/enclave/saas/licensing","pageMetadata":{"title":"Licensing \u0026 Expiry","description":"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.","href":"/enclave/saas/licensing"},"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: \"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\"\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`,em:`em`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,..._provideComponents(),...props.components},{Heading,Info,Note,Table,Tip}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Info)_missingMdxReference(`Info`,true);if(!Note)_missingMdxReference(`Note`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Tip)_missingMdxReference(`Tip`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsxs(_components.p,{children:[`This page describes the hosted `,_jsx(_components.strong,{children:`SaaS`}),` service. For what each tier includes —\nstorage, users, and features, plus storage add-ons — see\n`,_jsx(_components.a,{href:`/enclave/saas/plans`,children:`Plans \u0026 Storage`}),`. For the self-hosted appliance, see\n`,_jsx(_components.a,{href:`/enclave/appliance/licensing`,children:`Licensing \u0026 Activation`}),` — an appliance never\nhard-locks and behaves slightly differently on expiry.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`how-licensing-works`,children:`How licensing works`}),`\n`,_jsxs(_components.p,{children:[`Your organisation’s access to Enclave is governed by a `,_jsx(_components.strong,{children:`license`}),` (or a\ntime-boxed `,_jsx(_components.strong,{children:`trial`}),`). The license sets your plan tier and a validity window.\nThe owner can see the current status, tier, and expiry date at any time on the\n`,_jsx(_components.strong,{children:`License`}),` page (`,_jsx(_components.strong,{children:`Settings → License`}),`, `,_jsx(_components.code,{children:`/license`}),`).`]}),`\n`,_jsxs(_components.p,{children:[`Enclave does `,_jsx(_components.strong,{children:`not`}),` cut off access the moment a license expires. Enterprise\ndeployments get a staged `,_jsx(_components.strong,{children:`grace period`}),` so a lapsed renewal never causes an\nabrupt outage or data lock-out.`]}),`\n`,_jsx(Heading,{level:`2`,id:`expiry-lifecycle`,children:`Expiry lifecycle`}),`\n`,_jsx(_components.p,{children:`After the expiry date, a tenant moves through three stages. The banner at the\ntop of the app tells you which stage you are in and how long it lasts.`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Stage`}),_jsx(_components.th,{children:`When`}),_jsx(_components.th,{children:`What works`}),_jsx(_components.th,{children:`Banner`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Active`})}),_jsx(_components.td,{children:`License valid`}),_jsx(_components.td,{children:`Everything on your tier`}),_jsxs(_components.td,{children:[`None (a renewal reminder appears in the last `,_jsx(_components.strong,{children:`14 days`}),`)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Grace`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`0–14 days`}),` after expiry`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Everything — full access.`}),` Upload, share, edit, create rooms, manage org, all reads and writes`]}),_jsxs(_components.td,{children:[`🟠 Orange — `,_jsx(_components.em,{children:`“License expired — full access continues for N more days.”`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Read-only`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`14–30 days`}),` after expiry`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Reads only.`}),` View, download, and share-access to existing data continues. New uploads, edits, deletes, and other changes are blocked and return a “read-only mode” message`]}),_jsxs(_components.td,{children:[`🟠 Dark orange — `,_jsx(_components.em,{children:`“License expired — read-only mode. N days until full lock.”`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Locked`})}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`more than 30 days`}),` after expiry`]}),_jsxs(_components.td,{children:[_jsx(_components.strong,{children:`Access is disabled.`}),` All requests are blocked until the license is renewed. Your data is retained, not deleted`]}),_jsxs(_components.td,{children:[`🔴 Red — `,_jsx(_components.em,{children:`“Account locked — your license has expired and access is disabled.”`})]})]})]})]}),`\n`,_jsx(Note,{children:_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The banner always matches what is actually enforced.`}),` The colour and message\nare derived from the same server-side evaluation that gates each request, so\nthe banner you see is an accurate statement of what you can and cannot do right\nnow — it will not, for example, say “locked” while uploads still work.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`what-“read-only”-blocks`,children:`What “read-only” blocks`}),`\n`,_jsxs(_components.p,{children:[`During the read-only stage (14–30 days after expiry), `,_jsx(_components.strong,{children:`write`}),` operations are\npaused: file uploads and new versions, file/folder moves and deletes, creating\nor changing Secure Rooms, sharing changes, and organisation/security policy\nedits. `,_jsx(_components.strong,{children:`Read`}),` operations continue: listing, viewing, previewing, downloading,\nand opening shared links to data that already exists.`]}),`\n`,_jsx(Heading,{level:`3`,id:`what-“locked”-means`,children:`What “locked” means`}),`\n`,_jsxs(_components.p,{children:[`After 30 days, the account is fully locked — both reads and writes are blocked —\nand the owner is directed to `,_jsx(_components.strong,{children:`Contact Sales`}),` to renew. Nothing is deleted:\nrestoring a valid license immediately returns the account to full access.`]}),`\n`,_jsx(Heading,{level:`2`,id:`renewing`,children:`Renewing`}),`\n`,_jsxs(_components.p,{children:[`Renew from `,_jsx(_components.strong,{children:`Settings → License`}),`, or use the `,_jsx(_components.strong,{children:`Renew License`}),` button in the\nexpiry banner. A renewed license takes effect immediately with no downtime — if\nthe account was in read-only or locked state, full access is restored as soon as\nthe new license is active.`]}),`\n`,_jsxs(_components.p,{children:[`We recommend renewing during the 14-day warning window `,_jsx(_components.strong,{children:`before`}),` expiry to avoid\nentering the grace ladder at all.`]}),`\n`,_jsx(Tip,{children:_jsxs(_components.p,{children:[`Only the organisation `,_jsx(_components.strong,{children:`owner`}),` (and a `,_jsx(_components.strong,{children:`security officer`}),`, for infrastructure\nsettings) sees the license banner and the License page. Other members are\nunaffected by the banner but are subject to the same access stage.`]})})]})}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":"Licensing \u0026 Expiry","description":"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.","href":"/enclave/saas/licensing"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"How licensing works","slug":"how-licensing-works","depth":2,"children":[]},{"title":"Expiry lifecycle","slug":"expiry-lifecycle","depth":2,"children":[{"title":"What “read-only” blocks","slug":"what-“read-only”-blocks","depth":3,"children":[]},{"title":"What “locked” means","slug":"what-“locked”-means","depth":3,"children":[]}]},{"title":"Renewing","slug":"renewing","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"quelden","siteName":"Kvelden Docs","title":"Licensing \u0026 Expiry - Kvelden Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-17T09:26:45.402Z","originalFileLocation":"enclave/saas/licensing.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Kvelden Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_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/quelden/xg8MK2Aw4uo0TQDh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Licensing \u0026amp; Expiry - Kvelden Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Kvelden Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kvelden.com/enclave/saas/licensing\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://quelden.mintlify.site/_mintlify/api/og/v2?division=Deploy+on+SaaS\u0026amp;title=Licensing+%26+Expiry\u0026amp;description=How+Enclave+SaaS+licenses+work%2C+and+exactly+what+stays+available+during+the+grace+period+after+a+license+expires.\u0026amp;theme=da089d14d9ab8ff60e45ae6e\u0026amp;signature=25c3cc578927fc04b97c51adf4184b88f4d3dbc122502889a96ee50a650bf4dc\">\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=\"Licensing \u0026amp; Expiry - Kvelden Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://quelden.mintlify.site/_mintlify/api/og/v2?division=Deploy+on+SaaS\u0026amp;title=Licensing+%26+Expiry\u0026amp;description=How+Enclave+SaaS+licenses+work%2C+and+exactly+what+stays+available+during+the+grace+period+after+a+license+expires.\u0026amp;theme=da089d14d9ab8ff60e45ae6e\u0026amp;signature=25c3cc578927fc04b97c51adf4184b88f4d3dbc122502889a96ee50a650bf4dc\">\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/quelden/xg8MK2Aw4uo0TQDh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Kvelden Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#00C9A7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kvelden.com/enclave/saas/licensing\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/enclave/saas/licensing.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kvelden.com/#organization\",\"name\":\"Kvelden Docs\",\"url\":\"https://docs.kvelden.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/quelden/oKCNshq5BG5rVXut/logo/kvelden-logo-horizontal-on-light.svg?fit=max\u0026auto=format\u0026n=oKCNshq5BG5rVXut\u0026q=85\u0026s=5f0d1d63aa343c49681026d2af610c8a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kvelden.com#website\",\"name\":\"Kvelden Docs\",\"url\":\"https://docs.kvelden.com\",\"publisher\":{\"@id\":\"https://docs.kvelden.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kvelden.com/enclave/saas/licensing#webpage\",\"url\":\"https://docs.kvelden.com/enclave/saas/licensing\",\"name\":\"Licensing \u0026 Expiry\",\"description\":\"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\",\"dateModified\":\"2026-10-17T09:26:45.402Z\",\"isPartOf\":{\"@id\":\"https://docs.kvelden.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kvelden.com/enclave/saas/licensing#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kvelden.com/enclave/saas/licensing#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Deploy on SaaS\",\"item\":\"https://docs.kvelden.com/enclave/saas/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Licensing \u0026 Expiry\",\"item\":\"https://docs.kvelden.com/enclave/saas/licensing\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kvelden.com/enclave/saas/licensing#article\",\"headline\":\"Licensing \u0026 Expiry\",\"name\":\"Licensing \u0026 Expiry\",\"description\":\"How Enclave SaaS licenses work, and exactly what stays available during the grace period after a license expires.\",\"url\":\"https://docs.kvelden.com/enclave/saas/licensing\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kvelden.com/enclave/saas/licensing#webpage\"},\"dateModified\":\"2026-10-17T09:26:45.402Z\",\"publisher\":{\"@id\":\"https://docs.kvelden.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kvelden.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Kvelden Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Kvelden Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/enclave/saas/licensing.md","siteName":"Kvelden Docs","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/enclave/introduction"}]},{"tab":"Self-Hosted Appliance","pages":[{"title":"Self-Hosted Appliance","href":"/enclave/appliance/overview"}]},{"tab":"SaaS","groups":[{"group":"Deploy on SaaS","pages":[{"title":"SaaS Deployment","href":"/enclave/saas/overview"},{"title":"Plans \u0026 Storage","description":"The Enterprise license tiers for Enclave SaaS — what each tier includes, how much storage and how many users you get, and how to add more storage without changing your renewal date.","href":"/enclave/saas/plans"},{"title":"Licensing \u0026 Expiry","href":"/enclave/saas/licensing"},{"title":"Platform Storage Configuration","description":"Configure the shared S3 storage backend that the Enclave appliance uses to store encrypted files for all tenants.","href":"/enclave/saas/storage"},{"title":"Network Ports \u0026 Firewall","href":"/enclave/saas/ports"}]}]},{"tab":"Platform","pages":[{"title":"Platform","href":"/enclave/platform/overview"}]},{"tab":"Organization","pages":[{"title":"Organization","href":"/enclave/organization/overview"}]},{"tab":"Security \u0026 Trust","pages":[{"title":"Security \u0026 Trust","href":"/enclave/security/architecture"}]}]},"basePath":"","title":"Licensing \u0026 Expiry - Kvelden Docs","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":[],"chunks":[]}