Analytics

Whether anyone read it, on what, and whether it threw an error while they did.

An artifact that nobody can measure is an artifact you cannot improve. Two signals are collected today, both by the edge worker, and both derived from the request rather than asserted by the page.

Views

A small beacon reports four things only the page knows: how long it was visible, whether anyone touched it, which path, and the referrer. Everything else — device class, operating system, browser — is derived by the worker from headers it observed.

That split is a security property rather than a style. The beacon runs inside a page the platform did not write, so every field it could assert is a field it could forge: a client that can name its own country can name a hundred of them.

The visitor's address is the sharpest edge. It arrives on every request, it is the one genuinely identifying value in the exchange, and it is never stored — it goes into a hash and out of scope in the same expression.

Errors

When an artifact throws in somebody's browser, the fault is relayed to the platform and the owner is told. Before that, an artifact that broke on a phone reported nothing to anybody, which is indistinguishable from an artifact nobody opened.

What is not built yet

There is no per-artifact analytics report. The pipeline is live and the gallery shows a view count and who is reading right now, but the page that breaks those numbers down — over time, by device, by path — has not been built. It is named here rather than left out, because a missing report and an empty report look identical from outside.

Artifacts cannot collect visitor data. There is no endpoint an artifact can post a survey answer or a tracker entry to. An agent that assumes otherwise ships a survey that silently discards every answer, which is why the craft guidance refuses to describe it. Until that lands, an artifact that needs to keep something must keep it in the visitor's own browser and say so.