Skip to content

Effective October 11, 2026

Privacy policy

This policy covers bradbaker-it.com, the portfolio site of Bradley Baker. Short version: Google Analytics and Cloudflare Web Analytics count visits and measure page speed, and neither is used for advertising. Neither runs if your browser sends Global Privacy Control or Do Not Track, if you turn analytics off, or if you visit from the EEA, the UK, or Switzerland. There are no advertising trackers and no third-party cookies. The site stores what you send it on purpose, uses sign-in only for the guestbook, and counts easter eggs without knowing who found them. Domain Recon sends only the domain you enter to Microsoft, public DNS resolvers, and the domain's registry, and does not save it. It does count each request by result and country, without the domain. Header Analyzer reads the header you paste in your browser and sends it nowhere.

Who runs this site

This site is the portfolio of Bradley Baker, a Microsoft identity and Senior Cyber Security Engineer in the San Antonio area. I run it, decide what it collects, and answer questions about this policy (see Contact). Reading the site needs no account. The site is not meant for children under 13 and does not knowingly collect information from them.

Contact form

Your name, email address, optional company, and message are stored in this site's Supabase database so I can reply, and a copy is emailed to my inbox through Resend, an email delivery service. They are not sold or passed to anyone for their own use. To have a message deleted, contact me and I will remove it.

If an address sends spam, I can add it to a blocklist. Messages from a blocked address are discarded without being stored or forwarded, and the address stays on the list until I remove it.

Guestbook sign-in

Signing in is optional, and its only use is the guestbook: it gives each note a real author, so nobody can post under someone else's name. You sign in with GitHub, Google, Microsoft, or LinkedIn through Supabase Auth, which creates an account record holding the basic profile that provider shares: your email address, your name, the provider's ID for your account, and a link to your profile picture if you have one. A GitHub sign-in adds your username, and a Microsoft sign-in also stores the identifiers in Microsoft's sign-in token, such as your account ID and directory ID.

Your note is stored with a display name taken from that profile, never an email address, and the number of eggs you had found. Notes appear only after I approve them. An approved note shows its display name, date, egg count, and message. Your email address, picture, and account IDs are never shown on the site. I see the same fields when I moderate notes, and I can see account records in the Supabase dashboard.

The account record exists only so a note has an author. If you sign out without leaving a note, it is deleted on the spot. If you close the tab instead, an account with no note is deleted automatically within 25 hours of your last sign-in.

If you have left a note, the record stays so you can come back and withdraw it. While signed in, Delete my data in the guestbook removes your account record and every note you wrote, approved or not, or you can ask me to do it. Supabase keeps its own short-lived service logs of sign-in events under its privacy policy.

Google user data

This section covers what the site receives from your Google Account when you choose Continue with Google, and what it does with it.

What the site receives

Google sign-in requests only Google's basic sign-in scopes: openid, email, and profile. Through them, Google shares your Google account ID, your name, your email address and whether Google has verified it, and a link to your profile picture. The site does not request access to Gmail, Drive, Calendar, Contacts, or any other Google service, so it cannot read them.

How it is used

Only to run the guestbook. The account ID ties your sign-ins to one account record, and your name becomes the display name on your note, which appears once I approve it. Supabase Auth needs an email address to create the account, so the address is kept, but the site never shows it, never emails you, and never adds it to a mailing list. The picture link is stored and not displayed; notes show your initials instead. After sign-in, the site makes no calls to Google with your account, and none of this data goes to Google Analytics.

How it is stored and protected

In your account record in this site's Supabase project, a hosted Postgres database, and in a session cookie in your browser while you are signed in. The site is served only over HTTPS. Row-level security in the database lets other visitors read only the display name, date, egg count, and message of approved notes, and the key that can bypass those rules never leaves the server. Nobody else can read your account record through the site.

Who it is shared with

Nobody, for their own use. It is not sold, not used for advertising, and not used to train AI models. The two services that run the site handle it on the site's behalf: Supabase for sign-in and the database, and Cloudflare for hosting.

Keeping it, deleting it, and removing access

Google data lives in the account record, so it is deleted the same way: when you sign out without leaving a note, within 25 hours if you leave without signing out, or through Delete my data or a request to me if you left a note. To stop Google from sharing anything with this site again, open your Google Account, go to Security, then Third-party apps & services, and remove this site (myaccount.google.com/connections). That stops future sign-ins but does not delete the record the site already holds, so use Delete my data for that.

Limited Use

This site's use and transfer to any other app of information received from Google APIs will adhere to the Google API Services User Data Policy, including the Limited Use requirements.

Easter eggs

The site reads what your browser reports about your screen, graphics card, processor, battery, network, and settings to decide which easter eggs you get. That reading happens in your browser, and the easter-egg code never sends the raw details anywhere.

