All posts

How to Let AI Work on Client Code Without Breaching the NDA

Contractors, AI agents, and support teams need answers about a client's product under NDA, not its code. How to split the two flows.

You give third parties the answers about the product, not access to the source. One MCP server per project, read-only and revocable at any time, answers questions derived from the code without that code ever leaving the client's repository — so contractors, the client's own AI agents, and support teams get reliable product knowledge without a single repository credential changing hands.

The confusion comes from an equation people treat as indivisible: for an AI to answer questions about a product, it must have access to that product's code. When the code belongs to a client, under NDA, sometimes with a no-AI clause in the contract, the equation looks like it rules out any assistant at all. It rules it out only because two unrelated things have been fused: reading the code, and having the answers the code contains.

The real blocker: repository access is all-or-nothing

On GitHub there is no role that says "may ask questions about the product, may not see the code." You grant read access, and read access is the whole source tree, the history, the secrets sitting in some old commit. There is no native middle ground between "no access" and "all the raw material."

The no-AI clause: a clause in a client contract that forbids submitting the client's code to a third-party AI service. It protects an asset, not a sensitivity; the code is often the only thing the client truly owns.

That missing granularity is the sore point for agencies and dev shops. The client wants fast delivery; it signs a strict NDA and, increasingly, a no-AI clause. The agency has offshore contractors, support agents, and project managers who all need to know how the client's product works — without being the people you hand the repository keys to.

One agency, one client, one clause: the scenario

Take the illustrative case of a studio that wins a fintech client. The contract arrives with two lines that decide everything: a standard NDA on the code, and a no-AI clause forbidding sending a single line to an outside assistant.

Week 1, a contractor on the other side of the world joins the engagement. They need to understand the billing module, but opening the whole repository to them exposes far more than they need. Week 3, the client ships a fix; its own support agent starts answering wrong about the new behavior. Week 6, the project manager spends mornings relaying questions to the two developers who actually hold the context.

Every one of these frictions has the same root. These people do not need the code: they need the answers it contains. And the only tap on offer dispenses the code or nothing.

The shift: give the answers, keep the source

DeployIt reads the real code (resynced on every push), the git history (commits and diffs), and the client's data through its own MCP servers, and it checks the code before it asserts anything. What third parties receive is not the repository: it is an access point for answers, one MCP server per project, that their agents or teams query in plain language.

The GitHub connection is read-only, revocable at any time, and each server is scoped to a single project — the fintech client's contractor sees nothing of the next client. Answers are sourced from commits and diffs, never handed back as raw code: you get "the export format gained a header row in Tuesday's deploy," not the file that implements it.

The code itself does not move. It stays in the client's repository, behind the same controlled connection. What travels out to third parties is sentences.

Ready to see what your team shipped?

"What changed on the client's side since our last delivery?"

That is the question the offshore contractor, the client's support agent, and the project manager each ask in their own words. With no queryable expert, the answer lives in the heads of the two developers who hold the context, and you have to interrupt them to get it.

Connected to the project's MCP server, the assistant answers from the diffs: what moved, when, and what the change touches. The answer is dated to the last push, not to a help-center article written the month before. The contractor gets current on their own; the client's agent stops describing a product from two days ago.

"I'll just connect the repository to Claude"

For a tooled-up developer with the credentials and the right to use them, that is true — and it is fine. But the point here is the requesters without repository credentials: the client's support agent, the contractor you do not want to give full access, the agent platform that has no GitHub account at all.

Connecting the repository to an assistant means distributing repository access to each requester. That is exactly what the NDA and the no-AI clause are trying to prevent. The difference is not cosmetic: DeployIt serves the very people who cannot — or should not — be given the keys. For the detail of what the native connector does and does not see on the history side, our guide to Claude's GitHub connector walks through it.

"But DeployIt still reads the code"

Yes, and it is an objection worth meeting head-on. The repository read genuinely exists — it runs over a read-only GitHub connection, one server per project, revocable at any time. No raw source is ever returned: the server answers, it does not copy files back.

What remains is a contractual question, not a technical one, and it belongs to the client and its counsel: a no-AI clause that forbids any AI processing of the code, including by a tool the agency operates, is read case by case. What DeployIt changes is the exposed surface — third parties receive sentences, not files. We do not claim to settle a contract for you; we shrink what there is to cover.

Frequently asked questions

Can a contractor exfiltrate code through the answers? They get answers derived from diffs, not source dumps. You do not rebuild a file from "this behavior changed on Tuesday." The connection is read-only on DeployIt's side, and the third party's access is cut with one action.

Do I need one server per client? One server per project, yes — that is the isolation. One client's data does not leak into the next engagement, and cutting access at contract end touches only that project.

Does this replace the NDA? No, it makes it enforceable. The NDA states what third parties must not see; this setup lets them get their answers without having to see it.

What it actually moves

The blocker was never "AI is forbidden." It was always "the only tap gives out the whole codebase." Split the two flows — the code on one side, behind a read-only, revocable connection; the answers on the other, for whoever needs them — and the no-AI clause stops being a wall.

The per-project MCP server is in early access / design partner program, and it is free during early access. Agencies that live against client code under NDA are the exact profile we want to build it with: join the design partner program.

Ready to see what your team shipped?

Continue reading