InferIndex is a service operated by Euron Consulting Ltda, Brazil. Contact: contact@inferindex.dev.
Last updated: 2026-10-28. This policy covers the InferIndex public API (https://api.inferindex.dev) and
its MCP server (https://mcp.inferindex.dev/mcp), and the InferIndex website. InferIndex publishes public price
data about AI model APIs. The API, the MCP server and the public pages of the website need no sign-in. An optional free account
gives access to an API key: if you create one, we keep your email address as described in section 1. The API and the MCP server
set no cookies. The website sets cookies only in your account space, and only the ones strictly necessary to sign you in,
described in section 1; it sets no other cookie and uses no advertising trackers. The website pages load our own scripts, which run the page controls (such as the theme button, filters and copy link) and count clicks to sellers, and Cloudflare Web Analytics; the API and the MCP server load none.
1. Data we collect
- Aggregated usage counts. For each API request we increment a daily counter made of:
- the date and the route (for example
/cheapest); - the requested model name or model search term (normalized and truncated to 64 characters);
- the API key identifier or
anonymous, and the HTTP status; - whether the answer came from cache;
- whether the request came through the MCP server (and then the name of the tool) or from a page of our website;
- whether it is our own internal traffic (our monitoring and tests) or external.
- the date and the route (for example
- Account and API key (optional). You can create a free account with your email address to get an API key.
There is no password: you sign in with a one-time link, valid for 15 minutes, that we email to you, or with your GitHub or
Google account. We store:
- your email address, in clear text, and a SHA-256 hash of it (without any "+" suffix and, for Gmail, without the dots) so that one address gets one account;
- when the account was created and verified, and the last day you signed in;
- the hash of the sign-in link and its expiry time, erased as soon as the link is used;
- your sessions: the hash of a random token, an anti-forgery token, and the creation and expiry dates, with no IP address or browser information (five sessions at most per account);
- for your API key: its SHA-256 hash (never the key itself, neither in our database nor in our logs), its tier, its creation date, the last day it was used and its revocation date if any.
- Account totals. Each week we keep totals of sign-ins and accounts created, by method (email link, GitHub or Google), of accounts deleted by their owner, and of accounts removed for inactivity. They are plain counts, linked to no account, with no address and no identifier. The method you use to sign in is not stored with your account, and counting it adds no GitHub or Google identifier to it.
- Your email address. We use it only to send you sign-in links, if needed service messages about your account or your key, and, if you use the watch list, its summaries. We never send marketing, and we never share the address. The sign-in email contains the link and the date and time of the request, and nothing else about you: no IP address, no device, no key. Emails you send us are kept in our mailbox.
- Watch list (optional). If you use it, we keep, for each offer you follow (50 at most per account) and under your account identifier: the offer you chose among those we list (the seller or gateway, the model, the quantization and the variant, with the region if you gave one), the load you declared (input and output tokens per request, cached share, requests per day), and the dates it was created and changed, and the language of your messages (English or French), set by the page where you manage your list.
- We never keep a project, company or team name, free text, an IP address, browser information, a seller key or your actual billed volume. We use this data only to match your offers with our prices and retirement notices: the index, the trends, the public pages and the statistics do not read it, and the operator sees only totals (accounts, lines, alerts).
- Watch list alerts. When a followed offer has a retirement date announced by its lab, a price change above a threshold, or is no longer listed, we create an alert: the offer, its cost before and after on your declared load where there is one, the time we read it and, for a retirement, the official source and the notice quoted word for word.
- We email you at most one summary a day, only on days with an alert, plus an immediate message for a retirement less than 14 days away. An email already sent cannot be recalled.
- Cookies. We set cookies only in your account space, never on the API, the MCP server or the public pages.
They are strictly necessary for the service you asked for, so they need no consent banner, and we use them for nothing else.
- Session cookie, set when you sign in: HttpOnly, Secure, SameSite=Strict, limited to the
/accountpath. It lasts 14 days, or until you sign out. - Round-trip cookie, set only when you click the GitHub or Google button: HttpOnly, Secure, SameSite=Lax, limited to the account sign-in path. It lasts 10 minutes and is deleted when you come back, whether the sign-in worked or not. It holds the provider you chose, the language and a random number that ties the way out to the way back; no personal data.
- Session cookie, set when you sign in: HttpOnly, Secure, SameSite=Strict, limited to the
- Sign-in with GitHub or Google. If you choose it, GitHub or Google authenticates you and tells us your
verified email address.
- From GitHub, we read the addresses of your account and keep only the primary one, and only if GitHub states it is
verified. We ask only for the
user:emailpermission (read access to your email addresses). - From Google, we receive the address of your account and whether it is verified. We ask only for the
openidandemailpermissions. - We do not read your contacts, files, repositories or any other data. We keep nothing else: no name, no picture, no identifier of theirs, and no access token or refresh token from GitHub or Google.
- We use the address only to identify your InferIndex account and to send you the sign-in links and service messages described above; nothing else. No email is sent for this sign-in.
- GitHub or Google processes your sign-in under its own privacy policy, and learns that you sign in to InferIndex, and when.
- InferIndex's use of information received from Google APIs adheres to the Google API Services User Data Policy, including the Limited Use requirements.
- From GitHub, we read the addresses of your account and keep only the primary one, and only if GitHub states it is
verified. We ask only for the
- Sign-in link form. The form for asking a link uses Cloudflare Turnstile to check that a person fills it in. Turnstile sets no cookie. To verify the check, we send Cloudflare the token it gave your browser and your IP address; we do not store the IP address. Cloudflare Email Service sends the sign-in emails on our behalf, so it processes your address to deliver them. Requests are rate-limited per IP address, like the API.
- Theme preference. If you choose a light, dark or system theme, the website keeps that choice in your browser
(local storage, under the name
theme). It stays on your device and is never sent to us. It is not a cookie. - Rate limiting. Requests are rate-limited per IP address, or per API key when one is sent. The counter of the current minute is kept under a keyed hash of the IP address (not the address itself), or under the key identifier, and deleted about a minute after that minute ends. We keep only hourly totals of requests and refusals, with no IP address and no identifier. Cloudflare also keeps its own counters for about a minute, as a safety net.
- Technical logs. Our hosting provider, Cloudflare, records technical logs and traces of requests to our service, which may include the URL, time, user agent, IP address and approximate location. They do not include your API key. We use them only to operate and debug the service.
- MCP server. The MCP server stores nothing from your conversation. Each tool call is answered by the
matching public API route and is counted like any API request, as described above (route, model name, key identifier or
anonymous, status, cache, tool name, internal or external). The other tool arguments, such as token counts or filters, are not stored. - Website statistics. Our server counts page views per day, page and language (English or French), without
the search terms you type:
- To estimate the number of distinct visitors per day, it computes a one-way keyed hash of the date, your IP address and your user agent (the key is secret and is not stored with the data), and keeps only a statistical summary of these hashes (a HyperLogLog sketch: 1,024 small numbers per day).
- The hash itself, your IP address and your user agent are never stored, and the summary cannot be used to list visitors or to link your visits from one day to the next.
- Our own traffic, known robots and command-line tools are not counted as visitors.
- Each public page of the website loads a transparent one-pixel image from our own domain (
/seen), never cached. It lets us count a page view only when a browser actually displays the page, which helps us leave out robots. The request carries only the address of the page itself (language and path, without parameters). - It is counted like a page view above: a daily total by language and by page of our site, and the same kind of statistical summary of visitors, kept separately (1,024 small numbers per day). The hash, your IP address and your user agent are never stored. No cookie is set and no script is involved.
- For AI assistants we keep two daily totals only: the number of pages served to the agents that identify themselves as such (for example GPTBot or ClaudeBot), and the number of page views by visitors who arrive from ChatGPT, Claude, Perplexity, Gemini, Copilot or Le Chat by Mistral. Each total is stored per day as a name from a fixed list and a count: no IP address, no user agent, no referring address and no page address is stored.
- For search engine and platform robots (for example Googlebot, Bingbot or Applebot), we keep one total per robot and per day: the number of pages served to a robot that identifies itself, stored as the day, its name from a fixed list and a count, with nothing else.
- Where visitors come from. For each page view we also add one to a daily total by language, by page of our site and by family of origin: search engine, X, GitHub, directory, AI assistant (the second total above), forum or community, another site, navigation within our site, or direct access.
- During the request, our server compares the referring address and the
utm_sourceparameter with closed lists of sites, only to choose the family, and then discards them. We store only the day, the language, the page of our site that was viewed (without parameters), the family (one of the nine above) and a count: never the referring address, its domain, its path, its query or the words searched. Anyone can build a link that carries autm_source, so these totals give orders of magnitude, not exact counts. This count is made by our server, with no script. - Broken links. When a visitor reaches a page that does not exist (a 404 error) from one of our own pages, we add one to a daily total, to spot broken links on our site. During the request, our server compares the host of the referring address with ours, only to know whether the link came from our site, and then discards it. We store only the day and a count: never the page requested, the page the visitor came from, the language, the IP address or the user agent.
- The server-side counts above (page views, visitors, origin, broken links, displayed pages) involve no cookie, no script and no third-party service.
- Clicks to sellers. Our own scripts count clicks on links that lead to a seller's site (such as
"Go to offer", "See pricing" or "Seller's site").
- When you click, your browser sends a signal to our own server that carries only the seller's key, taken from a fixed list, and the language of the page. We store the day, the seller, the language and a count. We never store which model or offer you clicked, the page you were on, your IP address or the exact time.
- These are declared clicks: because the signal comes from your browser, the totals are a minimum and can be altered at the margin.
- The link itself goes straight to the seller's site, not through our domain, and the seller's site then handles your visit under its own privacy policy.
- This count sets no cookie and uses no local storage; the only thing our scripts keep in your browser is your theme choice, described above.
- Cloudflare Web Analytics. We use Cloudflare Web Analytics, a cookieless analytics service, to count page views
on our website. The pages of the website load a small script from Cloudflare (
static.cloudflareinsights.com) that sets no cookie and uses no local storage. It reports:- the page address (domain and path) and the referring page;
- your browser, operating system and device type;
- your approximate country;
- page performance measurements (loading time and Core Web Vitals).
2. How we use and store data
We use this data only to run the service: rate limiting, abuse prevention, capacity planning and debugging. We do not sell it, and we do not use it for advertising or to build user profiles. Data is stored with Cloudflare: the database (Cloudflare D1) runs in Western Europe, and encrypted-at-rest database backups (Cloudflare R2) are stored in Eastern North America.
3. Sharing with third parties
Cloudflare hosts the service and processes the data above on our behalf, including the Turnstile check and the delivery of the sign-in emails. If you choose to sign in with GitHub or Google, that provider takes part in the sign-in as described in section 1. UptimeRobot monitors the availability of our public endpoints; it sends its own test requests and receives no user data. We do not share user data with anyone else.
4. Retention
- Aggregated usage counters, website statistics, origin totals, broken-link totals, seller-click totals, account totals and hourly rate-limit totals are kept while the service operates. They contain no IP addresses and no user agents.
- An account whose address is never verified is deleted after 24 hours. An account with no sign-in and no API call with its key for 12 months is deleted with its address, and its key is revoked. Sessions are deleted when they expire (14 days) or when you sign out.
- You can delete your account yourself from your account space. Your email address, your sessions and your account are then deleted at once, with no grace period, and your API key is revoked. The usage counters stay, linked to the key identifier only, never to your address. The record of a revoked key (the hash of the key, its dates and tier) is kept while the service operates.
- Cloudflare technical logs are kept for 7 days, then deleted.
- Deleted data can remain in backups until they expire: database history for 30 days, and database exports, kept 90 days (daily exports) and 400 days (monthly exports), then deleted automatically. Deleted accounts are removed from daily backups within 90 days and are never restored; monthly backups contain no account data.
- Watch list alerts are deleted after 90 days. You can delete one line, your whole list or your account at any time; deletion is final, and you can export your list as JSON first. Deleting your account, or its removal for inactivity, also deletes the whole list and all its alerts. The list and the alerts are left out of the R2 backups; they can remain in the database history for up to 30 days, as stated above, which we cannot turn off.
5. Your rights and contact
You can ask to access, correct or delete data about you (for example your email address and your account), as provided by the GDPR, the LGPD and similar laws. The fastest way is to delete your account yourself from your account space: your address, your sessions and your account are deleted at once, and your key is revoked. You can also write to contact@inferindex.dev, for this or for any question about this policy.