Versioned document. This page is the complete 2026-08-26 version, and its bytes will not change. Your choice to enable managed inference is recorded against this exact version. If we publish a new one, managed inference stays off until you read it and choose again.
1. What changes when you switch this on
Skyflo normally runs agents on your Mac. Missions, code, files, and results stay on that machine, and any model you call with your own API key is called directly from it, without Skyflo in the path.
Managed inference is different: your request leaves your Mac, crosses Skyflo’s infrastructure, and is sent by us to a model provider we select and pay. That is the whole trade. You get a model without holding a provider account, and in exchange the content of those requests passes through us.
Nothing else about Skyflo changes. Local execution and your own API keys keep working exactly as before, including when your managed allowance runs out.
2. What is sent
A managed request contains whatever your agent needs the model to see. Depending on the mission, that can include:
- your prompts, and the instructions Skyflo gives the agent;
- the earlier turns of the same mission, replayed in full, including previous messages, the tool calls the model made, the results those tools returned, and the model’s own encrypted reasoning from earlier turns;
- code and repository content a tool read on your machine: file contents, diffs, paths, and command output;
- other tool and file context, including terminal output, logs, and output from systems you have connected;
- the schemas of the tools the agent may call; and
- the model’s generated response, which comes back the same way.
Skyflo Desktop scans a request for secrets and redacts what it recognises before sending. It reduces the risk; it does not eliminate it. Treat anything an agent can read as something it may send.
3. Why it is sent
To answer your request. A language model has no memory of your mission between turns, so each turn has to carry the conversation with it. That is why the earlier turns are replayed rather than referenced: it is the only way the model can continue work it started, and it is why a long mission sends more than a short one.
The content is used to run your request and for nothing else. Skyflo does not use it to train models, does not use it for advertising, and does not sell it.
4. Why the same request is sent twice
Before running a request we ask the provider to count exactly how many input tokens it contains. That count decides how much of your allowance is reserved, and we ask rather than estimate because a number we guessed would be a limit we chose for you.
The counting call sends the same request body to the provider, returns a number, and generates nothing. If the request is then admitted, the same body is sent a second time to be run. So a single managed turn may transmit the request body to the provider twice: once to be counted, once to be answered.
5. Our model provider
Skyflo-managed inference currently runs on OpenAI models. OpenAI acts as our subprocessor here, engaged and paid by us. If you use OpenAI with your own API key, that is a separate relationship of yours and is not covered by this document.
These are things we set on every managed request, and you can hold us to them:
- Server-side storage is switched off. We do not ask the provider to keep the request or the response as something we could read back later. Your machine holds the only copy of the conversation.
- No provider-hosted tools. We send only tools that run on your own machine. Our gateway refuses any request that declares a provider-side tool, so no code interpreter, file search, image generation, remote tool server, or web search runs on your content inside the provider.
- No file uploads, embeddings, or conversation records are created at the provider from your content.
- No name and no email address. The two identifiers we send are keyed hashes we compute. They let the provider recognise repeat traffic from one account without learning whose it is.
- Some temporary caching happens. We send a cache key so repeated parts of a request are served efficiently, which means the provider may hold parts of it briefly. One organisation’s cache is never shared with another’s.
These are the provider’s own published positions. We state them as theirs because the provider does not expose them to us as something we can read and verify:
- OpenAI states that data submitted through its API is not used to train its models by default. We have not opted in to anything that would change that.
- OpenAI states that API data may be retained for a limited period for abuse monitoring, and may be reviewed by authorised staff if its systems flag a request.
- We do not have a Zero Data Retention arrangement, and we are not claiming one. If that changes, it will change in a new version of this document.
- We do not currently restrict managed inference to a processing region, so a request may be processed outside the country where you live.
6. What Skyflo keeps
We do not keep the content. No prompt, no code, no file content, no tool output, no reasoning, and no generated response is written to Skyflo’s servers. It is held in memory for the length of the request and then it is gone. We could not produce a copy of one of your managed prompts if you asked, because we do not have one.
We do keep a record of each request so we can meter it, bill it correctly, and prove it was run as priced: identifiers for your account, device, mission and attempt; which model ran it; digests of the request, which cannot be reversed into its content; token counts and sizes; the capacity reserved and cost settled; provider response identifiers; timings; and whether it succeeded. The full list is in section 5.3 of the Privacy Policy.
8. Turning it off
You can switch managed inference off at any time in the account console. It takes effect on the next request. Anything already sent has already been sent, and switching off does not recall it or delete it from the provider.
Turning it off does not cancel your plan, and it does not affect local execution or your own API keys.