Last updated: 2026-09-22
This policy describes the data the Ottto MCP Apps for ChatGPT and Claude ("the Apps") access, why, how long it is kept, and the controls you have. It covers the Apps only. Your use of the Ottto product and website is governed by the Ottto Terms of Service; this document is the cross-host MCP Apps privacy policy, including the policy used for OpenAI App Directory review. It supplements the site-wide Ottto Privacy Policy, which covers everything else.
The Apps are read-only and strictly data-minimized. They can show you aggregated cost, usage, source-health, interactive Custom Report results, reviewed recommendation, and configured MCP context information about your own Ottto account inside a compatible assistant host. They cannot change anything in your account, and they never expose the raw content Ottto observes.
The Apps are available, free, to any signed-in Ottto user who chooses to connect Ottto in a supported ChatGPT or Claude host. Connecting is entirely optional and requires an explicit OAuth consent step.
When you connect Ottto and approve the consent screen, the selected host can call a small set of read-only tools on your behalf. Those tools return aggregated, sanitized figures derived from the data already in your Ottto account:
| Category | Examples of what is shared | Granularity |
|---|---|---|
| Cost | Total spend over a period (USD); top cost drivers by model or source (label + amount + share %); whether the figure is estimated from a pricing catalog or billed. | Aggregated totals and ranked rows only |
| Usage | Session counts, token counts over a period; week-over-week change and the top driver. | Aggregated counts only |
| Custom Reports | Aggregate results from Custom Report choices you make or review in the connected AI host, including the selected window, totals, and a bounded table preview. Missing or partial values stay unavailable or partial. | At most 50 aggregate rows, 8 columns, and 400 result cells; the host card receives opaque filter selector IDs while model-visible results omit them |
| Source health | Per-source connection status (healthy / degraded), last-seen time, recent record counts, and how many sources are healthy vs degraded. | Per-source status, no payloads |
| Freshness & confidence | A data-freshness indicator (latest-seen time, coverage), a confidence signal, and short plain-language caveats. | Derived signals only |
| MCP context footprint | Configured schema cost by safe MCP server label, its catalog share, definitely loaded initial-context cost, tool count, loading mode, reachability at capture, and positive observed-call lower bounds for the last seven days. | Top five rows inline and at most 20 in the expanded view; no raw configuration |
| Reviewed recommendations | Customer-visible recommendations you can already view in Ottto, including the action, consequence, impact, and confidence. | Reviewed summaries only |
Every figure above is computed by a mandatory minimization step (the "projector") at the Apps boundary before it is returned to the host. The same hard floor is enforced on every response.
The Apps never return, and a defense-in-depth scrub guard actively blocks:
If any of these were ever to appear in a projected response, the response is blocked rather than returned - this is treated as a launch-blocking privacy regression and is monitored continuously (the guardrail target is zero such events).
ottto.account.read, ottto.costs.read, ottto.sources.read, ottto.apps.read, and ottto.reports.read, ottto.custom_reports.interactive.read, and ottto.advisor.read. The existing reports scope reads saved report definitions but does not expose report contents. The separate interactive Custom Reports scope authorizes bounded aggregate results from report choices you make or review in the connected AI host, including machine and subscription display names and, when your Ottto role permits it, organization cloud billing. The host card also receives opaque filter selector IDs to present exact choices, but model-visible report results omit those IDs. No write, delete, or administrative scope can be granted to the Apps.Two minimal, non-content records are kept so the service can be operated and audited:
Neither record stores the content an App returned to you or any raw observed data. Custom Report titles, rows, totals, filters, report IDs, and result payloads are not persisted in these records or in the production verifier.
The Apps' data is processed in Ottto's existing production region (non-EU). The Apps do not introduce a separate data-residency surface; they reuse the same backend, storage, and processing as the Ottto product.
If the Apps' data practices change - for example, if a new scope or capability is introduced - this policy will be updated before that change ships, and material changes will be reflected in the consent screen.
For privacy questions about Ottto's MCP Apps, contact hello@ottto.net.