Where Your Code Goes, and Where It Doesn't.

Nebula Swarm is a set of plain-text files and small scripts that we install into your repository. It runs inside the AI coding tool you already use, on your model-provider account, against your Git host, Jira and Confluence. Your code never comes to Sidera Labs. A person on your team merges every change into main.

  • No path to us No Nebula Swarm script uploads your source code to Sidera Labs. There is no Sidera Labs server in the loop.
  • Your accounts Model calls, Git pushes and Jira updates use credentials you issue and can revoke.
  • Humans merge Agents open pull requests. A person on your team decides what reaches main.

Every Connection Nebula Swarm Can Make.

Solid lines are the working flows: they run on your machine and land in your accounts. Dashed lines are optional and stay off until someone sets them up. The red line is the one people ask about. It doesn't exist.

Scroll sideways to see the whole diagram.

Nebula Swarm data-flow diagram The engineer's machine running the AI coding tool sits inside the client's environment. It exchanges data with the client's model provider (or a model the client hosts), Jira and Confluence, Git host, the Nebula Swarm files in the repo, and an optional self-hosted knowledge graph. Outside the client's accounts, it can make a read-only check on GitHub for a newer Nebula Swarm version, and, only if a collector URL is configured, send telemetry and feedback. There is no path from the client's code to Sidera Labs. Your environment and your accounts Outside your accounts Your model provider Called by your AI tool, under your account and your terms, or a model you host Your Jira + Confluence Jira: read and update tickets Confluence: read-only Engineer's machine AI coding tool (Claude Code) Nebula Swarm agents + scripts each task kept separate Nebula Swarm files in your repo lessons and project knowledge plain text, versioned with you Knowledge graph optional · off by default [confirm] you host it Your Git host branches and pull requests a person on your team merges Nebula Swarm releases on GitHub answers version checks Sidera Labs No hosted service. Receives telemetry or feedback only if a collector URL is set. [confirm] we ship it unset prompts, file contents, command output REST API, your token local read / write push branches, open pull requests add knowledge, ask update check: asks for a newer version, sends nothing from your repo telemetry: off unless a URL is set feedback: only text you choose to send your code → Sidera Labs no such path

Your Model Choice Decides Where Model Traffic Goes.

Nebula Swarm hands each task to your AI coding tool and passes it no model, endpoint or API key. The tool's own settings decide where prompts, file contents and command output go.

Claude Code, Codex, Gemini CLI or Copilot.

By default, each tool sends its model traffic to its own provider (Anthropic, OpenAI, Google or GitHub), under your account and your agreement with that provider.

DeepSeek.

Point one of those tools at DeepSeek, and model traffic goes to DeepSeek's API, under your DeepSeek account and its terms. You set that up in the tool, not in Nebula Swarm.

A local LLM.

Point a tool at a model you host, and model traffic stays on your machine or your own network. The tool's own product telemetry is still set in the tool.

Whichever you choose, Nebula Swarm's own scripts call no model API, and every other row in the table below stays the same.

What Leaves the Machine, Where It Goes, and How to Turn It Off.

We built this list by reading every Nebula Swarm script that makes a network call. Each row says where data goes, what kind of data it is and how to turn it off. Script-level detail is available under NDA with your security questionnaire.

FlowWhat is sentDestinationDefaultHow to disable
Model calls Prompts, plus whatever files and command output the AI tool reads during a task. This is how any AI coding tool works; Nebula Swarm adds no extra channel. Your model provider, through your AI coding tool, on your account and data terms. On Controlled in your AI tool and provider account. You choose the provider and its retention settings.
Git host Commits on task branches, and pull requests. Your Git host, as the engineer or bot account you authorize. On Core to the work. Limit it with branch protection and scoped credentials (see Controls).
Jira Reads tickets in the projects you name. Creates tickets, edits descriptions, moves status, and adds comments and issue links. Your Jira, with your API token. Opt-in at install Off unless you configure your Jira connection. Without it, Nebula Swarm tracks tasks in your repo.
Confluence Read-only. Searches and reads pages in the spaces you choose. Nebula Swarm never writes to Confluence. Your Confluence, with your token. Off until configured Off unless you configure your Confluence connection.
Knowledge graph Adding knowledge: text from your docs and config files, and AI-written summaries of your source code. Gitignored files are skipped. Asking: the question text. A LightRAG knowledge-graph server that you host. [confirm] who hosts it for clients Off Off unless you configure it. With no server set, Nebula Swarm skips it.
Update check Decide on this A request to check for a newer Nebula Swarm version; nothing from your repo is sent. GitHub sees the engineer's GitHub identity and IP address. An upgrade runs only after an explicit yes. GitHub, where Nebula Swarm releases are published. [confirm] final release location On Runs only when a person is working interactively, never in unattended runs. There's no off switch yet. [confirm] add one Until then, block the check at your network.
Telemetry Decide on this Event name (install, upgrade, task complete), timestamp, OS, CPU type, shell, Nebula Swarm version, repo folder name, Git remote URL, current branch, whether Jira is on, and task ID, run ID, PR number and agent type. No titles, code, commit messages or names. A collector URL, if one is set in SIDERA_LABS_TELEMETRY_URL or written by the installer. The shipped default is empty. Off (no URL) SIDERA_LABS_TELEMETRY=0, or leave the URL unset. [confirm] we ship with no collector URL
Feedback Only text a person writes and chooses to send with /sidera-feedback, plus repo folder name, Git remote URL, branch and timestamp. A collector URL in SIDERA_LABS_FEEDBACK_URL. Off (no URL) Leave SIDERA_LABS_FEEDBACK_URL unset.
Install and upgrade Downloads Nebula Swarm from GitHub. Optionally installs the GitHub and Jira command-line tools from their official sources. GitHub and the tools' official release pages. Install time only CLI installs are opt-in. You can install from a reviewed local copy instead.
Dependencies Package installs when a task starts in its own copy of the repo (for example npm or pip). Whatever package registry your project already uses. On Point your package manager at your internal mirror. Nebula Swarm uses your project's settings.

