Native iOS-App für Umami und Plausible Analytics.
- Multi-Account-Unterstützung: Verwalte mehrere Analytics-Konten verschiedener Anbieter in einer App
- Echtzeit-Dashboard: Besucher, Seitenaufrufe, Absprungrate und Sitzungsdauer auf einen Blick
- Detaillierte Analysen: Top-Seiten, Referrer, Geografie, Geräte und Browser
- Periodenvergleich: Beliebige Zeiträume vergleichen (Woche, Monat, Jahr)
- Events & Reports: Custom Events, Funnel-Analysen, UTM-Tracking, Goals und Attribution
- Home-Screen-Widgets: Schneller Blick auf die wichtigsten Statistiken direkt vom Home Screen
- Push-Benachrichtigungen: Tägliche oder wöchentliche Zusammenfassungen
- Offline-Modus: Gecachte Daten als Fallback auch ohne Netzwerk verfügbar
- Dark Mode: Vollständige Unterstützung für den Dunkelmodus
- Lokalisierung: Deutsch und Englisch
| Anbieter | API | Funktionen |
|---|---|---|
| Umami | REST API | Alle Funktionen inkl. Sessions, Journeys, Share-Links |
| Plausible | Stats API v2 | Dashboard, Diagramme, Metriken (keine Einzelsitzungen) |
| Anbieter | Benötigte Version | Anmerkung |
|---|---|---|
| Umami | ab 3.0 (self-hosted) | Ab v3 liefert /api/websites/{id}/stats flache Werte plus comparison. Umami 2.x verwendet ein anderes Antwortformat und wird nicht unterstützt. |
| Plausible | ab CE 2.1 bzw. Cloud | Erst ab CE 2.1 gibt es die Query-API POST /api/v2/query. Zusätzlich wird GET /api/v1/stats/realtime/visitors für Echtzeitdaten genutzt. |
Wichtige Einschränkungen:
- Umami Cloud wird derzeit nicht unterstützt. Die App meldet sich über
POST /api/auth/loginan und nutzt ein Bearer-Token. Umami Cloud (api.umami.is) verlangt stattdessen einenx-umami-api-key-Header. Es funktionieren also nur selbst gehostete Instanzen. - Plausibles Sites-API ist Cloud/Enterprise-only. Websites anlegen und löschen, Ziele verwalten und Share-Links erzeugen laufen über
/api/v1/sites…. Diese Routen gibt es in der Community Edition nicht — auf CE-Servern meldet die App das als nicht verfügbar. Dashboard, Diagramme und alle Statistiken funktionieren dort uneingeschränkt. - Die Plausible-Stats-API v1 ist zwar als „legacy" markiert, in CE 3.2 aber weiterhin verfügbar; ein Abschalttermin ist nicht angekündigt.
StatFlow verwendet MVVM mit klarer Schichttrennung und einem einheitlichen Provider-Protokoll, das Umami und Plausible abstrahiert.
┌─────────────────────────────────────────┐
│ Presentation Layer │
│ SwiftUI Views + ViewModels │
│ (Dashboard, Detail, Reports, Events) │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ Service Layer │
│ UmamiAPI · PlausibleAPI (actors) │
│ AccountManager · AnalyticsManager │
│ NotificationManager │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ Model Layer │
│ Codable structs für API-Responses │
│ AnalyticsWebsite · AnalyticsStats │
│ AnalyticsMetricItem · DateRange │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ Infrastructure Layer │
│ KeychainService · AppDelegate │
│ AnalyticsCacheService │
│ BackgroundTasks · UserNotifications │
└─────────────────────────────────────────┘
Kernprinzipien:
- AnalyticsProvider-Protokoll: Einheitliche Schnittstelle für Umami und Plausible — ViewModels arbeiten provider-agnostisch
- Actor-based Concurrency:
UmamiAPIundPlausibleAPIsind Swift Actors für thread-sichere API-Kommunikation - Credential-Isolation: Zugangsdaten in der Keychain pro Account-ID gespeichert (nicht in UserDefaults)
- Keine externen Dependencies: Ausschließlich Apple Frameworks (SwiftUI, Foundation, WidgetKit, Security, UserNotifications, BackgroundTasks)
| Dashboard | Website-Detail |
|---|---|
![]() |
![]() |
| Echtzeit | Widgets & Benachrichtigungen |
|---|---|
![]() |
![]() |
- iOS 18.0+
- Eigene Umami-Instanz ab Version 3.0 (self-hosted) oder eigene Plausible-Instanz ab CE 2.1 bzw. Plausible Cloud
Details und Einschränkungen siehe Server-Kompatibilität.
Verfügbar im App Store: StatsFlow
Im App Store heißt die App StatsFlow — der Name StatFlow war dort bereits vergeben. Repository, Quellcode und Dokumentation verwenden weiterhin StatFlow.
- Repository klonen:
git clone https://github.com/Revisor01/StatFlow.git
InsightFlow.xcodeprojin Xcode 16+ öffnen (der Xcode-Zielname stammt aus der Entwicklungshistorie der App und wurde bei der Umbenennung zu StatFlow beibehalten)- Bundle ID in den Signing-Einstellungen auf die eigene Team-ID anpassen
- Auf Gerät oder Simulator bauen und ausführen
- App starten
- Analytics-Konto mit Server-URL und API-Zugangsdaten hinzufügen
- Websites auswählen und Statistiken anzeigen
- Optional: Widgets auf dem Home Screen hinzufügen und Benachrichtigungen aktivieren
Beiträge sind willkommen! Pull Requests können gerne eingereicht werden.
Dieses Projekt steht unter der GNU General Public License v3.0 — siehe LICENSE für Details.
- Umami Analytics — Open-Source, datenschutzfreundliche Web-Analytik
- Plausible Analytics — Einfache, datenschutzfreundliche Analytik
Dies ist eine inoffizielle Companion-App. StatFlow ist nicht mit Umami Software, Inc. oder Plausible Insights OU verbunden oder von diesen unterstützt.
Die vollständige Datenschutzerklärung ist auch unter simonluthe.de/apps/statflow/datenschutz verfügbar.
Verantwortlicher
Simon Luthe Suderstrasse 18 25779 Hennstedt Deutschland
E-Mail: mail@simonluthe.de Telefon: +49 151 21563194 Web: simonluthe.de
Datenverarbeitung
StatFlow speichert und verarbeitet folgende Daten ausschließlich lokal auf deinem Gerät:
- URLs deiner Umami- oder Plausible-Instanzen
- API-Zugangsdaten (Token, Benutzername/Passwort) für die Authentifizierung
- App-Einstellungen und Präferenzen
- Gecachte Analytics-Daten für den Offline-Modus
Es werden keine Daten an externe Server übertragen. Die gesamte Kommunikation erfolgt ausschließlich zwischen deinem iOS-Gerät und deinen konfigurierten Analytics-Instanzen.
Keine Tracking- oder Analysedienste
StatFlow verwendet:
- Keine Analytics oder Tracking-Tools
- Keine Werbung
- Keine Cloud-Dienste
- Keine Drittanbieter-SDKs, die Daten sammeln
Netzwerkverbindungen
Die App stellt ausschließlich Verbindungen zu den von dir konfigurierten Analytics-Instanzen (Umami oder Plausible) her.
Datenspeicherung
Alle Daten werden lokal in der iOS-Keychain (für Zugangsdaten) bzw. in den App-Einstellungen gespeichert. Bei Deinstallation der App werden alle Daten vollständig entfernt.
Deine Rechte (DSGVO)
Da alle Daten ausschließlich lokal auf deinem Gerät gespeichert werden und keine Übertragung an den Entwickler oder Dritte erfolgt, hast du die volle Kontrolle über deine Daten. Du kannst diese jederzeit durch Löschen der App vollständig entfernen.
Bei Fragen zum Datenschutz kannst du dich jederzeit an die oben genannte Kontaktadresse wenden.
Änderungen
Diese Datenschutzerklärung kann bei Bedarf aktualisiert werden. Die aktuelle Version ist stets in diesem Repository verfügbar.
Stand: März 2026



