Most coding agents (Cline, Factory Droid, OpenCode, Hermes, Continue, Aider…) talk to a configurable OpenAI-compatible base URL. That’s all Tinfoil needs to slot in. However, to ensure each connection is attested and the privacy is verified by your client, you need to run a Tinfoil proxy. In this tutorial we explain how to set up a local proxy that automatically verifies the attestation for all inference requests issued to Tinfoil.Documentation Index
Fetch the complete documentation index at: https://docs.tinfoil.sh/llms.txt
Use this file to discover all available pages before exploring further.
The recommended setup
Install the local proxy
Install the Tinfoil Proxy menu-bar app or the standalone CLI binary. Either way you get the same
http://127.0.0.1:3301/v1 endpoint with identical attestation; pick the menu-bar app for desktop use and the CLI for scripts, CI, or headless servers.Point the agent at Tinfoil
Configure your coding agent with:
| Setting | Value |
|---|---|
| Base URL | http://127.0.0.1:3301/v1 |
| API key | Your Tinfoil API key from the Tinfoil Dashboard |
| Model | A model ID from the chat model catalog, e.g. kimi-k2-6 |
The general case
If your tool or harness supports OpenAI compatible inference APIs and exposes the ability to set a base URL, you should be able to configure it to work with the values in the table above.Verification Note: OpenAI-compatible clients don’t perform connection-time attestation themselves. With the Tinfoil Proxy menu-bar app or the CLI proxy binary in the loop, every request gets a verified connection to a Tinfoil secure enclave. Without either, your traffic still benefits from audit-time verification through Tinfoil’s attestation transparency log.
However, we strongly recommend using the proxy.
Cline
Cline is a VS Code AI assistant for code completions, explanations, file edits, and running commands. See Cline’s OpenAI Compatible provider docs for the canonical setup.Install the extension
Open VS Code, search for Cline in the Extensions sidebar, install it, and reload when prompted.
Pick the OpenAI Compatible provider
Click the Cline icon in the Activity Bar, open Settings (⚙), and choose OpenAI Compatible as the API Provider.
Plug in Tinfoil
| Setting | Value |
|---|---|
| Base URL | http://127.0.0.1:3301/v1 |
| API Key | Your Tinfoil API key |
| Model ID | A model ID from the chat model catalog, e.g. kimi-k2-6 |
Privacy
Cline’s privacy notice covers BYOK:If you use your own API keys to access the AI model, you provide this information directly to the third-party provider, and we do not collect it.With Tinfoil configured as your OpenAI-Compatible provider, prompts and completions flow from the VS Code extension to the local proxy and on to the enclave. Cline’s website uses analytics and marketing cookies, which is separate from the extension’s inference path.
Factory Droid
Factory Droid is a terminal-native coding agent that supports custom OpenAI-compatible providers through its Bring Your Own Key configuration.Install the Droid CLI
Follow the Droid CLI quickstart to install
droid and sign in.Add Tinfoil as a custom model
Add a Paste your Tinfoil API key directly into the
customModels entry to ~/.factory/settings.json:apiKey field. The generic-chat-completion-api provider speaks OpenAI Chat Completions, which is what tinfoil-proxy exposes on :3301/v1. Duplicate the block to add more models from the chat model catalog — set model to the model ID (e.g. gemma4-31b, deepseek-v4-pro) and pick a friendly displayName.Privacy
With a custom model pointing at the local Tinfoil proxy, Droid sends LLM traffic from your machine to the Tinfoil enclave. Factory’s Privacy, Data Flows & Governance docs cover customer-configured endpoints:LLM traffic is handled entirely by your providers and gateways; Factory does not see it.The BYOK Overview adds:
Your API keys remain local and are not uploaded to Factory servers.The Droid CLI still talks to Factory’s cloud for orchestration, and may emit OpenTelemetry signals unless you point them at your own collector or disable analytics.
OpenCode
OpenCode is a terminal-based coding agent that talks to any provider exposed via the AI SDK. It plugs into Tinfoil through the@ai-sdk/openai-compatible adapter — see OpenCode’s Providers and Config docs for the full schema.
Add Tinfoil as a custom provider in opencode.json (project root or ~/.config/opencode/opencode.json):
apiKey field, then pick the Tinfoil provider in OpenCode’s /models selector and start coding.
Privacy
OpenCode is open-source and runs locally on your machine. Its Enterprise docs state:OpenCode does not store your code or context data. All processing happens locally or through direct API calls to your AI provider.With the Tinfoil provider configured, those direct calls go to the local proxy and into the enclave. The exception OpenCode flags is the optional
/share feature, which uploads the active conversation to opencode.ai’s CDN — leave it off (or set "share": "disabled" in opencode.json) to keep everything on-device.
Hermes Agent
Hermes Agent is a self-improving AI assistant from Nous Research. See Hermes’hermes model reference for the full provider wizard.
Install Hermes, then run the interactive model picker from your terminal (not from inside a Hermes chat — /model can only switch between providers you’ve already configured):
| Setting | Value |
|---|---|
| Base URL | http://127.0.0.1:3301/v1 |
| API key | Your Tinfoil API key from the Tinfoil Dashboard |
| Model name | A model ID like kimi-k2-6 or gemma4-31b (see the chat model catalog) |
Privacy
Hermes is MIT-licensed and runs entirely on your machine. The Hermes FAQ states:
API calls go only to the LLM provider you configure (e.g., OpenRouter, your local Ollama instance). Hermes Agent does not collect telemetry, usage data, or analytics. Your conversations, memory, and skills are stored locally in ~/.hermes/.
With the custom endpoint pointed at the Tinfoil proxy, requests go from Hermes to the local proxy and into the enclave.
