Privacy Policy
Last updated: September 30, 2026
Overview
MNFST, Inc. ("Manifest", "we", "us", "our") operates three products: Manifest, which fixes failed API requests, at dashboard.manifest.build, the Manifest LLM Gateway, an open source LLM router, at app.manifest.build or on your own servers, and Manifest API Bot, a GitHub App that opens pull requests when an API your code calls changes. This policy explains what data each product and this website collect, why we collect it, and how we handle it.
Account data
When you create an account, we collect your email address, your name and a hash of your password. Manifest offers sign-in with Google and GitHub, and the Gateway with Google, GitHub and Discord. These share your email address, name and profile picture with us. We use your email address to manage your account and to contact you about your use of our products. Manifest sends a welcome email, an email after your first healed request, and a weekly activity report. Each one has an unsubscribe link, and you can turn them off under Product emails in your account. When you write to us from the Manifest dashboard, we store your message and your email address with the project, issue and page you were on. When you ask for a new SDK, we store the language with your email address. Each session records your IP address and browser user agent to keep your account secure.
Manifest
What we receive
The Manifest SDK sends us three kinds of data:
- When your app starts, the name and version of the SDK and of your language runtime.
- For every API request your app sends, whether it succeeded or not: the method, the URL without its query string, user name, password or fragment, the status code, the response time and the date. No headers and no body.
- For a failed request Manifest can try to repair, which is a 4xx error other than 401, 402, 403 and 429: the full request (URL, method, headers and JSON or form body) and the error status and body, up to 64 KiB. After a retry, the retry's status code, and the retry's error body when the retry fails.
With Hermes Agent, a tool call to an MCP server counts as a request, as described below. When a retry gets no response, the SDK sends the error message, with credentials in URLs masked. The SDK masks credential values in the query string and in the headers, and removes top-level body fields named like a key, a token or a password. We mask credential headers again before storage. The URL path is sent as your app wrote it, so an identifier in a path, such as a customer ID or an email address, reaches us, and so does a credential inside a path, such as a webhook token. A secret in a nested field, or other personal data in a body, can also reach us. For data about your own users, we act on your behalf, as your processor.
The Manifest plugin for Hermes reports calls to MCP tools instead of HTTP requests. When a tool call fails, it sends the MCP server's host and name, the tool name, the tool's arguments and the error the tool returned. It holds back top-level arguments with credential names. When a retried tool call raises an error, it sends the raw error text. For every other tool call, it sends the MCP server's host, the tool name, whether the call worked and how long it took.
The SDK and the plugin send this data whenever they have a
project key, except for calls you exclude. In recent versions of
the SDKs, MNFST_ALLOWLIST and
MNFST_DENYLIST choose which calls reach Manifest,
and nothing about an excluded call is sent. Turning Live
self-healing off for a project stops patches, not reporting. To
stop all reporting, remove the project key from your app. Rotating the key in the dashboard revokes the old one, and Manifest stores nothing sent with a revoked key.
How we use it
- To show your requests in your dashboard: their volume, status and response time, and the success rate of each API your app calls.
- To return a patch when we know one for the error.
- To study errors that no patch covers yet. Our agent sends the failed request to Google (Gemini) for analysis.
- To investigate errors and approve patches. Our team can view failed requests for this purpose. To test a patch, we can send the corrected request to the API it was meant for.
A patch describes an error and its fix, and it contains no request body. A patch learned from one customer's error can serve other customers who hit the same error.
Retention and deletion
We keep your requests until you delete the project or your account. Deleting a project deletes its requests. Deleting your account deletes your user, and your organization and its projects when you are its only member. Patches and the error records they fix are shared and remain. An error record can keep the value your request sent in the field the API rejected. Our agent's notes on an error, which can contain a copy of a failed request, also remain.
Manifest LLM Gateway
Cloud version
- Request metadata: model, provider, token counts, cost, latency, status, routing decision, errors, the user agent and SDK of the caller, request headers without credentials, and request parameters. It powers your dashboard and is kept while your account exists.
- Request recordings: full request and response bodies, recorded by default for new agents to power your request logs. You can turn recording off for each agent. Recordings are kept 7 days on the Free plan and 365 days on the Pro plan. If Pro ends, recordings older than 7 days are deleted.
- Provider credentials: the API keys and subscription tokens you connect are encrypted (AES-256-GCM) and used only to call the providers you chose. We remove them from stored headers and error messages.
- Autofix: on by default for each cloud agent. It sends failed requests, including their message content, and the provider's error to Manifest, without provider credentials. The Manifest section above describes how we handle that data.
- Public error pages: we publish pages about common provider errors. They are built from errors seen across at least 10 accounts, with emails and secrets removed, and they identify no account.
- Provider credits: when you use a credit we provide, such as Gemini Free, we attach your account identifier and email address to its usage to meter it.
Self-hosted version
Routing and request data stay on your servers. Recordings are deleted after 365 days by default. Two automatic flows reach Manifest:
-
Anonymous usage report: deployments running in
production send one aggregate report per 24 hours: an anonymous
random install identifier, the gateway version, request and error counts, requests by provider, tier and auth type, errors by class, token and cost totals, agent counts by
platform, and the operating system and architecture. It never
contains prompts, responses, model names, emails, API keys, or
IP-level identifiers. Disable it by setting
MANIFEST_TELEMETRY_DISABLED=1; it is also disabled automatically outside production. More details are in the telemetry reference. -
Autofix: off until you turn it on for an agent. It sends failed requests to Manifest as described above, with the anonymous install identifier and a random workspace identifier. Disable it per agent or
globally with
AUTOFIX_GLOBAL_ENABLED=false.
Two optional forms in the dashboard, the onboarding survey and the waiting list, send what you enter in them to Manifest.
Manifest API Bot
What we receive
When you install Manifest API Bot, GitHub tells us the account you installed it on, the GitHub user who installed it and the repositories you selected. API Bot then reads and copies the code of those repositories. The code and its history can contain the names and email addresses of its authors, and any personal data written in the code.
How we use it
- To find the APIs your code calls and check them for changes.
- To write fixes. Our agent sends your code to Anthropic (Claude) to write each fix.
- To check fixes. Our team can read your code to review a fix before or after API Bot opens its pull request.
- To follow installations. Our team gets a Slack message when an account installs API Bot, changes its repositories or removes it.
Retention and deletion
We keep a copy of each repository while API Bot is installed on it. When you uninstall API Bot or remove a repository from it, we delete our copy of that repository.
This website
Website analytics
We use Vercel Analytics to collect anonymous, aggregated website usage data (page views, referrers). No personal identifiers are tracked.
Advertising measurement (Reddit Pixel)
We run ads on Reddit and use the Reddit Pixel on this website to measure whether those ads work. The pixel loads a script from Reddit and reports a page visit event when you browse manifest.build. Reddit receives your IP address, user agent, the page you visited, and its own cookie identifiers, and processes this data as an independent controller under the Reddit Privacy Policy.
We do not send Reddit your email address, phone number, or any account data, and the pixel exists only on this marketing website. It is never present in our products or in traffic that goes through them. You can limit ad measurement through your Reddit ad settings or by blocking the pixel with standard browser tools.
Heatmaps and session replays (Contentsquare)
We use Contentsquare on this website to see which parts of a page people read and where they stop. Contentsquare aggregates clicks, scrolls and mouse movement into heatmaps, and records a sample of browsing sessions. It receives your IP address in truncated form, your user agent, your screen size, the pages you visit and the country you browse from, and stores an identifier in your browser so a session holds together across pages. Contentsquare acts as a data processor on our behalf.
A recording shows the pages you saw. Keyboard input is suppressed by default, so what you type never reaches Contentsquare. The same tag runs in the Manifest dashboard, so a replay can cover both. In the dashboard, we hide request and error bodies, keys, and your name and email from recordings. Request URLs and error titles can still appear in them. You can opt out for every site that uses Contentsquare through the Contentsquare opt-out page, by sending a Do Not Track header, or by blocking the script with standard browser tools.
Live chat (Crisp)
We run a live chat with Crisp on this website and in the Manifest dashboard. The chat loads a script from Crisp. Crisp receives your IP address, user agent and the page you are on. It stores an identifier in your browser to recognize you between visits, so a conversation survives a page change. Crisp states that it acts as a data processor for the contacts of its customers.
What you write in the chat reaches us, on top of the technical data above. We do not send Crisp your account data. Blocking the script with standard browser tools keeps the chat from appearing.
Service providers
We do not sell your data. These providers process data on our behalf:
- Railway: hosting and databases for our products
- Google (Gemini): analysis of failed requests by the Manifest agent
- Anthropic (Claude): analysis of repository code and writing of fixes by Manifest API Bot
- Slack: messages to our team about Manifest API Bot installations
- LLM providers: the requests you route through the Gateway
- Stripe: Gateway payments
- An object storage provider: Gateway request recordings
- An email delivery provider: Gateway account and billing emails
- Mailgun: Manifest account and product emails
- Sentry: Gateway error tracking, without request bodies or headers
- Crisp: live chat
- Contentsquare: heatmaps and session replays on this website and in the Manifest dashboard
- Google Fonts: fonts on this website and in the Manifest dashboard. Google receives your IP address.
- Vercel and Reddit: this website, as described above
Security
All data in transit is encrypted via TLS. Passwords are hashed. Provider credentials stored by the Gateway are encrypted with AES-256-GCM. API keys we issue are stored as hashes. Gateway agent keys also keep an encrypted copy so you can view them again in the dashboard.
Your rights
You have the right to:
- Access the data we hold about you
- Request correction or deletion of your data
- Run the self-hosted Gateway, where your request data stays on your servers except for the flows described above
To exercise these rights, email bruno@manifest.build.
Open source
The Gateway is open source. You can inspect how it handles your data in its GitHub repository.
Contact
For privacy questions or data requests, email us at bruno@manifest.build.
Changes to this policy
We may update this policy from time to time. Changes will be posted on this page with an updated revision date.