Getting found · Edition No. 30 · 24 Sep 2026

arp242/goatcounter

Web analytics that records a visit by hashing non-identifying details rather than storing an identifier, so it keeps no personal data and needs no cookie banner.

← Getting foundRead the whole edition →

5,858 stars · EUPL-1.2 (modified) - the LICENSE file states 'a slightly modified version of European Union Public License (EUPL) 1.2', changing the appendix that lists compatible licences; count.js is ISC · v2.7.0 (2025-12-15, the release title carries the year and ungh agrees) · Track this in Scout

Web analytics that records a visit by hashing non-identifying details rather than storing an identifier, so it keeps no personal data and needs no cookie banner.

▶Repo detailsthe review · specs · pros & cons · install

What it is

GoatCounter is a web analytics program written in Go. A visit is recorded by hashing a few non-identifying details rather than by storing an identifier, so the same person on the same day counts once without a record that can be traced back.

What it is good for. Anyone who put a large analytics script on a small site, then found themselves adding a consent banner to justify it. It is also for anyone who only ever looked at two numbers — how many people, and which page — and never used the other four hundred.

Stars5,858
LicenceEUPL-1.2 (modified) - the LICENSE file states 'a slightly modified version of European Union Public License (EUPL) 1.2', changing the appendix that lists compatible licences; count.js is ISC
Latestv2.7.0 (2025-12-15, the release title carries the year and ungh agrees)
Good
  • No cookies and no personal data, which removes an entire legal conversation for a small site.
  • The counting script is about 3 KB, against roughly fifty times that for the large hosted products, so pages stay fast.
  • It runs on SQLite, a database that is just a file, so there is nothing else to install or back up separately.
Watch for
  • The licence is EUPL-1.2 with a modification to its compatible-licence appendix, written by the author. EUPL is a real open-source licence and this is the third project in this archive to use it, but a modified licence is a licence somebody has to read.
  • The newest release is v2.7.0 from 15 December 2025 while code landed on 20 July 2026, so a release is nine months old. That is a release habit, not a sign of trouble.
  • It is deliberately simple. There are no funnels, no cohorts and no session recordings, and no plan to add them.
Similar repositories
Install
curl -fsSL -o goatcounter \
  https://github.com/arp242/goatcounter/releases/latest/download/goatcounter-linux-amd64
chmod +x goatcounter
./goatcounter db create site -vhost stats.example.com -user.email you@example.com
./goatcounter serve -listen :8081 -tls http
Screenshots
arp242/goatcounter: GitHub preview card

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.