Privacy & credits.
Reading comes first.
You don’t need an account to read my blog. I don’t use advertising, session recordings, or tools that track you for advertising.
Traffic statistics
Cloudflare Web Analytics provides aggregate statistics about visits, pages and referring sites. Its beacon does not use analytics cookies or local storage. Browser protections may block it. See Cloudflare’s privacy policy for its handling of data.
Email updates
I use Resend to send confirmation emails and new article updates. You only join my newsletter after confirming your address. Each newsletter includes a way to unsubscribe. Cloudflare temporarily stores pending addresses and hashed confirmation tokens for up to 24 hours, with hourly cleanup. HMAC-derived rate-limit identifiers are kept for up to 48 hours, with hourly cleanup. I don’t log form bodies or confirmation tokens. See Resend’s privacy policy.
I use Cloudflare Turnstile on the email signup form to limit automated signups. It processes technical browser and connection information, including your IP address, to verify the request. See Cloudflare’s privacy policy.
Embedded video
My Research page includes an embedded YouTube video. The player loads as you approach the video section, without a separate confirmation. It uses youtube-nocookie.com, but loading and playing it still connects to Google and is subject to its privacy policy. You can also follow the external link to watch on YouTube.
Hosting and external links
I host this blog on Cloudflare Pages. Hosting providers process technical request data to deliver websites. Links to GitHub, YesWeHack, HackerOne and LinkedIn take you to services with their own privacy practices.
Made with
Next.js, shadcn/ui, custom pixel icons, Inter, JetBrains Mono and Silkscreen. The sailboat illustration was created with AI assistance for this blog.
Get in touch
Have a question about my blog? Contact me on LinkedIn.