Privacy Policy
This is a personal portfolio site. It is not a business, does not sell anything, and does not build profiles on visitors. Below is a plain-language breakdown of every piece of data collected — by this site and by the third-party services it runs on.
Google Analytics is only loaded if you accept cookies. If you decline, the script never runs and nothing is sent to Google.
When active, Google Analytics collects:
- Approximate location (city level — derived from IP, not GPS)
- Pages visited and time spent on each
- How you arrived (direct link, search engine, referral)
- Browser, OS, and device type
- Session duration and whether it is a return visit
This data goes to Google's servers and is governed by Google's Privacy Policy. I use it only to see visit counts and which sections people actually read — nothing more.
This site is served through Cloudflare. Every request passes through their network before reaching you — this cannot be disabled. It is how the site stays fast and protected from abuse.
Cloudflare processes:
- Your IP address and approximate location
- The full URL of every page you request
- Browser user-agent string
- Request timing and HTTP response codes
- A small client-side script that decodes obfuscated email addresses on the page
Cloudflare retains request logs for a limited period for security purposes. I do not have access to raw IP-level logs. Their full data practices are in the Cloudflare Privacy Policy.
The guestbook is entirely opt-in. If you do not submit an entry, nothing is stored about you.
When you submit, the following is stored in a Cloudflare D1 database (Cloudflare's serverless SQLite product — the same infrastructure that already handles all requests to this site):
- The name you enter (no verification — use whatever you want)
- Your message
- A timestamp
- Your IP address, stored temporarily and used only for rate limiting to prevent spam
- A random token saved in your browser's localStorage so you can edit or delete your own entry later
Because D1 is a Cloudflare product, guestbook data does not leave Cloudflare's infrastructure. IP addresses are not linked to your name or message anywhere I surface them. Cloudflare's data practices apply: cloudflare.com/privacypolicy.
The site saves a few small preferences to your browser's localStorage. None of this is ever transmitted — it lives only on your device and is only read by this site.
- cookie-consent — your accept/decline choice
- snow-hue / snow-alpha — your accent color preferences
- snow-analytics — basic session info shown in the Visitor Insights card
- snow-sessions — last 7 session durations, shown locally only
- snow-photos-v1 — cached photo filenames to avoid repeat GitHub API calls
- snow_gb_tokens — your guestbook edit token, if you signed it
- snow-commits-* / snow-stats-* — cached GitHub API responses