Privacy policy
What this site collects, why, how long we keep it, who else handles it, and what you can ask us to do.
Last updated: October 19, 2026
Version: 2026-10-19.1
In short
- You can use the whole site without an account. Only the demo request form for brands asks who you are.
- The pages load no analytics, advertising or other third-party scripts, and no file from another site, except Cloudflare's bot check (Turnstile) on the Pick Bench page when it is enabled.
- Some features need a strictly necessary cookie: __Host-pickbench_client on the site (with a random id) and __Host-pickbench_tg in our Telegram mini-app (with an id derived from your Telegram account). Our server keeps only a keyed hash of the id.
- Our server does not read or store your IP address, and our edge does not forward it. The edge uses it for rate limits, and its counters are deleted after their UTC day or hour.
- We do not sell personal information, share it for cross-context behavioral advertising, or use it for advertising. On the Pick Bench page, Cloudflare receives Turnstile signals both to secure this site and to improve its bot detection, as described below.
Who we are
Pickbench ("we", "us") operates this site and is responsible for the personal information described here. Our legal name and postal address will be published here. You can reach us at the address in the Contact section of this page.
Visiting the pages
The pages are static files. Cloudflare, our hosting and network provider, receives your IP address and the usual request details, such as the page address and your browser type, to deliver the pages and protect the site from attacks. Cloudflare keeps some of this security and traffic data for limited periods under its own terms; we have not set up any storage or export of these request logs for ourselves and do not receive them. Apart from Cloudflare Turnstile on the Pick Bench page, the pages load nothing from other sites: no scripts, fonts or images.
Your picks in the battle feed, your streak and today's count, your votes on battle pages, your last quiz result, the brands you follow on the chart, the Pick Bench categories you follow, your Pick Bench round count, streak and how often your picks matched the AI panel, and your Motion setting are kept in your browser's storage. A finished quick battle result is kept in the tab's session storage until you close the tab. None of this is sent to us. The cookies page lists every item, and you can clear them in your browser settings.
The client cookies
When you use a feature on the site that calls our API, our edge sets the cookie __Host-pickbench_client; in our Telegram mini-app it sets a separate cookie, __Host-pickbench_tg, instead. Today these features are quick battles and the Telegram mini-app; votes, Pick Bench and the demo request form will use them when they are enabled. On the site, __Host-pickbench_client holds a random id and a signature and lasts 30 days. The id carries no name, address or other details about you, but it is an online identifier, so we treat it, and what we store under its hash, as personal information.
In our Telegram mini-app, the cookie __Host-pickbench_tg is set only inside a real Telegram webview and never overwrites the site cookie. Its id is not random: our edge derives it from your Telegram account id with a secret key, and our routes accept it only on requests from the mini-app. It is the same on every visit and every device, so deleting the cookie does not unlink you from what is stored under it.
The edge passes only the active cookie's id to our server. The server stores a keyed hash of it (an HMAC with a secret salt), never the id itself. We use it to count fair-use quotas and, for votes and Pick Bench, to keep one counted ballot per visitor and battle edition, or per visitor, Pick Bench question and pair of models.
Rate limits at the edge
To protect the site from floods, our edge rate-limits requests by IP address; an IPv6 address counts by its /64 block. The short-term limit that stops bursts lives in memory only. The daily counters below never hold the requests themselves.
Vote counters, kept per address, per network block and per battle, and demo request counters, kept per network block, hold a number and a UTC day, and can also temporarily hold the time of the last request and the number of requests awaiting completion. They are deleted after that day.
Two other daily counters are kept per IPv4 address or IPv6 /64 block. One counts calls to our endpoints for AI agents (MCP and A2A) and holds a number and a UTC day. The other counts new quick battles and holds a number and a UTC day, and can also temporarily hold the time of the last one and the number of quick battles awaiting completion; when our Telegram bot signs its requests, it is kept per chat and per account instead, under pseudonyms of the chat and the account. Like the vote and demo request counters, these counters are deleted after their UTC day.
When Pick Bench is enabled, our edge also keeps Pick Bench counters. Per client id, it counts rounds per UTC day, and votes and skips per UTC day and per UTC hour; these counters are named by a hash of the id. Per IPv4 /24 or IPv6 /48 block, it counts rounds, votes and skips, and requests for a question's public results that it has not cached, per UTC day; an IPv6 /32 block also has daily round and vote counters of its own. After you pass the bot check (see Pick Bench), the edge marks your client id as checked until the end of that UTC hour. Each counter or mark holds its count or flag and UTC day or hour; daily counters can also temporarily hold the last request time and the number of requests awaiting completion. They are deleted after that day or hour.
Cloudflare stores these counters for our edge and may keep recovery copies of that storage for a limited period under its own terms.
Our edge forwards to our server only the request itself, the client id (from the site cookie, the mini-app cookie on mini-app requests, or a chat pseudonym for our bot), a network family code for a vote, including a Pick Bench vote or skip (see Votes), and, for a demo request, a daily network code made the same way, which our server uses only for its rate limit and does not store. Your IP address, the cookies themselves, Turnstile tokens and your other request headers are never forwarded.
Quick battles
When you ask for a battle between two brands, on the site or through our Telegram bot, our server stores the request: the two brand names or catalog product ids, the category and the buyer need you chose, the time, its status and a keyed hash of a client id: your cookie's id on the site, and for the bot an id the edge derives from the chat (or a random one). The brand names go into English prompts to the named AI models; nothing else you type does.
By default the service runs in sample mode: it accepts only fictional sample brands, and no AI model is called. When live mode is enabled, it calls the named AI models as described above. A finished result is reused for up to 14 days for anyone who asks for the same pair.
By default, a finished request is deleted 30 days after it was made, with its brand names and hash. Cached results and their result pages hold no data about you; they are deleted 30 days after they were last used, and never while they can still be reused.
Votes
Until votes are enabled, a vote on a battle on the site stays in your browser and is not sent, and votes in the Telegram mini-app are switched off.
When votes are enabled, a vote sends the battle, your choice (A, B or can't decide) and the buyer need, if any. Our server stores it with the keyed hash of your cookie id, when it was first cast and last changed, how often it was changed, and the first cast's network family: a keyed code made at our edge from your IPv4 /24 or IPv6 /48 network block under a random key held at our edge and deleted after that UTC day, together with coarser parts over your IPv4 /16 or IPv6 /32 block and your network provider's autonomous system number (ASN) that link the same /16 or /32 block and ASN across days in the counting window to check distinct networks and providers. These coarser network-family codes use random keys that rotate every 90 days, each kept at our edge for at most 180 days, and the stored codes are cleared from ballots and review files after the 90-day counting window. It identifies shared network blocks and a provider, not an individual address.
We use these records only to publish aggregate results and to detect coordinated voting. A result that looks manipulated is held back until it has been reviewed.
Ballots are deleted after 180 days, and only votes from the last 90 days count. Hourly vote counters older than 2 hours are deleted by the next vote's sweep or by the nightly purge, so within about a day. A hashed id is deleted once no ballot refers to it and it is older than 180 days.
Published results show only counts and intervals, never a single ballot, and no share is shown below 50 decided votes. Votes come from self-selected visitors of this site: an open poll, not a representative survey.
Ask the AIs (the Consilium)
Until the Consilium is enabled, the brief you write is read on your device, and a recorded sample is replayed. Nothing is sent.
When it is enabled, we will remove common personal details from your text before we store it (such as email addresses, street addresses, long numbers and a name after "my name is"). The scrubber cannot catch everything, so please do not type personal details; we treat the cleaned text as personal information, keep it only to show it back to you, and delete the query no later than 30 days after it arrives. Your free text never reaches an AI model, a result or a cache key: the models see only coded choices (category, budget, needs and constraints) written in English. Cached results hold no text of yours and are deleted 30 days after they were stored, once no query refers to them.
To keep a daily quota, we will also keep a counter per UTC day under the keyed hash of your cookie id. The daily retention job deletes each counter once the UTC day after it has ended.
Pick Bench
When Pickbench Pick Bench (Pick Bench) is enabled, you pick coded choices (a category, a buyer need, a budget band and, where offered, one optional extra chip); no free text is collected in this version. We show two anonymous AI answers. After you vote or skip, we name the API models that gave them and show how many models on the whole panel named each brand for that question; how other visitors voted is not shown yet. Pick Bench uses the client cookie (see The client cookies).
To block bots, the Pick Bench page loads Cloudflare Turnstile, a check served from Cloudflare's own domain (challenges.cloudflare.com), when our edge asks for a bot check (normally on your first round in each UTC hour); it is the only content on this site that comes from another site. Turnstile receives your IP address and technical signals from your browser and device to tell people from bots, and Cloudflare handles that data under its Turnstile privacy terms. Cloudflare acts for us when it uses these signals to secure our site, and on its own account when it uses them to improve its bot detection, as its Turnstile Privacy Addendum (https://www.cloudflare.com/turnstile-privacy-policy/) explains; the check gives the page a one-time token that expires after 5 minutes. Our edge receives only that token, sends it to Cloudflare to check, without your IP address, and keeps only whether the check passed; it does not forward the token to our server.
For each round, our server stores the keyed hash of the active cookie's id, the coded choices of the question shown (yours or, when yours have no saved answer, the closest saved ones) and the request key made from them, whether it was the closest saved question, which answers and models were shown and in which slot, when the round was issued, when it expires and when it was closed, the signature of its round token, a flag that it passed our bot check, and how many panel models named each brand as their first pick in the saved answers the round was drawn from. When you vote or skip, a ballot is stored with the round: your choice (A, B, both good, both bad or skip), how long the answers were on screen before you chose (up to 30 minutes), when you chose, whether the ballot counts and, if not, why (a skip, or a vote on a question and pair of models you had already voted on or skipped), whether you had already seen the models revealed on the same question, the bot-check flag, and a network family code made at our edge as described in Votes, which is also kept on the round. Under the same keyed hash we also keep when we first saw it, hourly and daily counts of your rounds and of your votes and skips, and a daily count of new questions (choices with no saved answer that the models answered when you asked). Your page holds a signed round token for 30 minutes so that a vote can be matched to its round. Saved AI answers are shared by everyone who picks the same choices and hold no data about you.
We use these records only to keep one counted ballot per visitor, question and pair of models, to apply hourly and daily limits, to show balanced pairs of answers, to detect coordinated voting and to compute aggregate results. We do not sell any personal information collected through Pick Bench or share it for cross-context behavioral advertising (see No sale, no sharing for advertising). We do not show how other visitors voted on a question yet. The leaderboard rules in this paragraph apply to results calculated from visitor votes. A Pick Bench leaderboard counts only ballots from client ids first seen at least an hour before the vote, leaves out ballots cast after the same visitor had already seen the models revealed on the same question, caps the votes from one network or provider, and withholds a model or a pair of models whose votes look coordinated. We publish a Pick Bench leaderboard only after we have approved its statistical method in a recorded decision; until then, no Pick Bench leaderboard is shown, and our leaderboard endpoint answers only that votes are being collected. Published Pick Bench results show only aggregates, never a single ballot. The four automatic per-model columns on Pick Bench (answer rate, picks within our reference list, consistency and tailoring) use stored model answers, task definitions and reference lists, without visitor data. The separate people's score uses aggregate visitor votes and remains subject to the leaderboard rules above. Pick Bench leaderboards are labelled as self-selected visitor preference (beta), not a representative survey, and never change the numbers on our brand boards or in the Index.
A round can no longer be voted 30 minutes after it was issued, or once you vote or skip. A nightly purge deletes rounds and ballots, voted or not, after 180 days and clears their network family codes after 90 days. Hourly counts are deleted at the first sweep (when any visitor next asks for a round or votes, or at the nightly purge) once 2 hours have passed since their hour began, and daily counts once 2 days have passed since their UTC day ended. The keyed hash and first-seen time are deleted from the active Pick Bench tables once no round or ballot refers to the hash and it is older than 180 days. When we carry out a deletion request, the keyed identifiers we deleted and the deletion time are kept in a separate, restricted deletion log, so that we can reapply the deletion after a backup restore and as our record that the deletion was carried out; a daily purge deletes each entry from the active log once more than 731 days (at least 24 calendar months) have passed since the deletion, as described under Your choices and rights. Our privacy tools cover the active Pick Bench records described above: to get a copy or have them deleted, ask us as described in Your choices and rights, with the client id from your cookie. The Pick Bench counters at our edge (see Rate limits at the edge) are not linked to these records and expire on their own at the end of their UTC hour or day.
Telegram mini-app and bot
If you open our mini-app in Telegram, Telegram hands it signed launch data that includes your Telegram account id and basic profile details (such as your name, username, language and photo address). Our edge receives that data, checks the signature and reads only the account id, the launch time and the start parameter; it discards the rest. From the account id it derives, with secret keys, the cookie's id and your referral code. It stores and logs none of the launch data.
Our bot keeps a keyed hash of each Telegram account that has started it, with the day of its first start and its referral pseudonym, for 365 days, so that a referral counts only on a first start. The bot deletes expired hashes when it starts and once a day while running, and deletes a referrer's referral count together with the referrer's first-start hash (or after 365 days if the referrer never started the bot). After 365 days, an account that starts the bot again is treated as a new first start. No record says who referred whom, and no referral is linked to a vote. Every message you send the bot reaches it with your Telegram account id and the name, username and language that Telegram attaches. The bot uses the language to answer you in it and the account id only to compute its keyed hashes; it stores none of these details. Its rate limits live in memory under keyed hashes of the chat and the account, and its logs hold no personal information.
When you send /battle with two brand names, the bot keeps them in memory with a keyed hash of the chat while you pick a category, for at most 10 minutes. It then sends them to our quick battle service, which stores them as a quick battle request (see Quick battles).
Telegram's own privacy policy covers what Telegram does with your data.
Demo requests from brands
The demo request form on the For brands page is not enabled yet: today it checks your entries in your browser and does not send or store them. When it is enabled, the rest of this section applies.
When you send the demo form on the For brands page, we store what you entered (your name, work email address, company, brand names, category and optional message), plus the site language, the version of this privacy policy shown to you, and the time the request arrived. We do not store your IP address or your browser's cookie id with it. A second request with the same email address and company within 7 days is not stored again.
The form also sends a hidden check field and how long the form was open. Our edge checks them and discards them. To limit abuse, the edge counts requests per network (an IPv4 /24, or an IPv6 /48 and its /32; an IPv6 address that carries an IPv4 address, as 6to4 and Teredo addresses do, counts in that IPv4 /24) and in total for one UTC day, and deletes these counters after that day.
We use your request only to reply about a demo or a possible contract. Only the operator's administrator can read requests. When one arrives, we send ourselves a short private notice naming only the company and category. If we email you about your request, we include our postal address, and you can ask us to stop at any time.
We keep a request for 180 days, then delete it, unless we mark it to keep for an ongoing conversation, in which case we delete it 12 months after the last contact. You can ask us to delete it at any time. Encrypted backups contain requests until those backups expire.
Requests are business data, stored apart from all measurement data; the code and database roles that compute rankings cannot read them.
AI model providers
We reach AI models only through OpenRouter, a gateway that routes each request to the model's provider; we do not call any model provider directly. Every request asks OpenRouter to use only providers that do not collect our prompts. Prompts are written in English and built from coded choices and, for quick battles, the brand names you enter; they never contain any other text you write, your cookie id or your IP address.
Our published measurements use prompts we write ourselves, never visitor data. While quick battles run in sample mode and the Consilium replays a recorded sample, no visitor input is sent to a model; when live mode is enabled, only the brand names and coded choices described above are sent. For Pick Bench, answers are made in advance from our own English prompts for each combination of coded choices; if a combination has no saved answer, we either show the answers saved for the closest combination or send the models only the coded choices you picked. OpenRouter's and each provider's own terms and privacy policies cover what they do with requests.
Backups and logs
Our server's database and files are backed up in encrypted form. By default, rotation keeps the newest local backup and the newest backup of each of the most recent 14 days, 8 weeks and 12 months that have a backup (days, weeks and months without a backup are not counted), and a daily sweep deletes every local backup more than 379 days old, even the newest one.
Encrypted copies also go to an off-site storage provider. We upload off-site copies only within 7 days after a backup was made. Our lifecycle rules at the provider make daily, weekly and monthly off-site copies eligible for expiry 15 days, 57 days and 366 days after upload; where the provider keeps versions, noncurrent or hidden versions become eligible for deletion after a further 14 days. Provider processing can delay actual deletion. A deleted record can remain in a copy until that copy is deleted. Backups exist only to restore the service after a failure.
By default, raw logs of our calls to AI models are deleted after 30 days. They hold prompts built from brand names and coded choices, never your text.
Our server writes one log line per request it receives: the method, the route name, the status, the time taken, a request or query id and a result code. Log lines hold no IP address, cookie, free text or brand names. Our server's logs are kept for at most 30 days.
How long we keep it
| What | How long |
|---|---|
| The client cookies in your browser | 30 days |
| Vote and demo request counters at the edge | Until the end of their UTC day |
| Agent-call and quick battle counters at the edge (per address, or per chat and per account for our bot) | Until the end of their UTC day |
| Quick battle requests, once finished | 30 days |
| Quick battle results and their pages (no data about you) | Reused for up to 14 days; deleted 30 days after the last use |
| Ballots, when votes are enabled | 180 days |
| Hourly vote counters | Up to about a day: deleted at the first sweep after they are 2 hours old |
| Consilium queries, when enabled | At most 30 days |
| Cached Consilium results, once no query refers to them | 30 days |
| Consilium daily quota counters, when enabled | Until the end of the next UTC day |
| Pick Bench rounds and ballots, when enabled | 180 days (network family codes cleared after 90 days) |
| Pick Bench counters at the edge, when enabled | Until the end of their UTC hour (hourly counters and the bot-check mark) or UTC day (daily counters) |
| Pick Bench hourly and daily counts on our server, when enabled | Up to about a day: deleted at the first sweep after they are 2 hours old (hourly counts); at most 4 days (daily counts) |
| Pick Bench keyed hash and first-seen time in active Pick Bench tables, when enabled | Until no round or ballot refers to it and it is older than 180 days |
| Raw logs of AI model calls | 30 days |
| Our server's logs | At most 30 days |
| Telegram bot: hashes of accounts that started it | 365 days, deleted at startup and daily |
| Telegram bot: referral counts (deleted with the referrer's first-start hash) | 365 days, deleted at startup and daily |
| Demo requests, when the form is enabled | 180 days, or 12 months after the last contact if marked to keep |
| Deletion log: keyed identifiers and deletion time | Deleted from the active log by a daily purge once more than 731 days (at least 24 calendar months) have passed since the deletion (copies in backups expire with those backups); kept to reapply deletions after backup restores and as our record that the deletion was carried out |
| Local encrypted backups | Deleted by the daily sweep once more than 379 days old |
| Encrypted off-site backup copies | Provider lifecycle periods and processing time; see Backups and logs |
These are the default settings in our code and deployment. If we change them, we update this table.
Who else handles data
- Cloudflare hosts the pages, runs our edge and provides the Turnstile bot check on the Pick Bench page; it acts as our service provider for hosting, the edge and running Turnstile to secure our site, and as an independent controller when it uses Turnstile signals to improve its bot detection under its Turnstile Privacy Addendum (https://www.cloudflare.com/turnstile-privacy-policy/).
- The provider of the virtual server that runs our application and database.
- The provider of the storage that holds our encrypted off-site backups.
- OpenRouter and the AI model providers it routes our requests to (see AI model providers).
- The messaging service that carries our private notices of new demo requests (company and category only), when the form is enabled.
Telegram, a separate company acting under its own privacy policy, if you use our mini-app or bot.
We may also disclose information when the law requires it, to protect the rights, property or safety of our users, the public or us, or as part of a merger, acquisition or sale of our business, in which case this policy continues to apply to the information transferred.
No sale, no sharing for advertising
We do not sell personal information and do not share it for cross-context behavioral advertising, and we have not done so in the past 12 months. Cloudflare uses Turnstile signals from the Pick Bench page on its own account to improve its bot detection (see Pick Bench and Who else handles data); that use serves security, not advertising, and we receive no money or anything else of value for it. We do no cross-site tracking. We treat a Global Privacy Control (GPC) signal as a request to opt out of sale and sharing; because we do neither, it needs no further action. Because we do no tracking that a Do Not Track signal could turn off, we do not respond to Do Not Track differently.
Your choices and rights
You can ask us what personal information we hold about you, and ask us to correct or delete it. We honor these requests wherever you live; residents of some US states, such as California, have these rights by law. We will not treat you differently for using them. An authorized agent may make a request for you with your signed permission.
Privacy requests: to request access, correction or deletion (including Pick Bench records), email privacy@pickbench.ai and include the client id shown at /en/legal/privacy/my-id/.
Unless you send a demo request, we never learn your name. Our server holds only keyed hashes, so we usually cannot find records about you from a request alone. On the site, deleting the cookie stops your browser from sending that id again, and the /en/legal/privacy/my-id/ page can show that id only before you delete the cookie. Deleting the cookie does not delete what we already store under its hash, and the address of a quick battle result page still points to its request. To have those records deleted, ask us as described below. In our Telegram mini-app, deleting the cookie changes nothing, because the id comes from your Telegram account; if you tell us your Telegram account id, we can find and delete what is stored under its hash.
To make a request, write to privacy@pickbench.ai. We aim to answer promptly and within the time the applicable law sets. We use keyed identifiers to keep less identifying information, so tell us how to find your records: on the site, the client id from the cookie __Host-pickbench_client (open /en/legal/privacy/my-id/ in the same browser to see it) or the address of a quick battle result page you asked for; in our Telegram mini-app or bot, your Telegram account id; for a demo request, the email address you used. We ask only for what we need to find the records and to check that they are yours. If we cannot identify them, we will say so and explain any next step. Your client id
When we carry out a deletion request for records kept under keyed identifiers (such as the hash of a cookie id or of a Telegram account id), we keep a separate, restricted deletion log containing the keyed identifiers we deleted and the deletion time, so that we can reapply the deletion after a backup restore and as our record that the deletion was carried out. It contains none of the deleted records' content (such as rounds, ballots, votes or brand names) and no raw client or Telegram account id. A daily purge deletes each entry from the active log once more than 731 days (at least 24 calendar months) have passed since the deletion; our backup tools refuse to restore backups more than 701 days old. Entries copied into a backup expire with that backup (see Backups and logs).
California residents
In the past 12 months we collected these categories of personal information, from you, your browser, Cloudflare (the result of the bot check) or Telegram, for the purposes described above: identifiers (keyed hashes of a cookie id or a Telegram account id; for demo requests, your name and work email address); internet or other network activity (requests to our edge and API, rate-limit counters, votes and Pick Bench rounds and ballots when enabled, and the browser signals that Cloudflare Turnstile checks); and professional information (your company and brands, for demo requests). We do not collect sensitive personal information as defined by California law, and we keep each category only for the periods in How long we keep it.
Children
The site is intended for adults and is not directed to children. We do not knowingly collect personal information from children under 13, or from anyone under 18. If you believe a child has given us personal information, write to privacy@pickbench.ai and we will delete it.
Security
We protect personal information with measures suited to it: the site is served only over HTTPS, our edge does not forward IP addresses, identifiers are stored as keyed hashes, database roles are separated, and backups are encrypted. No method of transmission or storage is perfectly secure, and we cannot guarantee absolute security.
Visitors from the EEA and the UK
We are based in the United States, and our providers may process data in other countries. If the EU or UK data protection rules apply to you, we process the data described here to provide the features you ask for and for our legitimate interests in running a reliable, fair and secure site and answering business requests. You may have the right to access, correct, delete, restrict or receive your data, to object to its processing, and to complain to your local data protection authority. Write to privacy@pickbench.ai.
Changes
When this page changes, we post the new version here with its date, and the list below says what changed.
- October 17, 2026: final text published, describing how the site works today. It replaces earlier versions. Version: 2026-10-17.1
- October 19, 2026: added Pick Bench, when enabled: coded choices, Cloudflare Turnstile, what rounds and ballots store, the edge and server counters and how long each record is kept, that how other visitors voted is not shown yet, that Pick Bench leaderboards are published only after their method is approved, access and deletion requests and where to send them, and the deletion log, whose entries are kept to reapply deletions after a backup restore and as our record that the deletion was carried out, and are deleted from the active log by a daily purge once more than 731 days (at least 24 calendar months) have passed since the deletion. Version: 2026-10-19.1
Contact
This site is operated by Pickbench (the operator; its legal entity details will be published on this page).
Postal address: will be published on this page when available.
Legal requests, corrections and questions about these pages: legal@pickbench.ai
Privacy requests: privacy@pickbench.ai
To request access, correction or deletion (including Pick Bench records), email privacy@pickbench.ai and include the client id shown at /en/legal/privacy/my-id/.
Operator legal details will be added here when available.