When you find an egg for the first time, the site sends only the egg's name, such as giant-screen, so it can show how many visitors found each one. No identifier, IP address, or device detail is stored with it. If your browser sends Global Privacy Control or Do Not Track, nothing is counted at all.

Domain Recon

The Domain Recon sends the domain you type to this site's server, and nothing else you enter. If you type an email address, the part before the @ stays in your browser. The server then asks Microsoft's public sign-in discovery and Exchange Autodiscover, the public DNS resolvers run by Cloudflare and, if that fails, Google, and the registry for the domain's top-level domain over RDAP, the protocol that replaced WHOIS, about that domain. Those services receive the domain and a request from Cloudflare's network, not your IP address. The lookup asks Microsoft about a placeholder mailbox, never about a real user, and it never contacts the domain's own servers.

Download PDF builds the file in your browser from the report already on screen. The only requests it makes are for this site's own script and font files, and nothing from the report is sent anywhere. The site does not save the domain, the report, or who ran the lookup. It does count each lookup request: one record in a Cloudflare Analytics Engine dataset holding the result (finished, refused, rate limited, or failed) and the two-letter country Cloudflare places your connection in. The record has no domain, IP address, or browser detail, and I use the counts to see how often the lookup is used. The domain does appear in the address of the requests the server makes, so the request logs described under Hosting and service providers can record it. The lookup is limited to six a minute per visitor, using a hash of your IP address that Cloudflare's rate limiter holds briefly, the same way the contact form is limited.

Header Analyzer

The Header Analyzer reads the header you paste, or the .eml file you open, inside your browser. The text and the report are not sent to this site or to anyone else, and nothing from them is stored or counted. Copy report puts the text report on your clipboard and nowhere else.

Analytics

Two analytics tools show me how many people visit, which pages they read, and how fast pages load. Both load only when your browser sends neither Global Privacy Control nor Do Not Track, you have not turned analytics off below, and Cloudflare places your connection outside the EEA, the UK, and Switzerland. That location comes from your IP address, so a VPN or proxy changes it, and a connection Cloudflare cannot place gets no analytics either.

Google Analytics

Google's tag for Google Analytics 4 records the pages you open, the page that sent you here, actions such as scrolling and clicking a link that leaves the site, your browser, operating system, device type, screen size, and language, and a rough location that Google works out from your IP address. Google states that Analytics 4 does not log or store IP addresses. The tag gets nothing from guestbook sign-in: no name, email address, or account ID.

It recognizes a returning browser by two first-party cookies, _ga and one whose name starts with _ga_, which by default expire two years after your last visit. The tag turns off Google's advertising cookies, ad personalization, and Google signals, so Analytics does not link a visit here to a Google account or use it for ads. Google keeps detailed, per-visit Analytics data for at most 14 months, and explains how it handles the data in How Google uses information from sites or apps that use our services.

Cloudflare Web Analytics

Cloudflare's beacon measures how each page performs in your browser: load and render timings, including the Core Web Vitals, which files the page loaded and how long each took, and how much memory it used. It sends those with the page address, the page that linked to it, and a random ID for that one page view, and Cloudflare adds your country, browser, operating system, and device type from the request. The beacon sets no cookies and reads no browser storage, and Cloudflare states that it discards your IP address at its nearest data center instead of storing it. Cloudflare keeps full detail for 7 days and a sample of about 10 percent after that.

Across other sites

Neither tool is set up here to follow you across other websites: the Analytics cookies belong to this site alone, and the beacon uses none. Google and Cloudflare may process this data in the United States and other countries.

Your choice

Analytics are on in this browser.

Turning analytics off stores a cookie named bb_analytics for one year, and both tools stay off in this browser until you turn them back on or clear the cookie. Content blockers stop both tools as well, and Google's opt-out browser add-on stops Google Analytics on every site.

In your browser

Local storage holds your theme choice and your easter-egg finds (bb:theme, bb:eggs:v1, bb:player:v1, bb:reported:v1). While you sign in, session storage holds bb:return-to-guestbook so you land back on the guestbook; it is cleared the next time the home page loads, or when you close the tab. Google Analytics adds its _ga cookies when analytics run, and turning analytics off stores bb_analytics. A Supabase session cookie exists only if you sign in to the guestbook. Clearing site data removes all of it, your analytics choice included.

Hosting and service providers

The site runs on Cloudflare Workers. Cloudflare records each request, including your IP address, browser details, and the page you came from, in logs I can read to troubleshoot the site, and deletes them within 7 days. Rate limits on the contact form, the egg counter, and the tenant lookup key on a hash of your IP address, held briefly by Cloudflare's rate limiter. If the contact form shows a Cloudflare Turnstile check, that check is governed by Cloudflare's terms as well.

