Privacy
Every page can be read without an account. BidFinder runs no ads or third-party trackers. Two things take an email address, both described below: the email alert, and the sign-in for the Claude connector. The site sets one cookie of its own, only on that sign-in page.
Visits
To know which pages are used, the server counts page loads per day: which section and kind of page, the site or search engine a visit came from (from the Referer header or a utm_source tag), the device family (phone or computer, from the User-Agent), the country Cloudflare reports for the visit, and which crawlers fetch pages. These are totals per day. No IP address, identifier or full URL is stored with them.
The web server keeps a standard access log for a short time, used to run the site and to count page loads and crawler visits.
Claude connector (MCP)
BidFinder's Claude connector at /mcp only reads public tender data. Adding it to Claude asks you to sign in to a free BidFinder account: you enter your email on BidFinder's sign-in page, we email you a 6-digit code, you type it there and press Allow. For this, BidFinder stores:
- your account: your email address, when it was made, and that it was made from the connector;
- while you sign in: your address, the code as a one-way hash and how many wrong tries were made, deleted 30 minutes after your last step; for each code sent, a one-way hash of your address, deleted after an hour, to limit codes per address; and, for a few minutes while you connect, Claude's pending request and the one-time code it trades for tokens (as a hash, with your account);
- for each connection: the app that asked (Claude registers itself with its name and return address), and the access and refresh tokens as one-way hashes, with the account and app they belong to and when they were issued and expire. An access token lasts one hour. A refresh token lasts 30 days and is replaced each time Claude uses it, so a connection's tokens are deleted 30 days after Claude last used them.
The sign-in page sets one cookie, bf_signin: a random value, sent only to that page, which ends within 30 minutes. The code email goes through Resend like the alert emails, with no tracking pixel and no link to track. To stop codes being sent in bulk, the server counts code requests per connection (IP address) over the last hour, in memory only.
Your account stays until you ask us to delete it (write through urbanodx.com); deleting it ends every connection. To disconnect Claude, remove the connector in Claude; its tokens then expire on their own. If your address also gets an email alert, the alert and the account are linked only by that address, and deleting one does not delete the other.
Claude conversations never reach BidFinder: only the tool calls Claude makes. For each tool call the connector adds one to a daily counter: the tool's name, the UTC day, how many results it returned, a range for how long it took, the names of the filters used (never their values) and the country code. It stores no search words, no tender ids, no IP address and no user agent with it. The sign-in steps are counted per day as numbers only (apps registered, sign-in pages shown, codes sent, sign-ins, new accounts, Allow, Cancel, token refreshes). Like any request, a connector call appears in the standard access log above for a short time; that line holds the path /mcp, not what was searched.
Email alerts
On a tender page, and on a buyer, category, state or city page, you can ask for an email when new open tenders like it appear. If you do, BidFinder stores:
- your email address;
- what you follow (a buyer, a category, a place, or a category in a state) and its name;
- a random code for the links in our emails;
- whether you confirmed, and when you asked, confirmed and were last sent an email;
- where the visit you asked from came from, as one word (for example chatgpt, google or direct), and your device family from the User-Agent (for example iphone or windows).
We send one email with a Confirm button. Until you press it nothing more is sent, and a request nobody confirms is deleted after 7 days. Once you confirm, you get at most one email a day, only on days with new tenders. Every email has an unsubscribe link: one click deletes that alert, your address included. One address can follow up to 5 alerts, and each is deleted on its own.
The emails are sent through Resend (resend.com), which receives your address and the email only to deliver it. Your address is never shared with anyone else, never sold and never used for anything but the alert you asked for. BidFinder adds no tracking pixel to its emails. Links to BidFinder pages in the daily email carry utm tags that name it (utm_medium=email, utm_campaign=alert-daily), so a visit from an alert is counted with the other visits above.
We count alert requests, confirmations and unsubscribes per day, by section and by the one-word source above. Those counts never include an address. To stop abuse, the server counts alert requests per connection (IP address) over the last hour, in memory only; that count is never written to disk.
Tender data
Tender data comes from public government feeds. BidFinder leaves out their contact fields (names, emails, phone numbers) and removes email addresses and phone numbers it finds in the notice text.
Questions
Write through urbanodx.com. Updated 9 November 2026.