Patent Continuation
The faster start, with a trade-off

Running it through your own provider key

No model to download: install the app and paste your key in the model picker, under that provider's tab, and it is running in minutes, on your own account with Anthropic, OpenAI or OpenRouter, your contract, your retention settings. What you give up is where the specification goes, which is the next paragraph and is the whole of the decision.

Read this part first

On this path the specification, the parent's claims, the text of any file-history papers the model reads, and everything you ask about them go to the provider you configure. A published patent is public, but your questions and the claims drafted from it can still show a client's strategy. For that, and for an unpublished or privileged application, it is a decision only you can make for that matter, against your own professional obligations. The app does not make it for you: it names the provider before anything is sent, and the command line prints a note on every run that routes off your computer.

If you want the specification to stay on your hardware, use a local model instead: choose one for your machine.

Setting it up

Create a key

With whichever provider you already have an account with: Anthropic, OpenAI, or OpenRouter, which reaches many vendors on one key. Add credit.

Ask about zero data retention

If you want it, it is an arrangement on your own provider account, and it applies whether or not you use this app. OpenRouter offers it as an account setting. Anthropic and OpenAI arrange it with eligible accounts, and Anthropic's Fable and Mythos models are not available under it.

Know what a prompt cache keeps

Providers cache the start of a prompt so that sending it again costs less, and most prompts the app sends carry the whole specification. A cache is held after the call returns, and what is held depends on how you run the app. Where a provider lets the app choose, it asks for the shortest retention on offer. The same table closes the model guide.

How you run itWhat is kept
A model on your own computerProcessed on this computer, as long as the model server runs on it too. The specification goes only to that server, and nothing is sent to a provider.
Claude through OpenRouterAnthropic keeps no prompts or answers by default, except on its Fable and Mythos models, which it keeps for 30 days for safety monitoring. The app also asks for a prompt cache, which holds the start of each prompt, mostly the specification, in memory for up to an hour after its last use.
Claude with your own Anthropic keyNo prompt cache: the Anthropic endpoint this app uses does not support one. Otherwise as above: nothing kept by default, except on Fable and Mythos models, kept for 30 days.
OpenAI, with your own OpenAI keyThe app asks for the shortest prompt cache OpenAI offers, which depends on the model: minutes on older models, up to 24 hours on gpt-5.5, and 30 minutes after last use on gpt-5.6 and later. OpenAI says cached data may be kept encrypted in GPU-local storage.
OpenAI models through OpenRouterOpenRouter does not pass the cache setting on, so OpenAI's own default for the model applies.
Other models through OpenRouterThe model runs on whichever host OpenRouter chooses, and that host's policy decides what it keeps. One question can reach more than one host: in a test, four calls about one specification went to four different companies.

This is what running the app causes a provider to keep. Each provider also has its own terms on logging, abuse monitoring and training, which depend on your account and are yours to check. Checked against each provider's documentation on September 29, 2026.

Save the key in the app

Open the model picker, choose the provider's tab, paste the key and press Save key. The app keeps it in a private file on your computer, readable only by your account, and sends it only to that provider. The provider's models then appear on the same tab.

From the command line

The command-line program reads a key from the environment first, then from ~/.continuation-drafter/config.json, the private file the app saves keys to. Never from a command-line flag and never written to a log.

export ANTHROPIC_API_KEY=sk-ant-...
export OPENAI_API_KEY=sk-...
export OPENROUTER_API_KEY=sk-or-...

Set the one you use. Each provider reads only its own variable, and an environment variable takes precedence over the saved file. A key saved in the app stays out of your shell history, where a key typed at a command line can stay.

A slash in the model name routes remotely, through OpenRouter. To reach Anthropic or OpenAI directly, name the provider: the same model is called anthropic/claude-opus-4 at OpenRouter and claude-opus-4 at Anthropic, so the model string alone cannot say which company receives your specification.

./continuation-drafter draft --spec spec.txt --parent parent-claims.txt \
  --model openai/gpt-5.5

./continuation-drafter draft --spec spec.txt --parent parent-claims.txt \
  --provider anthropic --model claude-opus-4

What you gain and what you give up

Large remote models are faster than large local ones, and in our testing they aimed their independent claims at more of the passages that mattered, where strong local models tended to cluster on the most literal reading of the disclosure. That is a difference in breadth, and it is the reason the choice is a tradeoff rather than a preference.

Whether breadth is what you want is a separate question. In a later test against 11 real continuations, what two remote models proposed to claim sat further from what those continuations went on to claim than a small local model's did, within about a paragraph; at about three paragraphs the gap narrows. The remote models looked hardest for matter the parent had left unclaimed, while most of the continuations stayed on the parent's own ground. What those continuations changed is published with its method.

One practical note from the same testing: the small model we measured, qwen3.5:9b, was slower and less reliable reached through OpenRouter than running on a laptop, with some calls running to the time limit. That is one run on one route, since OpenRouter chooses the host; on it, local was the faster route as well as the private one.