GTM Analytics

No. 13 of 30 ยท Open source and self-hosted

Shynet

Analytics that works with JavaScript switched off, because it counts with an image.

Original abstract illustration in the form of a waffle chart, drawn for this review
The one fact worth knowing

Its no-JavaScript mode uses a tracking pixel, so it still reports on visitors who block scripts entirely.

The verdict

Shynet is a self-hosted Django analytics application with one idea that earns it a place here: it works properly without JavaScript. A single tracking pixel is enough to record a visit, which means it counts the visitors that every script-based tool on this list silently loses, and it means it can be deployed on sites that forbid client-side scripts outright.

That gives it the only 10 for privacy on this list alongside nothing else, because when the mechanism is an image request there is very little to argue about. No cookies, no fingerprinting, no client-side execution, and the data lands in a Postgres database you own.

What you actually get

Everything else is austere. The dashboard reports sessions, hits, referrers, locations and durations, and that is close to the whole list. No funnels, no goals, no segmentation, no behaviour tooling. Depth scores a 2 and that is not an oversight in the scoring.

Running it means running Django and Postgres, which is a familiar stack for a lot of developers and an unfamiliar one for everybody else. The project is small and its release cadence has been slow, which for self-hosted software is a smaller risk than for a service but still says something about the support you should expect. The right way to think about Shynet is as a principled minimum: the least tracking that still produces a number, on hardware you control.

Best for

Privacy-maximalist developers and organisations who want the lowest-impact measurement possible, particularly where client-side JavaScript is restricted or blocked.

Getting it running

Docker against Django and Postgres. Comfortable for a Python developer, a project for anybody else.

What to watch out for

Extremely limited reporting: sessions, hits, referrers and little else. Django and Postgres to operate. A small project with a slow release cadence and no hosted fallback. Pixel-based counting cannot measure engagement time or scroll the way a script can, so the numbers answer a narrower question.

Pricing and practicalities

Free and open source, self-hosted only, Django and Postgres. JavaScript-free operation via a tracking pixel is the documented default rather than a fallback. Read 2026-09-11.

Who should go elsewhere

Anyone who needs to understand behaviour or conversion, where even Umami offers considerably more and Microsoft Clarity answers a different question for nothing. Also not for teams without Python operations experience, where GoatCounter's single binary is far less work.

How it compares

Against GoatCounter, which also supports a pixel and log parsing, the two are close and GoatCounter is easier to deploy. Against Absolutely Analytics it is the maximal-privacy, minimal-insight end of the same argument.

The ten measures

Each measure is scored 0 to 10 and weighted. The overall figure is the weighted mean, and it is relative to the other 29 tools on this list rather than absolute. How this works.

  • Insight quality ×35
  • Privacy architecture ×210
  • Value for money ×28
  • Setup and time to data ×1.55
  • Script weight ×1.510
  • Analytical depth ×12
  • Behaviour tooling ×11
  • Data ownership ×110
  • Accuracy ×15
  • Vendor conduct ×17

What this rests on

Sources

Shynet's public repository and documentation, read 2026-09-11, including its stated deployment requirements and its description of JavaScript-free operation.

Evidence

Desk research against the project's repository and README, plus its public release history. A thin entry: there is little published material beyond the repository, and the scores reflect what is publicly knowable.

This is a desk review. I have not been given access by the vendor, I have no commercial relationship with them, and everything above is my opinion rather than a statement of fact. If something here is wrong, tell me and I will correct it.