The two boundaries that matter
When you're working with OpenCode, there are two things worth understanding:
1. Your files stay on your machine (or GitHub in the cloud)
Everything in your working folder — your context packs, your documents, your AGENTS.md — sits on your local machine or in your GitHub repository. OpenCode knows those files are there, but it doesn't send them anywhere unless you explicitly bring them into a session.
2. What gets sent to the model is what you include in the conversation
When you ask OpenCode something, your prompt goes to the model. If you reference a file with @ or OpenCode reads a file to complete a task, that file's content goes with it. That's the extent of it — nothing else leaves your machine.
The practical implication: you control what the model sees. If you don't include a file in a session, the model never sees it.
Is it safe? Your organisation's enterprise agreement
OpenCode uses GitHub Copilot under your organisation's enterprise agreement with GitHub. This means:
- Your prompts and context are not used to train the model
- Your data is not shared with other organisations or users
- It operates within your organisation's data handling obligations
This puts it in a very different category to using a consumer AI tool like the free version of ChatGPT, where your inputs may be used for training. With OpenCode via your organisation's agreement, you have meaningful data protections in place.
What's fine to include as context
With those protections in place, the following types of content are generally appropriate to use as context:
- Internal process documents and playbooks
- Meeting transcripts (Webex exports, notes)
- Project briefs and status updates
- Org charts and team overviews
- Your own emails and written communications
- Internal strategy documents
- Jira tickets and Confluence pages (via MCP or export)
If you'd share it with a colleague on a Webex call without hesitation, it's almost certainly fine as context.
What to keep out
Even with enterprise protections, some content should stay out of your context:
- Passwords, API keys, and tokens — never paste credentials into a prompt or include them in a context file. See Handling API Keys & Tokens Safely for how to manage these properly.
- Customer PII — names, email addresses, contact details, account numbers. If you're working with customer data, anonymise or remove identifying fields before using it as context.
- Sensitive personal information about colleagues — HR matters, performance details, salary information.
- Legally privileged content — documents marked legal-in-confidence or covered by specific NDA terms — check with Legal first.
- Content explicitly marked "not for AI tools" — some vendors or partners include restrictions in their agreements. Respect those.
A quick decision framework
When you're unsure whether something is appropriate to include as context, run through these questions:
- Does it contain passwords, tokens, or credentials? → No. Use the API keys guide instead.
- Does it contain customer PII? → Anonymise first.
- Would I share this with a colleague via Webex? → If yes, it's likely fine.
- Is it under a specific legal or vendor restriction? → Check first.
- Still unsure? → Leave it out and work around it.