ubCode for teams¶
This page is for the people who bring ubCode into an organisation: the engineer who evaluates it, the team lead who rolls it out, the administrator who runs it in CI or on machines without Internet access, and the person who buys it.
Licensing in brief¶
ubCode has two licensing modes, and no feature tiers: an active license of either mode unlocks every feature.
Open source — a project whose Git repositories are publicly reachable is detected automatically and needs no key; the license terms say which projects qualify.
Commercial — a private project uses a license key, or an offline license file. CI runners use a systems license, which is not tied to a person.
Without a license, the features still work on small projects, within limits, and some commands need a license whatever the project’s size. What works without a license lists them all, command by command, for the CLI, the editor and the MCP server.
Use it at work. ubCode is free for open-source projects, and a private project needs a commercial license. Request a free enterprise trial to evaluate it on your own private project.
CI and machines without Internet access¶
The same recipe covers a CI runner and an air-gapped machine:
Install the
ubcCLI, a standalone binary (see ubc CLI).License it with a systems license, passed to the runner in the
UBCODE_LICENSE_KEYenvironment variable (see the license configuration for the other variables).If the machine cannot reach the license server, ask us for an offline license file, which needs no network access, or reach the server through a proxy (see Proxies).
Keep indexing off the network: set
offline = trueunder [intersphinx] and under [needs.remote], and use local inventories andneeds.jsonfiles.If you trace C or C++ with the libclang engine of codelinks, provide libclang yourself, or point its one-time download at an internal mirror.
Gate pull requests with
ubc check, as Using ubc in CI/CD shows.
ubc build linkcheck is the one command whose whole purpose is the network:
leave it out of an offline pipeline.
Proxies¶
License checks use the system’s proxy settings,
or a proxy set in ubcode.toml or in the UBCODE_LICENSE_HTTPS_PROXY environment variable;
Proxies has the details and the supported proxy types.
The proxy in ubcode.toml and UBCODE_LICENSE_HTTPS_PROXY apply to the license server only.
Every other request ubCode makes in the table below,
the open-source check included,
uses the proxy named in the standard ALL_PROXY, HTTPS_PROXY or HTTP_PROXY environment variables,
and honours NO_PROXY.
Network use and data¶
ubCode sends no telemetry.
These are the network requests ubCode makes, and how to avoid each one.
The VS Code extension runs the same ubc engine, so the list applies to it too,
and it adds the one download in the last row;
a preview may also display remote images that your own documents or report templates link to.
Request |
When |
What is sent |
To avoid it |
|---|---|---|---|
License check, to the license server ( |
A license key is configured; the result is cached |
The license key and one machine code: a one-way hash of the configured user e-mail, computed on your machine; a fixed value for a systems license; or, for a license bound to a machine, a hash of the machine’s identifier |
Use an offline license file |
Open-source check, to each Git remote on a supported public host |
No commercial license is active |
An unauthenticated |
Configure a commercial license, which is tried first |
Intersphinx inventories ( |
The project configures [intersphinx] projects |
A |
|
Remote |
The project imports needs from a URL (external needs or |
A |
[needs.remote] |
External links |
|
A request to each external link in the documentation |
Do not run it |
Documentation grounding: the public ubCode and Sphinx-Needs documentation |
The MCP tools |
|
Do not use those tools |
The libclang library, from PyPI or your configured index |
The libclang engine of codelinks parses C or C++ and finds no libclang |
A |
Set |
The Claude Code agent adapter ( |
Claude Code is the agent selected in VS Code, for the Pharaoh Agent panel or for Run Quality Analysis |
|
Select another agent |
Mermaid diagrams in ubc build pdf are drawn by a browser on your machine
with every network request blocked.
AI tools you connect are separate programs:
the runner that ubc agent run starts,
the agents the Pharaoh panels in VS Code drive,
and the model behind Pharaoh’s chat entry point.
Run Quality Analysis in VS Code sends the content of the needs it scores, and of the needs they link to,
to the language model you selected (GitHub Copilot by default) or to the agent you configured.
What these tools send on, and where, is governed by them and their providers.
Support¶
Start with Troubleshooting.
Report an issue on the public issue tracker, where we also welcome feedback.
If you have no GitHub account, write to support.