Not in this table: your AI coding tool's own product telemetry. That belongs to the tool vendor and is controlled in the tool's settings, not by Nebula Swarm. Rows marked "Decide on this" are the ones we'd like your team to decide on.

One Thing We're Telling You Up Front.

The update check is on by default. It sends nothing from your repository, but it does contact GitHub from the engineer's machine. If your policy blocks that, we'll turn it off at install. [confirm]

What Stops an Agent From Shipping Something on Its Own.

Some of these controls are in Nebula Swarm's code. The rest are your existing settings, which we help you configure. We show which is which.

A person merges every change into main.

A task ends with an open pull request and stops. A person on your team reviews and merges it.

Overnight work lands as one pull request to main for a person to review.

Built into Nebula Swarm, and enforced by your branch protection.

No direct pushes to main.

Nebula Swarm's rules forbid it, and agents push only task branches. Rules written for an AI aren't a security boundary, so we ask you to protect main: require a pull request and at least one human approval.

Enforced by your Git host.

Each task works in isolation.

Each task runs on its own branch, in its own copy of the repo, with its own dependencies. A failed or abandoned task can't touch another task's files or your main checkout.

Built into Nebula Swarm.

An independent reviewer.

A separate reviewer agent, with its own instructions and no memory of writing the code, reviews every change and returns approved or rejected. Rejections go back for fixes before a human sees the pull request. The reviewer uses the same model provider, so it supports human review rather than replacing it.

Built into Nebula Swarm.

Unattended runs don't stop to ask.

Overnight runs work with no one at the keyboard, so the AI tool runs commands without asking first. We recommend running them on a dedicated machine or container that holds only the scoped credentials below. [confirm] our standard setup

Your setup, which we help you configure.

Secrets stay out of Git.

Each task runs with your existing credentials in an isolated copy of the repo, and credentials stay in files Git ignores. The knowledge graph skips gitignored files. We recommend a secret scanner in CI and scoped credentials over personal ones.

Built into Nebula Swarm, plus secret scanning in your CI.

The Same Gates That Keep the Quality High.

The independent reviewer and the human merge aren't extra settings. They're how Nebula Swarm works: an adversarial review checks every plan before any code and every pull request before it merges, and a person on your team approves the plan and merges into main. The checks that stop an agent shipping on its own are the same ones that catch its mistakes before they merge.

Permissions Nebula Swarm Needs.

SystemWhat Nebula Swarm does thereAccess to grant
Git hostPush task branches and open pull requests. In overnight runs, the night's work lands as one pull request for a person to review.Write to the repo and pull requests. No admin and no bypass of main's protection. [confirm] fine-grained token scopes for your host
JiraSearch, create, edit, transition, comment and link tickets in the projects you name.A dedicated account limited to those projects. Jira tokens carry the account's full permissions, so scope the account itself.
ConfluenceRead pages.View access to the spaces you choose. Nebula Swarm never writes.
Model providerEvery model call, through your AI coding tool.Your existing seats or API account. We don't need keys of our own.
Knowledge graphOptional. Adds project knowledge and asks it questions.An API key for the server, if you enable it.

What We Access, and What We Leave With: Nothing.

We work in your accounts, on your machines, with access you grant and can take back at any time. There's no Sidera Labs platform to sign up for and no copy of your code on our side.

  • During: we use the accounts you provision for us: Git, Jira, Confluence and AI tool seats. [confirm] how engagement access is set up
  • We don't take: source code, tickets, documents, prompts or model output. None of it is sent to us by Nebula Swarm.
  • We don't hold: your credentials. They stay on your machines and in your secret store.
  • At the end: you remove our accounts. Nebula Swarm's files stay in your repo and belong to you.
  • Telemetry: not pointed at us unless you agree in writing. [confirm]

The Paperwork.

SOC 2

[status] Because your code and data stay in your systems, your existing controls cover them.

DPA

Available on request. [confirm]

Model data terms

Your agreement with your model provider governs prompts and code. Nebula Swarm adds no other AI vendor.

Subprocessors

None that receive your code. [confirm] list for business data

Send Us Your Security Questionnaire.

We'll fill it in with our engineers, not a sales team. Under NDA, we'll point to the exact script behind each answer, or walk your team through every file that makes a network call.