Skip to content

Tidesight 0.2.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 13:03
· 6 commits to main since this release

The first public release of Tidesight: self-hosted web analytics that keeps every raw hit, on the hosting you already have.

Try it first: the live demo is the real dashboard and Python web app, running in your browser on made-up data for three websites.

Install

In your website's folder, then follow the deployment guide:

curl -L https://github.com/mayerwin/Tidesight/releases/latest/download/tidesight.tar.gz | tar xz

tidesight.tar.gz is the code, unpacked as app/. Installed copies look for new releases once a day and install them from the dashboard (Status page → Update).

What is in it

  • Tracker: ts.js, about 8 KB gzip, with plugins loaded only where they are switched on: clicks and heatmaps, scroll, forms, Web Vitals, errors, mouse movement, session replay (rrweb), bot signals.
  • Collector: Python's standard library, every hit appended raw to SQLite; FastCGI or CGI on shared hosting, with PHP, Node and Cloudflare Workers connectors that pass the same conformance suite.
  • Jobs: sessions, geolocation, devices, bots, channels (GA4 grouping, AI assistants included) and identity, derived again whenever the rules improve.
  • Dashboard: overview and realtime, acquisition, content, locations, technology, events, goals, an explorer, funnels, retention, heatmaps, replays, forms, site search, Web Vitals, errors, visit timelines and visitor profiles; comparisons, filters, segments, annotations and exports everywhere.
  • Run it: properties and people managed in the dashboard (the first account with a setup code from the server, invitations as one-time links), everything in one folder behind an .htaccess that Tidesight checks from the outside, one-click updates with a rollback.
  • Privacy and security: a privacy mode (IP truncation or hashing, retention windows, Do Not Track and GPC, no fingerprinting), bounded public endpoints, no secrets stored, a strict Content Security Policy, and adversarial security reviews with every finding fixed and tested.

Updating from 0.1.0

Admins see 0.2.0 on the Status page within a day of its release (or at once with python3 -m tidesight.jobs update --check); Update installs it at the next cron run and keeps 0.1.0 for update --rollback.