> ## Documentation Index
> Fetch the complete documentation index at: https://langwatch.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Open-core licensing

> LangWatch is open-core. The Apache 2.0 floor covers Personal Virtual Keys, the AI Tools Portal, Routing Policies, and CLI debugging. Multi-source ingestion, anomaly detection, OCSF, SIEM export, and extended retention require an Enterprise plan.

LangWatch is open-core. Some governance surfaces work for every self-hosted deployment under the **Apache 2.0** license; others require a paid **Enterprise** plan. Use this map when planning a rollout:

| Surface                                                             | License    | Notes                                                                                                                                             |
| ------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Personal IDE keys](/docs/ai-gateway/governance/personal-keys)           | Apache 2.0 | Always available. The Personal Virtual Key + `langwatch login` flow is the open-core floor.                                                       |
| [AI Tools Portal at `/me`](/docs/ai-governance/personal-portal/overview) | Apache 2.0 | Always available. Catalog editor at `/settings/governance/tool-catalog`, three tile classes, admin-curated.                                       |
| [Routing Policies](/docs/ai-gateway/governance/routing-policies)         | Apache 2.0 | Always available. The gateway-side policy chain is core.                                                                                          |
| [CLI debugging](/docs/ai-governance/cli-debug)                           | Apache 2.0 | Always available. CLI 409, 401, 403 catalog.                                                                                                      |
| [Ingestion Sources](/docs/ai-governance/ingestion-sources/index)         | Enterprise | `otel_generic` source type + `thirty_days` retention are available on the Apache 2.0 floor; multi-source + extended retention require Enterprise. |
| [Anomaly Rules](/docs/ai-governance/anomaly-rules)                       | Enterprise | Admin-curated detection rules + dispatch (Slack, PagerDuty, SIEM).                                                                                |
| [Compliance architecture](/docs/ai-governance/compliance-architecture)   | Enterprise | OCSF, SIEM export, multi-class retention, tamper-evidence (post-GA follow-up).                                                                    |

In the LangWatch UI, Enterprise-only surfaces show an **"Available on Enterprise plans"** card with an upgrade CTA when the org isn't on an Enterprise plan; the same surfaces gray out source-type dropdowns to `otel_generic` and retention to `thirty_days` for non-enterprise users.

## Per-file license headers

The repository tree is split 1:1 by license, so the directory a file lives in is its license:

| Path                             | License                   | Header (first line of every source file)                      |
| -------------------------------- | ------------------------- | ------------------------------------------------------------- |
| Anything outside `langwatch/ee/` | Apache 2.0                | `// SPDX-License-Identifier: Apache-2.0`                      |
| Anything inside `langwatch/ee/`  | Enterprise (LangWatch EE) | `// SPDX-License-Identifier: LicenseRef-LangWatch-Enterprise` |

The header is a single SPDX line, no block comment, no preamble, no copyright assignment. Tooling (REUSE, GitHub linguist) reads SPDX identifiers natively, and contributors moving a file across the boundary only need to flip one line. The Enterprise identifier is a `LicenseRef-*` because LangWatch EE is not a registered SPDX license; the canonical text lives at the repo root in `LICENSE-EE`.

## Local dev, QA license generation

Self-hosted dogfood, QA scripts, and seed flows that need the Enterprise feature surface unlocked use a real signed license, there is no env-var bypass. See [License generator](https://github.com/langwatch/langwatch/blob/main/dev/docs/license-generator.md) for the script + programmatic API.
