Recht & SEO aktualisiert: Datenschutz v4 (iOS-App Ban Yaro Go: WeatherKit/HealthKit/Hintergrund-Standort, DWD/RainViewer-Radar, Self-Hosted-Karten+Offline), AGB v3 (Abos nur via banyaro.app, kein App-Store-IAP), llms.txt (iOS-App, MapLibre/PMTiles, v1.6.0), v1277
This commit is contained in:
parent
580eaec1fd
commit
43b6292d08
9 changed files with 109 additions and 29 deletions
|
|
@ -86,14 +86,14 @@
|
|||
<title>Ban Yaro</title>
|
||||
|
||||
<!-- Theme + theme-color Statusleiste vor CSS setzen -->
|
||||
<script src="/js/boot-early.js?v=1276"></script>
|
||||
<script src="/js/boot-early.js?v=1277"></script>
|
||||
|
||||
<!-- CSS: Reihenfolge ist wichtig — ?v= zwingt Browser zur Neuladung -->
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1276">
|
||||
<link rel="stylesheet" href="/css/design-system.css?v=1277">
|
||||
<link rel="stylesheet" href="/css/layout.css?v=1277">
|
||||
<link rel="stylesheet" href="/css/components.css?v=1277">
|
||||
<link rel="stylesheet" href="/css/utilities.css?v=1277">
|
||||
<link rel="stylesheet" href="/css/lists.css?v=1277">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
|
|
@ -620,11 +620,11 @@
|
|||
<div id="modal-container"></div>
|
||||
|
||||
<!-- JS: Reihenfolge ist wichtig — erst Basis, dann Features -->
|
||||
<script src="/js/api.js?v=1276"></script>
|
||||
<script src="/js/ui.js?v=1276"></script>
|
||||
<script src="/js/app.js?v=1276"></script>
|
||||
<script src="/js/worlds.js?v=1276"></script>
|
||||
<script src="/js/offline-indicator.js?v=1276"></script>
|
||||
<script src="/js/api.js?v=1277"></script>
|
||||
<script src="/js/ui.js?v=1277"></script>
|
||||
<script src="/js/app.js?v=1277"></script>
|
||||
<script src="/js/worlds.js?v=1277"></script>
|
||||
<script src="/js/offline-indicator.js?v=1277"></script>
|
||||
|
||||
<!-- Feature-Seiten werden lazy geladen -->
|
||||
|
||||
|
|
@ -634,7 +634,7 @@
|
|||
|
||||
|
||||
<!-- Boot: Offline-Banner + SW-Registration (extrahiert für CSP) -->
|
||||
<script src="/js/boot.js?v=1276"></script>
|
||||
<script src="/js/boot.js?v=1277"></script>
|
||||
|
||||
|
||||
</body>
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
Router, State-Management, Navigation, Initialisierung.
|
||||
============================================================ */
|
||||
|
||||
const APP_VER = '1276'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VER = '1277'; // ← bei jedem Deploy mit Frontend-Änderungen erhöhen
|
||||
const APP_VERSION = '1.6.0'; // ← semantische Version, wird bei make release gesetzt
|
||||
window.APP_VER = APP_VER; // global verfügbar für andere Module (z.B. offline-indicator)
|
||||
window.APP_VERSION = APP_VERSION;
|
||||
|
|
|
|||
|
|
@ -60,6 +60,14 @@ window.Page_agb = (() => {
|
|||
Zuchtkartei, Stammbaum, Wurfverwaltung und Züchterprofil.
|
||||
</li>
|
||||
</ul>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
Die native iOS-App <strong>„Ban Yaro Go"</strong> ist kostenlos und dient als
|
||||
Begleit-App für unterwegs. Kostenpflichtige Abonnements werden
|
||||
<strong>ausschließlich über banyaro.app</strong> abgeschlossen und per Überweisung
|
||||
bezahlt — <strong>nicht</strong> über einen App-Store-Kauf (kein In-App-Kauf).
|
||||
Pro- und Züchter-Funktionen werden mit deinem banyaro-Konto freigeschaltet und
|
||||
stehen damit auch in der iOS-App zur Verfügung.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
Änderungen am Funktionsumfang werden vorab per E-Mail angekündigt. Wesentliche
|
||||
Leistungsminderungen berechtigen zur außerordentlichen Kündigung.
|
||||
|
|
@ -182,7 +190,7 @@ window.Page_agb = (() => {
|
|||
</p>`)}
|
||||
|
||||
<p style="font-size:var(--text-xs);color:var(--c-text-muted);margin:0">
|
||||
Stand: Mai 2026 · Version 2
|
||||
Stand: Juni 2026 · Version 3
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -169,9 +169,14 @@ window.Page_datenschutz = (() => {
|
|||
<p style="${S.p}">
|
||||
Die Wetter-Funktion übermittelt auf Wunsch deine GPS-Koordinaten serverseitig an
|
||||
<strong>Open-Meteo</strong> (Österreich, DSGVO-konform) für die Wettervorhersage.
|
||||
Für Wetter-Kartenlayer (Regenradar, Temperaturen) werden Kacheln von
|
||||
<strong>OpenWeatherMap</strong> (OpenWeather Ltd., UK/USA) geladen — dabei wird
|
||||
dein Browser direkt kontaktiert. Es werden keine Account-Daten übermittelt.
|
||||
Für das <strong>Regenradar</strong> nutzen wir primär die offenen Radardaten des
|
||||
<strong>Deutschen Wetterdienstes (DWD)</strong>. Diese werden serverseitig von unserem
|
||||
Server in Deutschland abgerufen und als Kartenkacheln bereitgestellt — dein Gerät
|
||||
kontaktiert den DWD dabei nicht direkt. Steht das DWD-Radar nicht zur Verfügung,
|
||||
werden ersatzweise Radarkacheln von <strong>RainViewer</strong> (USA) geladen; dabei
|
||||
wird dein Browser direkt kontaktiert. Für weitere Wetter-Kartenlayer (z. B. Temperatur)
|
||||
können Kacheln von <strong>OpenWeatherMap</strong> (OpenWeather Ltd., UK/USA) direkt im
|
||||
Browser geladen werden. In allen Fällen werden keine Account-Daten übermittelt.
|
||||
Rechtsgrundlage: Einwilligung gem. Art. 6 Abs. 1 lit. a DSGVO.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
|
|
@ -189,7 +194,26 @@ window.Page_datenschutz = (() => {
|
|||
style="${S.a}">openweathermap.org/privacy-policy</a> ·
|
||||
OpenStreetMap/Nominatim:
|
||||
<a href="https://osmfoundation.org/wiki/Privacy_Policy" target="_blank" rel="noopener"
|
||||
style="${S.a}">osmfoundation.org</a>
|
||||
style="${S.a}">osmfoundation.org</a> ·
|
||||
DWD:
|
||||
<a href="https://www.dwd.de/DE/service/datenschutz/datenschutz_node.html" target="_blank" rel="noopener"
|
||||
style="${S.a}">dwd.de</a> ·
|
||||
RainViewer:
|
||||
<a href="https://www.rainviewer.com/privacy.html" target="_blank" rel="noopener"
|
||||
style="${S.a}">rainviewer.com</a>
|
||||
</p>`)}
|
||||
|
||||
${sec('Kartenmaterial & Offline-Karten', `
|
||||
<p style="${S.p}">
|
||||
Die Basiskarte besteht aus Vektordaten von <strong>OpenStreetMap</strong>, die wir auf
|
||||
unserem eigenen Server in Deutschland aufbereiten und ausliefern (Vektor-Tiles im
|
||||
PMTiles-Format). Für die Basiskarte werden daher <strong>keine externen
|
||||
Kartenanbieter</strong> kontaktiert — die Kartenkacheln kommen von unserem Server.
|
||||
</p>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
Optional kannst du Kartenausschnitte für die <strong>Offline-Nutzung</strong>
|
||||
herunterladen. Diese werden ausschließlich <strong>lokal auf deinem Gerät</strong>
|
||||
gespeichert und nicht an Dritte übermittelt.
|
||||
</p>`)}
|
||||
|
||||
${sec('Routenvorschläge (OpenRouteService)', `
|
||||
|
|
@ -215,6 +239,40 @@ window.Page_datenschutz = (() => {
|
|||
style="${S.a}">openrouteservice.org/privacy-policy</a>
|
||||
</p>`)}
|
||||
|
||||
${sec('Ban Yaro Go — native iOS-App', `
|
||||
<p style="${S.p}">
|
||||
<strong>Ban Yaro Go</strong> ist die optionale native iOS-Begleit-App zu banyaro.app.
|
||||
Sie nutzt dasselbe banyaro-Konto und denselben Server in Deutschland — es gelten
|
||||
daher zusätzlich zu den oben beschriebenen Verarbeitungen folgende iOS-spezifische
|
||||
Punkte:
|
||||
</p>
|
||||
<ul style="${S.ul}">
|
||||
<li><strong>Hintergrund-Standort:</strong> Nur während einer von dir aktiv gestarteten
|
||||
Gassi-Aufzeichnung erfasst die App deine GPS-Position auch bei gesperrtem Display, um
|
||||
den Track fortzuführen. Außerhalb einer aktiven Aufzeichnung wird im Hintergrund kein
|
||||
Standort erfasst. Der Track wird lokal auf dem Gerät gesichert und nur dann in dein
|
||||
Konto übertragen, wenn du die Tour speicherst.</li>
|
||||
<li><strong>Apple WeatherKit:</strong> Die Wetterfunktion der App bezieht Vorhersagedaten
|
||||
über Apple WeatherKit (Apple Inc., USA). Dazu werden Standortkoordinaten an Apple
|
||||
übermittelt — keine Account-Daten.</li>
|
||||
<li><strong>Apple Health (HealthKit):</strong> Nur auf deinen ausdrücklichen Wunsch
|
||||
schreibt die App abgeschlossene Touren als „Walking"-Workout inkl. Route in Apple
|
||||
Health. Es werden <strong>keine</strong> Gesundheitsdaten aus Apple Health gelesen.
|
||||
Diese Daten verbleiben auf deinem Gerät bzw. in deiner iCloud.</li>
|
||||
<li><strong>Apple Maps:</strong> Zur Navigation (z. B. zu Gassi-Treffen) kann auf deinen
|
||||
Wunsch Apple Maps geöffnet werden.</li>
|
||||
<li><strong>GPX-Import:</strong> Aus anderen Apps geteilte GPX-Dateien werden lokal auf
|
||||
dem Gerät verarbeitet; eine Übertragung erfolgt nur, wenn du die Tour speicherst.</li>
|
||||
<li><strong>Push (APNs):</strong> Benachrichtigungen werden wie im Abschnitt
|
||||
„Push-Benachrichtigungen" beschrieben über den Apple Push Notification Service zugestellt.</li>
|
||||
</ul>
|
||||
<p style="${S.p};margin-top:var(--space-3)">
|
||||
Rechtsgrundlage ist jeweils deine Einwilligung (Art. 6 Abs. 1 lit. a DSGVO) bzw. die
|
||||
Vertragserfüllung (Art. 6 Abs. 1 lit. b DSGVO). Apple-Datenschutz:
|
||||
<a href="https://www.apple.com/legal/privacy/de-ww/" target="_blank" rel="noopener"
|
||||
style="${S.a}">apple.com/legal/privacy</a>.
|
||||
</p>`)}
|
||||
|
||||
${sec('Technische Speicherung', `
|
||||
<p style="${S.p}">
|
||||
Ban Yaro verwendet technisch notwendige Speichermechanismen für den Betrieb der App:
|
||||
|
|
@ -343,7 +401,7 @@ window.Page_datenschutz = (() => {
|
|||
</p>`)}
|
||||
|
||||
<p style="font-size:var(--text-xs);color:var(--c-text-muted);margin:0">
|
||||
Stand: Mai 2026 · Version 3
|
||||
Stand: Juni 2026 · Version 4
|
||||
</p>
|
||||
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="color-scheme" content="light dark">
|
||||
<script src="/js/landing-init.js?v=1276"></script>
|
||||
<script src="/js/landing-init.js?v=1277"></script>
|
||||
<title>Ban Yaro — Die Hunde-App für Deutschland, Österreich & Schweiz</title>
|
||||
<meta name="description" content="Ban Yaro: Die kostenlose All-in-One Hunde-App für DACH. Tagebuch, Giftköder-Alarm, Training mit KI, Forum, Wurfbörse, Stammbaum, Inzucht-Check — DSGVO-konform, offline-fähig, direkt im Browser oder als native iPhone-App (Ban Yaro Go).">
|
||||
<meta name="keywords" content="Hunde App, Hunde Community, Wurfbörse, Züchter, Welpen kaufen, Stammbaum Hund, Inzuchtkoeffizient, Hundezucht, Impfpass Hund, Giftköder Alarm, Gassi Community, Hundetraining App, Hunde Forum, Hunde KI, Hundefilm Datenbank, Welpen Marktplatz">
|
||||
|
|
|
|||
|
|
@ -1,12 +1,14 @@
|
|||
# Ban Yaro — Die deutschsprachige Hunde-Plattform für Hundebesitzer und Züchter
|
||||
# https://banyaro.app
|
||||
# Letzte Aktualisierung: 2026-05-14
|
||||
# Letzte Aktualisierung: 2026-06-09
|
||||
|
||||
## Was ist Ban Yaro?
|
||||
|
||||
Ban Yaro (banyaro.app) ist eine deutschsprachige All-in-One Hunde-Plattform als Progressive Web App (PWA).
|
||||
Gegründet 2026 in Ebersberg, Bayern. Entwickelt von René Degelmann.
|
||||
Kein App Store, kein US-Konzern, DSGVO-konform, selbst gehostet in Deutschland.
|
||||
Ohne App-Store-Zwang als PWA nutzbar — zusätzlich gibt es die kostenlose native iOS-App
|
||||
„Ban Yaro Go" im App Store als Begleiter für unterwegs. Kein US-Konzern im Hintergrund,
|
||||
DSGVO-konform, selbst gehostet in Deutschland.
|
||||
|
||||
Das Kern-Versprechen: "Alles rund um deinen Hund — von Welpe bis Opa."
|
||||
|
||||
|
|
@ -15,7 +17,9 @@ Ban Yaro richtet sich an zwei Zielgruppen, die nahtlos verzahnt sind:
|
|||
- **Züchter**: professionelles Zucht-Management direkt in derselben App (Warteliste, Läufigkeit, Wurf, Stammbaum)
|
||||
|
||||
Ban Yaro ist im Freemium-Modell nutzbar. Die App ist auf allen Smartphones installierbar
|
||||
(iOS und Android) direkt über den Browser — ohne App Store.
|
||||
(iOS und Android) direkt über den Browser — ohne App Store. Für iPhone gibt es zusätzlich
|
||||
die native App „Ban Yaro Go" (App Store), optimiert für unterwegs (GPS-Tracking im
|
||||
Hintergrund, Apple Health, offline-fähig).
|
||||
|
||||
## Der Name „Ban Yaro"
|
||||
|
||||
|
|
@ -36,8 +40,8 @@ gegründet, mit eigenem Schutzrecht auf den Namen.
|
|||
- Datenschutz: Vollständige DSGVO-konforme Erklärung unter https://banyaro.app/#datenschutz
|
||||
- Keine Werbung, keine Datenweitergabe an Dritte, kein Tracking (Umami, cookieless)
|
||||
- Kontakt: hallo@banyaro.app
|
||||
- Keine App-Store-Abhängigkeit: Als PWA direkt installierbar, keine Gatekeeper
|
||||
- Aktuelle Version: v1.5.1 (Mai 2026), SW by-v918
|
||||
- Keine App-Store-Abhängigkeit: Als PWA direkt installierbar, keine Gatekeeper — die native iOS-App „Ban Yaro Go" ist ein optionaler Zusatz
|
||||
- Aktuelle Version: v1.6.0 (Juni 2026)
|
||||
|
||||
## Zielgruppe
|
||||
|
||||
|
|
@ -180,7 +184,8 @@ Die Startseite für eingeloggte Nutzer zeigt:
|
|||
- Progressive Web App (PWA) — installierbar ohne App Store
|
||||
- Backend: Python/FastAPI + SQLite
|
||||
- Frontend: Vanilla JS, kein Framework
|
||||
- Karten: Leaflet.js + OpenStreetMap
|
||||
- Karten: MapLibre GL + eigene Vektor-Tiles (PMTiles-Format, OpenStreetMap-Daten, self-hosted in Deutschland) — Offline-Karten zum Download
|
||||
- Native iOS-App: Swift/SwiftUI („Ban Yaro Go"), Hintergrund-GPS, Apple WeatherKit, Apple HealthKit
|
||||
- Hosting: Deutschland (DSGVO-konform)
|
||||
- Analytics: Umami v2 (cookieless, DSGVO-konform)
|
||||
- KI lokal: LM Studio (Gemma-4-31B)
|
||||
|
|
@ -254,6 +259,15 @@ Die Startseite für eingeloggte Nutzer zeigt:
|
|||
- **Dedizierte Züchter-Landing-Page**: https://banyaro.app/zuechter mit Erklärung aller Züchter-Features und Pricing.
|
||||
- **Züchter-Kacheln in HUND-Welt**: Läufigkeit, Wurfverwaltung und Zuchtkartei sind als eigene Kacheln in der HUND-Navigation eingebunden — erkennbar am Z-Badge für Züchter-Features.
|
||||
|
||||
## Features ab v1.6.0 (Juni 2026)
|
||||
|
||||
- **Native iOS-App „Ban Yaro Go"** (App Store): Begleit-App für unterwegs. GPS-Tour-Aufzeichnung im Hintergrund (auch bei gesperrtem Display und während des Telefonierens) mit Live-Aktivität in der Dynamic Island, funkloch-sichere lokale Sicherung mit automatischer Nachsync, Apple-Health-Integration (Touren als Walking-Workout), Apple WeatherKit, GPX-Import. Kostenlos; Pro-Funktionen werden über das banyaro-Konto freigeschaltet (kein In-App-Kauf).
|
||||
- **Vektor-Karten (MapLibre GL)**: Komplette Umstellung von Leaflet-Raster auf MapLibre GL mit eigenen Vektor-Tiles (PMTiles, OpenStreetMap-Daten, self-hosted in Deutschland — keine externen Kartenanbieter für die Basiskarte).
|
||||
- **Offline-Karten**: Kartenausschnitte zum Download für die Nutzung im Funkloch, lokal auf dem Gerät gespeichert.
|
||||
- **DWD-Regenradar mit 2h-Vorhersage**: Regenradar primär aus den offenen Daten des Deutschen Wetterdienstes (serverseitig abgerufen), RainViewer als Fallback.
|
||||
- **Yaro-Navi**: Sprachfreie Routenführung per Bell-Signal beim Folgen aufgezeichneter Routen.
|
||||
- **Partner-Programm**: Showcase verifizierter Partner (banyaro.app/partner), QR-Kontingente mit Einzel-Code-Tracking, Partner-Dashboard.
|
||||
|
||||
## Monetarisierung
|
||||
|
||||
**Kostenlos (dauerhaft):**
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@
|
|||
============================================================ */
|
||||
|
||||
// ← EINZIGE Stelle für die Version — STATIC_ASSETS und CACHE_VERSION leiten sich ab
|
||||
const VER = '1276';
|
||||
const VER = '1277';
|
||||
const CACHE_VERSION = `by-v${VER}`;
|
||||
const CACHE_STATIC = `${CACHE_VERSION}-static`;
|
||||
const CACHE_TILES = 'ban-yaro-tiles-v1'; // bleibt über SW-Updates erhalten
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue