Privacy
This site uses one shared, privacy-respecting analytics layer. Here's exactly what that means, and how to turn it off.
Your choice
Analytics are on by default, disclosed on first visit. This control is the stable, reversible place to change that at any time, on any page. Your choice is stored only in your own browser and never sent anywhere by itself.
What's collected, and why
- Page views
- PostHog's standard
$pageviewautocapture. Answers "is anyone actually visiting this page." - A small set of semantic interactions
- Which nav links, portfolio projects, AI Lab tools, and primary calls-to-action get used, plus outbound link clicks (GitHub, LinkedIn, résumé, etc.). Each event exists to answer one specific, stated question about whether a part of the site works, not to build a behavioral profile. This is deliberately not comprehensive click-tracking.
- Aggregate chat engagement
- Whether a visitor sent at least one message to the AI Lab chat, once per session. The same aggregate pattern covers /prehog's own "Ask about PostHog fit" chat (plus which preset starter question was used, and whether the conversation was reset; see its supplemental privacy page). In every case, message content, prompts, and responses are never sent to PostHog or any other analytics. See the AI Lab chat's own "Privacy & Data Handling" panel for how that product handles conversation data, and how it's transmitted (Firebase Functions to OpenRouter, not analytics) instead.
What's deliberately not collected
No names, no email addresses, no precise location beyond PostHog's default
country-level estimate, and no cross-site identity linking: there's no
identify() call anywhere on this site, so every visitor stays
anonymous to it. No blanket click-tracking, and PostHog itself never captures
free text beyond the one Session-Replay-masked field on /prehog's
own survey. That's specifically about what reaches PostHog: the AI Lab
chat features (site-wide and on /prehog) do transmit your
typed questions as free text, but to Firebase Functions and OpenRouter, a
separate destination from PostHog entirely, detailed in the chat-engagement row
above and each feature's own privacy disclosure.
Where it goes
Events are sent to PostHog through t.benlive.tv, a first-party
reverse-proxy subdomain that forwards ingestion traffic to my own PostHog
project, not directly to a third-party domain. Persistence is
localStorage+cookie, scoped to this site. See PostHog's own
privacy policy
for how they handle it on their end. Nothing is sold or shared with third
parties for advertising.
/prehog runs more
/prehog is a working PostHog implementation built to demonstrate PostHog competence, so it additionally runs Session Replay, a short survey, and its own "Ask about PostHog fit" AI chat, all scoped to that one page. Its own supplemental privacy page covers exactly what's different there.
Last updated: August 2026. Questions go to Ben McNulty via Hire Me.