cat ./privacy.md
privacy
What this site measures, who receives it, and the choices you keep. Last updated 2026-08-02.
who
Michaux Kelley runs this site and is the data controller. For any question or request about your data, use the contact form.
what & why
- analytics — Google Analytics 4 (pages visited, referrers, rough geography; GA4 drops IP addresses at collection) and Vercel Analytics (cookieless, aggregate page metrics). Legal basis: consent. Neither loads until you allow it in the cookie form.
- contact form — name, email, and message, emailed to me so I can respond. Legal basis: taking steps prior to entering a contract.
- newsletter — your email plus double-opt-in confirmation and unsubscribe tokens, stored in the site database. Legal basis: consent; unsubscribing withdraws it.
- bot protection — Cloudflare Turnstile on the contact and newsletter forms processes IP and browser signals to keep bots out. Legal basis: legitimate interest in site security.
- hosting — Vercel serves this site and processes IP addresses in server logs as a technical necessity of delivering it. Legal basis: legitimate interest in operating the site.
who receives it
Google LLC (analytics), Vercel Inc. (hosting and analytics), Cloudflare Inc. (bot protection), and an email delivery provider (contact and newsletter mail). Transfers to the US rely on the EU-US Data Privacy Framework. See the google privacy policy (opens in new tab), how google uses partner data (opens in new tab), and the cloudflare privacy policy (opens in new tab).
cookies & storage
Analytics never runs before you allow it. Change your mind anytime — with the button below or the green cookie stuck to the bottom-left of the content on every page.
essential
| name | type | provider | purpose | duration |
|---|---|---|---|---|
| mkelley33.consent.v1 | local storage | this site | remembers your cookie decision | 12 months |
| theme | local storage | this site | remembers your light/dark preference | until cleared |
| turnstile | script | cloudflare | bot protection on the contact and newsletter forms | per form challenge |
analytics
| name | type | provider | purpose | duration |
|---|---|---|---|---|
| _ga | cookie | google analytics | distinguishes returning visitors for usage statistics | 2 years |
| _ga_* | cookie | google analytics | keeps session state for this site’s ga4 property | 2 years |
| vercel analytics | script | vercel | anonymous, cookieless page metrics | no cookies — aggregate, per visit |
retention
Analytics event data is kept for 14 months, then deleted. Contact messages are kept only as long as needed to handle them. Newsletter data is kept until you unsubscribe.
your rights
- withdraw consent at any time — it is as easy as giving it. withdrawing does not affect the lawfulness of anything processed under that consent before you withdrew it.
- ask for access to, correction of, or erasure of your data.
- ask for restriction of processing while a request or objection is being resolved.
- object to processing carried out under legitimate interest.
- ask for data portability — your data handed back in a structured, machine-readable form.
- lodge a complaint with your local supervisory authority.