junbuilds.dev

Privacy

This is a static site with no accounts, no sign-up forms, no payments and no advertising. The short version: it counts page views without cookies, and it can receive email. Everything below is the long version, including the names of the companies that touch a request on its way to you.

Last updated 2026-08-18

Who is responsible

Jun Zhang, operating as Jun Builds, is the data controller for this site. For anything on this page — questions, requests, complaints — write to hello@junbuilds.dev. If you are in the EU or UK and think this site handles your data badly, you also have the right to complain to your national data protection authority.

What the site stores on your device

Nothing. No cookies, no local storage, no device fingerprinting. That is why you were not asked to dismiss a consent banner: there is nothing to consent to. It also means no preference can be remembered between visits, which is a deliberate trade.

Analytics

Page views are counted with Umami, a cookie-free analytics tool running on a server rented and administered by me in Falkenstein, Germany (Hetzner). It is not a third-party analytics service; the data does not go to an advertising company, and it is not sold, shared or joined with anything else.

Each page view records the page address, the referring address if there is one, and browser, operating system, device type, screen size, language and country. To tell repeat views apart within a day, Umami derives a one-way hash from your IP address, your browser identification string and a secret that lives on the server. Your IP address is used to compute that hash and to look up a country, and is not stored. The hash changes every day, so views cannot be linked across days, and there is no profile to attach them to.

One detail worth stating plainly, because it is invisible otherwise: the analytics script is served from junbuilds.dev/_a/ rather than from the analytics server directly. Your browser talks only to this domain; the Worker serving this site forwards the request onwards. That keeps the site’s content security policy closed to outside script hosts — and it does mean a blocklist that filters by domain will not see it, so it is named here instead.

The legal basis is legitimate interest (GDPR Art. 6(1)(f)): knowing which pages get read, in aggregate, without identifying anyone.

Companies in the request path

Cloudflare, Inc. hosts and serves every page. Every request you make to this site passes through their network, so they process your IP address and request details as part of delivering it, and as protection against attack traffic. Cloudflare also runs the email routing described below.

Hetzner Online GmbH (Falkenstein, Germany) hosts the analytics server. Analytics data is stored in the EU.

Google LLC receives mail sent to this domain, because the forwarding address is a Gmail mailbox.

Cloudflare and Google are US companies, so email and request metadata reach the United States. Those transfers rely on the standard contractual clauses and the EU–US Data Privacy Framework respectively.

Email

hello@junbuilds.dev and support@junbuilds.dev are forwarding addresses: Cloudflare Email Routing passes the message to a Gmail mailbox I read. This domain does not send mail. If you write to me, I keep the message for as long as it is useful to keep — a support thread stays until the matter is closed and a while after; ask and I will delete it.

Leaving this site

The newsletter runs on beehiiv and the videos on YouTube. Both are separate services with their own privacy policies and their own cookies, and neither is embedded here — you reach them by following a link, at which point their terms apply, not these. Subscribing to the newsletter happens entirely on beehiiv; this site never sees an email address.

Your rights

Under the GDPR and comparable laws you can ask for access to your data, correction, erasure, restriction, portability, and you can object to processing. Two honest caveats about what that means here. For analytics, there is no identifier that can be traced back to you, so there is genuinely nothing to look up — the flip side of collecting so little is that a request to see “your” records cannot be answered. For email, there is: ask and I will find it or delete it.

Changes

If this policy changes, the date at the top changes with it. The page’s history is public in the site’s repository, so a change is a matter of record rather than of trust.

See also terms · licenses