Satsu
Cookielose Analytics, AI-Traffic-Attribution, Site-Audits und Uptime — an einem Ort, ohne Consent-Banner.

- 18
- 2,9 KB
- 5
- 0
// DAS PROBLEM
Ich wollte Analytics für meine eigenen Projekte und konnte mit den Optionen nichts anfangen: Cookie-Banner, DSGVO-Aufwand, Dashboards voller Rauschen. Also habe ich Satsu gebaut. Die erste Version lief auf einem einzelnen Express-Server; ein unabhängiger Entwickler hat das Skript in zwei indonesischen Regierungsprojekten eingesetzt (unter NDA). 2026 habe ich das Ganze als Plattform neu gebaut, öffentlich auf satsu.pro relauncht. Seitdem ist aus Analytics eine Site-Health-Suite geworden: 18 Services um eine Event-Pipeline.
// WAS ICH GEBAUT HABE
Ein Tracker, der nur rohe Signale liefert — Pageviews, Custom Events, SPA-Navigation, ausgehende Klicks, Downloads, Scroll-Tiefe, echte Core Web Vitals — in 2.880 Bytes abhängigkeitsfreiem JavaScript, gemessen am Produktions-Build.
Eine Go-Event-Pipeline — Ingest → NATS JetStream → Processor → ClickHouse — mit Bot-Filter und Geo- und Geräte-Anreicherung im Stream; der Ingest bleibt oben und puffert weiter, während alles dahinter neu deployt.
Eine AI-Traffic-Suite: Attribution pro Assistent über 18 AI-Hosts (ChatGPT, Perplexity, Claude, Gemini …), der Anteil der Sessions mit AI-Touch, aus Sec-Fetch-Site rekonstruierte externe Klicks ohne Referrer, AI-Landingpage-Aufschlüsselung und AI-Crawler-Sichtungen.
Fünf Audit-Säulen — SEO, WCAG 2.1 AA, Security-Header, DSGVO, Lighthouse-Performance — ausgeführt von Headless-Chromium-Workern, dazu Uptime- und TLS-Ablauf-Monitoring, Anomalie-Alerts, öffentliche Monitor-Links und eine Statusseite.
Mandanten-Struktur Organisation → Workspace → Site, einer org-gebundenen Read-only-API und Stripe-Billing (Merchant of Record) mit Trials, Gutscheinen und weichen Limits, die nie Daten löschen — in einem selbst gehosteten Monorepo mit Verify-Umgebung pro Push, SHA-gepinnten Swarm-Deploys und nächtlichen, restore-getesteten Backups.
// DER SPANNENDE TEIL
Satsu erkennt einen Besucher, ohne je ein Cookie zu setzen. Der Processor bildet pro Tag eine Session-ID als sha256(siteId | maskierte IP | User-Agent | Datum | Salt), gekürzt auf 16 Hex-Zeichen — das Datum steckt im Hash, also rotiert die ID um Mitternacht UTC, und dieselbe Person ist morgen eine neue, nicht verknüpfbare Session. Und weil ClickHouse nur rohe, angereicherte Events speichert, entsteht alles darüber — Sessions, Bounce, Channels, Goals, die AI-Attribution — erst zur Query-Zeit: Ein besserer Classifier wirkt rückwirkend auf die gesamte Historie, ohne eine einzige Zeile neu zu verarbeiten.
// IM PRODUKT




// ERGEBNIS
Live auf satsu.pro seit dem Relaunch im Juli 2026, mit freier Registrierung und bezahlten Plänen; obendrauf kamen AI-Traffic-Attribution, fünf Audit-Säulen und Uptime-Monitoring. Ein Drittentwickler hat Satsu in zwei südostasiatischen Regierungsprojekten eingesetzt (unter NDA); es verarbeitet rund 620k–1 Mio. Events pro Monat.