01 Where the code lives
Nobody gets a copy.
The repository never leaves your cloud. No clone, no VDI, nothing on the contractor's machine.
When the engagement ends, there is nothing to collect and nothing to leak through a vulnerable package on a laptop you don't manage.
Occlude runs in your cloud: a Helm chart into your Kubernetes, or hosted by us, single-tenant, for a trial. Each session gets its own isolated workspace, provisioned by Occlude, with outbound traffic denied by default. The contractor's editor and the build run inside it.
02 The build
The build still passes.
Files a person cannot see are still there for the compiler, the test runner and the dev server. Code that is Occluded compiles, tests run, the app boots, in a real IDE at laptop speed.
Every other way to keep a file out of sight breaks the build to do it.
03 Four states
Every file is in one of four states.
Visible
Read and write.
Read-only
Read, not write.
Occluded
Exists for the build. Absent to the person. The signature resolves; the body does not.
Absent
Not in the runtime at all. Credentials and data seeds live here. A task that needs one is held for a named approver.
Each person sees only what their task needs.
A contractor on the dashboard ticket sees the dashboard, not the billing engine. An agent scoped to src/web cannot read infra/.
And every file they touched, and every door they tried, is on the record.
| profile | src/web | src/components | src/lib/billing | infra/secrets |
|---|---|---|---|---|
| Frontend contractor | Visible | Visible | Occluded | Absent |
| Agent on PAY-2210 | Visible | Read-only | Occluded | Absent |
| Staff engineer | Visible | Visible | Visible | Absent |
Every read and every refused attempt goes on the session record.
Anything not explicitly Visible or Read-only resolves to Occluded. Nothing is visible by omission.
04 How it fits together
A view between the repository and the person.
- 01Your cloudThe whole repository, every file present. It never leaves your cloud.
- 02The viewMade per session, from the task. The build sees every file; the person sees only what passes through.
- 03What the person seesVisible files whole, Read-only ones they cannot change. The same view through every door the session opens.
- 04The ledgerEvery read and every refused attempt, on the record.
05 What teams do today
The five things teams do today.
| Option | What it costs you |
|---|---|
| NDA and full access | What almost everyone does. Contractual, not technical: you find out what they saw after they've seen it, and only if they tell you. |
| VDI and cloud development environments | Codespaces, Coder, Citrix Secure Developer Spaces, WorkSpaces. The code stays home, and that is the whole control: everyone inside the workspace sees every file in the repository. |
| Split the repository | Free, recommended by GitHub, GitLab and Microsoft, and it fails on monorepos and shared types. The mock drifts forever. |
| Perforce protections | Excludes the file, and its own manual says the sync breaks. Perforce controls what syncs. Occlude controls what runs. |
| Ship binaries | Works for a stable library behind a fixed interface. Stale the moment the protected code changes. Occlude is binary delivery with a live build. |
Most teams pick the first. None of the five keep the build green and the code out of sight at the same time.
06 Observation Mode
Watch for a week, decide after.
Observation Mode is a read-only GitHub app plus build telemetry. For a week it watches, then shows you which files your build, your tests and your last twelve tickets actually touched. Nothing is enforced. Nothing changes for your engineers. Removable in one click.
From that report, a contractor profile is one click. Nobody writes a path rule.
07 Before you book
Questions, hardest first.
Can't the contractor just dump the compiler's memory?
Not directly, though until the hardened runtime ships the claim is compartmented, not exfiltration-proof, and we put that in writing. The compiler runs as a different user on the build's side: the contractor's processes cannot attach a debugger to it or open its memory. Two routes remain. A kernel bug could cross that line on a standard container, which is why the hardened runtime is designed for gVisor, a user-space kernel with far less to attack. And a test the contractor writes runs on the build's side, so its output is sanitised and the attempt is on the record. Credentials and data seeds are never in that memory at all: they are Absent.
Perforce has done this for thirty years.
It has, and its own manual says what happens: exclude the read and the sync breaks. Perforce controls what syncs. Occlude controls what runs.
Isn't this an agent gateway?
No. Gateways decide whether an agent may call a tool. Occlude decides what exists on disk when it does. And when the outsider is a human with an editor and no agent, a gateway has nothing to intercept.
We already use Codespaces or Coder. Isn't that this?
They keep the code off the laptop, and so does Occlude. Inside the workspace they stop: a Codespace token is scoped to the whole repository, so everyone who can open one can read every file. Occlude puts the four states inside the workspace. In one session the contractor sees the dashboard and the compiler sees the billing engine, and the ledger records which was which.
Where does it run, and what do I operate?
In your cloud. You install one Helm chart and connect your source host and your SSO. Occlude starts an isolated workspace per session and closes it when the grant ends. You operate nothing per contractor. For a trial, and for Observation Mode, we host the same thing single-tenant.
Who is Occlude not for?
Teams whose repositories already match who may see what, or whose codebase is small enough that splitting it is cheap: repository permissions do the job. And anyone who needs exfiltration-proof isolation today, before the hardened runtime ships. Regulated and self-hosted teams are who it is built for, because it installs in your cloud.
Do my developers have to change anything?
No. Your repo stays on GitHub, CI stays, your engineers keep their editors. Occlude is a door for outsiders and agents.
What does the contractor's experience feel like?
A normal IDE. The browser workspace now; their own VS Code over SSH is the next door. Autocomplete works across modules they cannot read. If it felt like a remote desktop we would have failed.
What do I get at audit time?
One export: the profile that person ran under, every file they touched, every refusal and which rule refused it.
Does it work with AI agents?
Agents run under the same boundary. The door for Claude Code, Codex, Cursor and CI is MCP, and it is next after the human door. Our published benchmark on agent performance under occlusion is in progress.
The code stays home.
Talk to the founder.
Twenty minutes. Bring your last contractor engagement and we'll walk through what Occlude would have shown you.