From d2950e761507203f4ef2ee27e957340784427977 Mon Sep 17 00:00:00 2001 From: "blinkagent[bot]" <237617714+blinkagent[bot]@users.noreply.github.com> Date: Mon, 6 Apr 2026 20:43:49 +0200 Subject: [PATCH] docs: document that license validation works offline (#24013) ## What Documents that Coder license keys are validated locally using cryptographic signatures and do not require an outbound connection to Coder's servers. This is a common question from customers evaluating Coder for air-gapped environments. ## Changes - **`docs/admin/licensing/index.md`**: Added an "Offline license validation" section explaining that license keys are signed JWTs validated locally with no phone-home requirement. - **`docs/install/airgap.md`**: Added a "License validation" row to the air-gapped comparison table, confirming no changes are needed for offline license validation and linking to the licensing docs. ## Why While the air-gapped docs state that "all Coder features are supported" offline, there was no explicit mention that the license itself doesn't require connectivity. This is a frequent question from security-conscious and air-gapped customers. --------- Co-authored-by: blink-so[bot] <211532188+blink-so[bot]@users.noreply.github.com> Co-authored-by: Matyas Danter --- docs/admin/licensing/index.md | 8 ++++++++ docs/install/airgap.md | 1 + 2 files changed, 9 insertions(+) diff --git a/docs/admin/licensing/index.md b/docs/admin/licensing/index.md index bc9a9e932d..d8fea43bc0 100644 --- a/docs/admin/licensing/index.md +++ b/docs/admin/licensing/index.md @@ -7,6 +7,14 @@ features, you can [request a trial](https://coder.com/trial) or ![Licenses screen shows license information and seat consumption](../../images/admin/licenses/licenses-screen.png) +## Offline license validation + +Coder license keys are signed JWTs that are validated locally using cryptographic +signatures. No outbound connection to Coder's servers is required for license +validation. This means licenses work in +[air-gapped and offline deployments](../../install/airgap.md) without any +additional configuration. + ## Adding your license key There are two ways to add a license to a Coder deployment: diff --git a/docs/install/airgap.md b/docs/install/airgap.md index 2a701e0349..7fc80d2314 100644 --- a/docs/install/airgap.md +++ b/docs/install/airgap.md @@ -13,6 +13,7 @@ air-gapped with Kubernetes or Docker. | PostgreSQL | If no [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) is specified, Coder will download Postgres from [repo1.maven.org](https://repo1.maven.org) | An external database is required, you must specify a [PostgreSQL connection URL](../reference/cli/server.md#--postgres-url) | | Telemetry | Telemetry is on by default, and [can be disabled](../reference/cli/server.md#--telemetry) | Telemetry [can be disabled](../reference/cli/server.md#--telemetry) | | Update check | By default, Coder checks for updates from [GitHub releases](https://github.com/coder/coder/releases) | Update checks [can be disabled](../reference/cli/server.md#--update-check) | +| License validation | License keys are validated locally using cryptographic signatures. No outbound connection to Coder is required | No changes needed. See [offline license validation](../admin/licensing/index.md#offline-license-validation) | | AI Governance Usage Count | By default, deployments with the [AI Governance Add On](../ai-coder/ai-governance.md) report usage data | [Contact us](https://coder.com/contact) to request a license with usage reporting off. | ## Air-gapped container images