Supabase hosts the database and runs sign-in, Resend delivers contact-form messages to my inbox, and Google and Cloudflare run the analytics described above. Each handles that data under its own privacy policy.

Changes to this policy

When this policy changes, the date at the top changes with it. Before sign-in data is used for anything new, you will be asked first.

Contact

For questions, or to see, correct, or delete what the site holds about you, use the contact form or email me ().

Recon log

Findings 0/46

0/16 behavior and secret eggs. Hardware finds depend on the machine you visit from.

Hardware details are read by your browser and stay there. When you find an egg, only its name is counted, with no identifier attached, and nothing is counted if Global Privacy Control or Do Not Track is on.

Display0/7

  • Undiscovered (not found yet)

    rare

    Hint: Visit on a very large display.

  • Undiscovered (not found yet)

    uncommon

    Hint: Some monitors are wider than others.

  • Undiscovered (not found yet)

    uncommon

    Hint: Two screens are better than one.

  • Undiscovered (not found yet)

    rare

    Hint: Turn a monitor on its side.

  • Undiscovered (not found yet)

    common

    Hint: Pixels per inch matter.

  • Undiscovered (not found yet)

    uncommon

    Hint: Faster than 60 frames a second.

  • Undiscovered (not found yet)

    common

    Hint: Colors beyond sRGB.

Hardware0/11

  • Undiscovered (not found yet)

    rare

    Hint: Bring a flagship graphics card.

  • Undiscovered (not found yet)

    legendary

    Hint: A GPU that lives in a rack.

  • Undiscovered (not found yet)

    common

    Hint: A Mac with Apple silicon.

  • Undiscovered (not found yet)

    rare

    Hint: A Windows machine built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: A Mac built for heavy work.

  • Undiscovered (not found yet)

    rare

    Hint: Two dozen threads or more.

  • Undiscovered (not found yet)

    rare

    Hint: Windows, but not on x86.

  • Undiscovered (not found yet)

    uncommon

    Hint: The year of the Linux desktop.

  • Undiscovered (not found yet)

    uncommon

    Hint: A laptop that boots straight into a browser.

  • Undiscovered (not found yet)

    uncommon

    Hint: No graphics card at all.

  • Undiscovered (not found yet)

    common

    Hint: A laptop you can poke.

Environment0/11

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit while your battery is nearly flat.

  • Undiscovered (not found yet)

    uncommon

    Hint: Your browser has a setting for saving data.

  • Undiscovered (not found yet)

    uncommon

    Hint: Visit very late at night.

  • Undiscovered (not found yet)

    common

    Hint: Visit on a day off.

  • Undiscovered (not found yet)

    uncommon

    Hint: A browser with a lion on it.

  • Undiscovered (not found yet)

    common

    Hint: A browser with a fox on it.

  • Undiscovered (not found yet)

    uncommon

    Hint: An accessibility setting that calms things down.

  • Undiscovered (not found yet)

    uncommon

    Hint: Tell websites not to track you.

  • Undiscovered (not found yet)

    rare

    Hint: Visit from the Lone Star State.

  • Undiscovered (not found yet)

    common

    Hint: A newer version of HTTP.

  • Undiscovered (not found yet)

    rare

    Hint: A very narrow window.

Behavior0/7

  • Undiscovered (not found yet)

    uncommon

    Hint: Drag the edge of your browser window around.

  • Undiscovered (not found yet)

    uncommon

    Hint: Reach the bottom of the page quickly.

  • Undiscovered (not found yet)

    uncommon

    Hint: Try printing this page.

  • Undiscovered (not found yet)

    common

    Hint: Toggle the theme a few times.

  • Undiscovered (not found yet)

    rare

    Hint: Lose your connection.

  • Undiscovered (not found yet)

    rare

    Hint: Plug in a controller and press a button.

  • Undiscovered (not found yet)

    uncommon

    Hint: Sign the guestbook.

Secrets0/10

  • Undiscovered (not found yet)

    rare

    Hint: A famous cheat code.

  • Undiscovered (not found yet)

    common

    Hint: There's a terminal in here somewhere.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal about your machine.

  • Undiscovered (not found yet)

    uncommon

    Hint: Ask the terminal for root.

  • Undiscovered (not found yet)

    rare

    Hint: sudo, but make it a job offer.

  • Undiscovered (not found yet)

    rare

    Hint: The most dangerous command there is.

  • Undiscovered (not found yet)

    legendary

    Hint: Open your browser's developer console.

  • Undiscovered (not found yet)

    uncommon

    Hint: Click the logo. Then keep clicking.

  • Undiscovered (not found yet)

    legendary

    Hint: Type the 82nd's favorite word anywhere on the page.

  • Undiscovered (not found yet)

    legendary

    Hint: Find every egg that doesn't depend on your hardware.

Finds are saved in this browser only.

guest@bradbaker-it.com:~