Build log

Why this website runs no JavaScript

Logged

Open the developer tools on this page and look at the network tab. There is no script.

Not "minimal scripts." Not "only essential analytics." None. The page ships HTML, two stylesheets and two images, and that is the whole of it.

You can verify this without trusting us. View the source. The only <script> tag you will find is a block of application/ld+json — structured data stating what this site is. Browsers do not execute that type. It is a data block; nothing inside it can run.

Everything else is held down by the policy the page carries in its own head:

Content-Security-Policy: default-src 'none'; script-src 'none'; style-src 'self';
img-src 'self'; font-src 'self'; base-uri 'none'; form-action 'none'

And by one line the server adds to every response of its own:

Content-Security-Policy: frame-ancestors 'none'

script-src 'none' is not a preference. It is an instruction to your browser to refuse to run any script on this page, including one we might add later by mistake. If someone here adds a tracker tomorrow, the browser blocks it and the page breaks loudly. We would rather it break loudly.

What this costs us

We do not know you are reading this.

We cannot tell how far down the page you got, whether you came from a search or a link, what you looked at before, or whether you will come back. We have no funnel, no heatmap, no session recording, no retargeting pixel. When we want to know whether writing this was worth it, we have to ask someone, or wait for them to tell us.

That is a real cost and we are not going to dress it up as a clever growth strategy. It is worse for us. We have less information than every competitor.

What it buys

It means we cannot quietly change our minds.

A privacy policy is a promise about what we do with what we collect. This is a different kind of statement: there is no mechanism here that could collect anything in the first place. The absence is structural, not a setting, and you can confirm it yourself in about four seconds.

Most sites that say "we respect your privacy" are running a dozen scripts that say otherwise. We did not want to be in the position of writing that sentence and hoping you would not check.

The decision behind it

We did not remove JavaScript from this site. We never added it.

That distinction matters more than it sounds. Removing tracking is a project someone has to champion, and it can be quietly reversed by the next person who needs a number for a slide. Never adding it means the strict thing is the default, and weakening it later requires someone to deliberately edit a policy that is checked into the repository and enforced by the browser.

We would rather the strict thing be the path of least resistance. That preference shows up in a lot of what we build, and it is usually the only reason a principle survives contact with a deadline.


This is a build log. It describes a decision already made, not a plan.

All build log entries