Developer data protection
Can you send client code to AI?
Use client source code with AI only within the permission granted by the governing contracts and the client’s authorised decisions. An NDA alone does not identify every permitted recipient, service or use. Review the specific terms, data path and decision authority; where permission is unclear, prepare an independently written synthetic example instead of disclosing the client material.
For Software agencies, counsel and engineering leads
Name the code, recipient, purpose and authorised decision-maker.
A worked fictional permission decision plus an independently written toy example. No actual client consent or legal conclusion is supplied.01
Start with the client’s rights and agreements
A developer’s access to a client repository is not automatically permission to disclose its contents to an AI provider. Identify the governing agreements, confidentiality definition, permitted purposes, subcontracting or service-provider provisions, and any explicit AI restrictions relevant to the work.
This is a contract-specific review, not a universal interpretation of NDAs. Ask the responsible legal or commercial owner to resolve ambiguous terms. Employer-owned code classification belongs in the separate guide; here the deciding question is what a third-party client has authorised and who may speak for that client.
02
Describe the proposed disclosure concretely
Record the actual code or derived information the task would share, the AI service and account, additional recipients such as gateways or connected tools, and the intended purpose. Include automatically supplied repository context where relevant. “We use an AI tool” is too vague for a meaningful permission decision.
Provider no-training commitments, encryption and business-plan labels do not rewrite the client’s contract. They can be evidence the client considers, but they do not themselves supply consent. Keep the client permission decision separate from the security team’s assessment of a supported technical control.
04
Prepare a clean synthetic alternative
If the question can be answered without client code, write a minimal example independently using invented names, values and data. Preserve the general programming issue while leaving out client-specific algorithms, structures, comments and business rules. Renaming identifiers in the original code may leave its confidential substance intact.
The download contains a toy quantity-check function and fictional input/output cases. It was written for this guide and is not derived from a client repository. Use it to understand the clean-example approach, not as proof that an adaptation of your own client’s code is outside contractual restrictions.
05
Keep permission and later changes visible
Record the decision’s scope, evidence reference and review date. Reopen it when the service, account, recipients, purpose or material changes. If permission is refused or remains unresolved, keep the client code out of the AI workflow and use an approved alternative.
Official USPTO guidance illustrates why sending confidential client information to third-party AI systems can raise professional obligations and cross-border concerns. It is specific nonbinding guidance for USPTO practice, not a rule that determines every software NDA. Your contract and applicable requirements remain the basis for the actual decision.
Source context: USPTO: Guidance on use of AI-based tools
Put it into practice
Client-code AI permission review
Record the proposed material, recipients, purpose and authorised client decision, with a clean synthetic alternative.
A worked fictional permission decision plus an independently written toy example. No actual client consent or legal conclusion is supplied.
Material
What client information would leave?
Include derived and automatic context
Recipient and purpose
Which service/account and task are proposed?
Follow the relevant data path
Authority
Who can decide under the client’s process?
This worksheet does not grant permission
| Fictional case | Scope or decision | Meaning |
|---|---|---|
| Requested material | A function from SYNTHETIC_CLIENT_PORTAL | Original client code remains withheld |
| Proposed recipient | SYNTHETIC_AI_SERVICE and model provider | Actual recipients would need review |
| Authority | Fictional client contract owner | Project request alone is insufficient in this exercise |
| Illustrative outcome | Use the independent toy example only | No real client consent is supplied |
Work through your review
Use the checks to organise the evidence you need. Your selections stay in this tab.
0 of 3 reviewed
Example files for this task
Keep the source material and the instructions together. You can also download the complete worksheet or matrix as CSV.
README.mdInspect
# Client-code permission review
This pack is a review aid, not an NDA, legal opinion, consent or contract amendment. It sends no message and makes no API call. Do not put actual client source code or credentials into the training files.
Use permission-review.md with the responsible legal/commercial owner and the client’s authorised process. Record exact scope and evidence in your approved system. The toy function and cases were written independently for this guide and contain no client information. They illustrate a clean reproduction, not a guarantee that modified client code is free of restrictions.
## Guide and sources
Canonical guide: https://aona.ai/resources/guides/client-source-code-ai-nda/
Source review: 2026-09-21
- USPTO: Guidance on use of AI-based tools: https://www.govinfo.gov/content/pkg/FR-2024-04-11/html/2024-07629.htm
fictional-permission-case.md is a completed teaching example: the fictional authority withholds original client code and allows only the independent toy reproduction within its stated example scope. It is separate from the blank actual-client review and grants no real permission.
Download README.mdpermission-review.mdInspect
# Proposed client-code disclosure
Client/reference: ____________________
Governing agreement and relevant review owner: ____________________
Material proposed, including derived/automatic context: ____________________
Service, account and additional recipients: ____________________
Purpose and expected benefit: ____________________
Provider handling evidence for the client to consider: ____________________
Who is authorised to decide under the client process: ____________________
Decision/evidence reference: NOT OBTAINED
Limits and recheck triggers: ____________________
This file grants no permission and does not amend an agreement.
Download permission-review.mdclean-example.pyInspect
# Independently written synthetic example. No I/O or client code.
def require_quantity(payload):
if "quantity" not in payload:
raise ValueError("quantity is required")
return payload["quantity"]
Download clean-example.pysynthetic-cases.jsonInspect
{
"notice": "INDEPENDENT SYNTHETIC EXAMPLES ONLY",
"cases": [
{
"input": {
"quantity": 2
},
"expected_return": 2
},
{
"input": {},
"expected_exception": "ValueError",
"expected_message": "quantity is required"
}
],
"client_material_used": false,
"provider_calls_performed": false
}
Download synthetic-cases.jsonclean-reproduction-review.mdInspect
# Clean reproduction review
General programming question: ____________________
Independently written example: ____________________
Invented names/values and minimal structure: ____________________
Client-specific algorithm, comments or business rules excluded: ____________________
Does any derived information still require permission? ____________________
Reviewer and decision: NOT YET REVIEWED
A renamed copy is not automatically an independent example.
Download clean-reproduction-review.mdfictional-permission-case.mdInspect
# Worked fictional client-permission decision
SYNTHETIC SCENARIO. This is not consent, legal advice or a contract amendment.
Request: a software agency wants an AI explanation of a quantity-check failure in SYNTHETIC_CLIENT_PORTAL.
Material proposed: the original fictional client function and nearby context. No actual client function is included in this pack.
Recipient path: SYNTHETIC_AI_SERVICE in SYNTHETIC_WORKSPACE, then a fictional model provider. These are labels, not real services.
Authority in this exercise: only the fictional client contract owner may decide disclosure scope; the project manager cannot extend it.
Decision: original client code is not authorised for this use. Use only clean-example.py, independently written for the guide, with synthetic-cases.json.
Limits: no client names, algorithms, comments, surrounding files or production values may be added under this illustrative decision.
Recheck: any change to material, purpose, account or recipients requires a new authorised review.
Outcome: a useful general programming question can proceed with the independent synthetic example while the client-code request stays unresolved.
Download fictional-permission-case.mdBefore you proceed
Keep these distinctions clear
- Treating provider privacy terms as client consent
- The client’s permission and the provider’s handling commitments are different decisions.
- Renaming confidential logic
- Anonymised identifiers may leave the underlying client-specific substance unchanged.
Apply it to employee AI use
Bring your actual data path.
Aona can help evaluate supported employee prompt/file protection policies after the permitted workflow is defined.
Aona does not interpret an NDA, authorise client disclosure or guarantee compliance with a contract. No technical control supplies missing permission.
Bring a permitted independent synthetic example to a scoped endpoint demonstration; keep client approval evidence with the responsible owner.
Review your use caseFAQ
Questions for this decision
Does an NDA automatically ban every AI-assisted task?
Does a no-training business plan make client-code sharing permitted?
Is changing variable names enough to remove confidentiality concerns?
Can the supplied worksheet serve as client consent?
Evidence behind the guide
Sources and scope
Prepared by Aona. Sources checked 2026-09-21. The cited material supports the specific points below; it does not certify a product or your use case.
- USPTO: Guidance on use of AI-based tools
Nonbinding, USPTO-specific guidance discussing confidential client information shared with third-party AI; not a general interpretation of software NDAs.
regulator · checked 2026-09-21