Privacy: zero retention by default
Ordinary requests keep receipts, not transcripts; durable content requires an explicit Passport, order, share, or sync feature.
Most inference platforms retain your prompts because retention is the default: logs are useful, storage is cheap, and nobody is billed for the risk. Omnious inverts the default. The router's business is the economic record of a request, not its content, so the economic record is all a raw completion keeps. Durable content exists when a caller creates a task, patient order, Context Passport, or share. The normal chat's Build mode creates a seven-day task so long work can survive a closed tab; ordinary chat and direct completion callers can retain nothing.
Receipts, not transcripts
For an ordinary completion, prompt and reply bodies are never written to disk. In flight, they pass through bounded in-memory stream buffers whose purpose is resilience, not retention: a mobile client that drops mid-generation (iOS suspending a backgrounded app is the common case) can reconnect and resume exactly where it left off, because generation, metering, and billing run to completion regardless of the client connection. Buffers are capped per stream and globally, and finished buffers are swept within minutes.
What persists is the signed economic record:
- token counts (input, output, cached)
- cleared prices and the amounts charged, authorized, and refunded
- payment references and settlement transaction ids
- signed receipts and the epoch hashes anchoring them
That record is enough to prove what you were charged, by whom, and under which auction, without containing a word of what you asked. See tamper evidence for what the record proves.
Explicit durable modes
A durable task stores its goal, ordered events, checkpoints, and effect/verification evidence behind a high-entropy capability. Only the capability hash is stored. Retention is selected at creation from one hour to 30 days (seven days by default), and DELETE /v1/tasks/:id immediately removes the task and its dependent rows. Normal-chat Build mode and SDK runTask()use this resource for resumable multi-step work.
A Context Passport is opt-in server-side conversation state. The router stores its messages, structured handoff, and version ledger behind a high-entropy bearer token; only the token hash is persisted. Passports expire after the configured retention window (seven days by default), refresh when used, and can be deleted immediately with DELETE /v1/context/passports/:id. Do not enable context when zero transcript retention is the requirement.
A second flow requires content to rest: patient limit orders. An order that waits for the market to reach your target price must hold the prompt until it fills. The retention contract is explicit: the prompt is scrubbed in the same transaction that closes the order, and the stored result is swept after a 24-hour pickup window (ORDER_RESULT_TTL_MS). A scrubbed order keeps only a non-reversible fingerprint, preserving idempotency without the content.
Local conversations and memories in the web app are also stored in the browser. The task ledger stores only turns run through that task; shares, Passports, and opt-in settings sync store only what their user explicitly submits.
context, patient order, share, or settings sync. That makes the retention choice visible in the request and removable through the matching lifecycle API.- router/src/api/streams.ts bounded in-memory stream buffers, resume, and the sweep
- router/src/agent/tasks.ts durable tasks, capability auth, expiry, effects, and deletion
- router/src/agent/context/passports.ts opt-in passport retention, expiry, and deletion
- router/src/money/orders.ts patient orders: scrub-on-close and the result pickup TTL