Infisical staging holds the bot user IDs as NUXT_LYRA_BOT_USER_ID / NUXT_REBREAK_BOT_USER_ID, but nitro.config.ts reads process.env.LYRA_BOT_USER_ID (no NUXT_ fallback) and start-staging.sh had no alias for them → config.lyraBotUserId was empty → POST /api/admin/lyra-post threw 500 "LYRA_BOT_USER_ID nicht konfiguriert" (surfaced via the admin app proxy). Adds the alias + NITRO_ override exports, same pattern as the other keys. Also: ops/strategy/pricing-tiers.md — strategist's tier-pricing analysis, stress-test, downgrade-policy matrix, plan-change briefing-screen content + scenario test matrix (Task #8 Phase 1). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
31 KiB
ReBreak Pricing-Tiers: Strategie, Stress-Test, Downgrade-Policy
Single-Source-of-Truth für tier-gated Features bleibt
backend/server/utils/plan-features.ts(Code) bzw. die Pricing-Page auf rebreak.org (Preise). Dieses Doc ist die Strategie-Schicht darüber.Preis-Caveat: rebreak.org/pricing war beim Schreiben nicht erreichbar (HTTP 401). Alle Preise unten (
Pro 3.99€,Legend 7.99€,+3€ MDM) sind ausops/RELEASE_READINESS.md+ops/strategy/mdm-productization-roadmap.mdübernommen und als Annahme markiert. Sobald die Pricing-Page live ist, gilt die — dieses Doc nachziehen.Autor: rebreak-strategist · Stand: 2026-05-11
0. TL;DR für Eilige
- Tier-Logik ist grundsätzlich tragfähig, aber Free ist zu großzügig und Pro hat ein Wertproblem: free→pro für 4€ verkauft aktuell hauptsächlich "schnellere Stimme + 200 statt 5 Domains" — das ist kein Schmerzpunkt für jemanden in Recovery.
- Legend ist der einzige Tier mit echtem, schwer-kopierbarem USP: Multi-Device-DNS-Schutz (Mac/Windows fremde Geräte). Das ist die Conversion-Story. Haiku-Coach + ElevenLabs + Mail-Live sind "nice", aber allein keine 8€ wert.
- Empfehlung Pricing-Architektur: Free bewusst schmaler schneiden (Domains 5→bleibt, aber Global-Blocklist als Pro-Gate ist okay; Mail-Cron 4h ist okay), Pro repositionieren als "ernsthafter Schutz" (Live-Mail rein, Multi-Device 1 Gerät rein), Legend = "alles + bis 3 fremde Geräte + Premium-Coach". Mehr in §2.5.
- Downgrade-Policy: Niemals sicherheitsrelevante Features bei Downgrade still abschalten. Grundprinzip: Recovery-Schutz bleibt aktiv, Komfort wird limitiert. Detail-Matrix in §3.
- DiGA/Ethik: Paywalling von Coaching und Komfort ist okay. Paywalling von Blockade-Reichweite (Multi-Device) ist vertretbar, aber kommunikativ heikel — Sprachregelung in §2.4. Das eine Feature, das man nie hinter Paywall stellen sollte: den Kern-Blocker auf dem Hauptgerät + SOS-Coach in irgendeiner Form. Beides ist heute korrekt free.
1. Tier-Feature-Tabelle (Strategie-Sicht, abgeglichen mit PLAN_LIMITS, Stand 2026-05-11)
Spalten = Ist-Zustand Code. Empfohlene Änderungen stehen in §2.5, nicht hier.
| Achse | free | pro | legend |
|---|---|---|---|
| Preis (Annahme, web-only via rebreak.org) | 0 € | ~3,99 €/mo | ~7,99 €/mo |
| MDM-Lock Add-On (geplant, Phase G) | — | +3 € → ~6,99 € | +3 € → ~10,99 € |
| Kern-DNS-Blocker (Hauptgerät, HaGeZi-/ReBreak-Liste) | ✅ | ✅ | ✅ |
| Globale HaGeZi-Blocklist (208k+ Offshore-Domains) | ❌ (globalBlocklist:false) |
✅ | ✅ |
| Custom-Blocklist-Domains (eigene) | 5 | 5 | 10 |
| Domain-Slot-Refill | ❌ | ✅ | ✅ |
| Domain direkt zur ReBreak-Community-Blocklist beitragen | ❌ | ❌ | ✅ (canAddToBlocklist) |
| Multi-Device-DNS-Profile (fremde Mac/Windows-Geräte) | ❌ | ❌ | ✅ bis 3 (maxDevices:3) |
| Account-Devices parallel (Anti-Sharing-Limit) | 1 | 1 | 3 |
| SOS-Coach LLM | Groq Llama 3.1 8B | Groq Llama 3.3 70B | Claude 3.5 Haiku (via OpenRouter) |
| SOS-Coach Fallback-Kette | 70B → gemma2 → OR-Llama | 8B → OR-70B | Claude-3-Haiku → Llama-70B |
| SOS-TTS-Provider | Google Neural2 | Cartesia Sonic-2 (~75ms) | ElevenLabs Turbo v2.5 |
| TTS-Tagesquota | 60 s/Tag | 300 s/Tag | unbegrenzt |
| Lyra-Voice-Picker (Stimme wählbar) | ❌ | ❌ | ✅ |
| Mail-Agent (Casino-Newsletter-Scan) | 1 Account | 3 Accounts | unbegrenzt |
| Mail-Scan-Intervall | nur 4h-Cron | 1h / 4h / 8h | 1h / 4h / 8h (+ Live-IDLE geplant) |
| Community: posten | ✅ | ✅ | ✅ |
| Community: Gruppe gründen | ❌ | ❌ | ✅ (canCreateGroup) |
| Streak / Urge-Log / Profil / Demographics | ✅ | ✅ | ✅ |
| Standalone-Games (Solo) | ✅ | ✅ | ✅ |
| Games 1vs1-Mode (geplant) | ❌ | ✅ (geplant) | ✅ (geplant) |
| Demographics-Reward | 1 Woche Pro-Trial fürs vollständige Ausfüllen | — | — |
Code-Inkonsistenzen (Tech-Tickets, nicht Strategie):
- Legend
mailIntervalOptionslistet kein Live-IDLE — Memory sagt "legend = Live-Scan", Code hat nur[1,4,8]. → klären, nichts bewerben was nicht im Code ist. maxDevices(App-Login-Geräte) vs. Multi-Device-DNS-Profile heißen beide "Devices" → User-Verwirrung. Naming: "Geräte mit ReBreak-App" vs. "geschützte Computer".- Pro
customDomains:5== FreecustomDomains:5— Pro bekommt nurdomainRefill:truezusätzlich → schwacher Unterschied (siehe §2.2).
2. Strategie-Begründung + ehrlicher Stress-Test
2.1 Reicht Free zum "Anfixen" — oder verschenkt es zu viel?
Free hat: Kern-Blocker (Hauptgerät), SOS-Coach (echtes LLM), Mail-Scan (1 Account, 4h), 5 eigene Domains, voller Streak/Urge/Community/Games-Stack, Profil.
- Kern-Blocker MUSS free sein — nicht verhandelbar. Niemand im akuten Rückfallrisiko darf an einer Paywall scheitern. DiGA-/PR-mäßig die einzig haltbare Position. ✅
- SOS-Coach free ist richtig — der Craving-Moment ist der Hochrisikomoment. Free = Groq Llama 8B (Groq quasi gratis, gut genug). ✅
- Mail-Scan 1 Account / 4h free: grenzwertig großzügig, aber okay — günstig (kein IDLE-Halten), liefert "es funktioniert"-Erlebnis. ✅
- 5 Custom-Domains free: zu großzügig in Kombination — 5 reicht den meisten für ihre Trigger-Seiten. Wer 5 hat ohne globale HaGeZi-Liste, hat löchrigen Schutz → das ist eigentlich der natürliche Pro-Trigger. Aber Free fühlt sich mit Blocker+Coach+Mail+Community "fertig" an. Gesamt-Großzügigkeits-Problem, kein Domain-Problem.
- Verdict: Free ist nicht gefährlich großzügig (nichts Sicherheitskritisches fehlt jemandem) — aber kommerziell zu großzügig, weil der Pro-Sprung kein klares "das brauche ich" hat. Lösung: Pro aufwerten, nicht Free beschneiden.
2.2 Lohnt free → pro für ~4 €?
Pro gibt zusätzlich: globale HaGeZi-Liste, Domain-Refill, 70B-Coach statt 8B, Cartesia statt Google TTS + 5min statt 1min/Tag, 3 statt 1 Mail-Account, Mail-Intervall wählbar. Honest take: zu dünn für eine Recovery-App. Der 70B- vs. 8B-Coach ist für 90% nicht erlebbar (Engineering-Metrik, kein User-Bedürfnis). Cartesia-Stimme = Komfort, kein Schmerzpunkt. Globale HaGeZi-Liste ist das einzige Pro-Feature mit echter Substanz — geht aber neben drei "Premium-Geschmäckle"-Features unter. 3 statt 1 Mail-Account = Nische. Domain-Refill = Nische. Empfehlung: Pro braucht einen harten, sicherheitsrelevanten Anker → Kandidaten: (a) globale HaGeZi-Liste lauter kommunizieren ("Free schützt vor 5 Seiten deiner Wahl. Pro schützt vor 208.000 bekannten Glücksspiel-Domains."), (b) 1 fremdes Gerät schützen nach Pro ziehen (radikaler, siehe §2.5), (c) Live-Mail-Scan nach Pro falls gebaut. Pflicht: (a). Empfohlen zusätzlich: (b). Verdict: Pro ist heute "Free mit besserer Stimme". Das verkauft sich nicht. Pro muss "der ernsthafte Schutz" werden.
2.3 Lohnt pro → legend für nochmal ~4 €? Ist Multi-Device der Killer?
Ja — Multi-Device-DNS-Schutz ist der einzige echte Legend-USP, und er ist gut. Sucht arbeitet gegen Lücken (iPhone gesperrt → alter Windows-Laptop). ReBreak hat dafür eine Antwort, die OASIS strukturell nicht hat (DNS-Layer = auch Offshore, jedes Gerät). Verteidigbar, kopier-schwer, Bedarf entsteht organisch. Haiku-Coach, ElevenLabs, Mail-Live, Gruppe-gründen, 10 statt 5 Domains = "nett", aber garnieren das Multi-Device-Angebot, rechtfertigen den Legend-Preis nicht allein.
Risiko: Wenn Multi-Device technisch noch nicht rund ist (.mobileconfig-Generierung pro User, Windows-Pfad, Onboarding-UX — Phase G ist "~1-2 Wochen dev", noch nicht entschieden; protectedDevices.ts Endpoints teils noch nicht fertig), hat Legend aktuell keinen tragfähigen USP. Push back: Legend nicht zu 8€ bewerben, solange Multi-Device nicht End-to-End läuft. Bis dahin: Legend ~5,99€ oder Multi-Device als "Early Access" labeln.
Verdict: Multi-Device IST der Killer — wenn er fertig ist. Legend-Pricing an Multi-Device festmachen, nicht am Coach/Voice-Kram.
2.4 DiGA-/Ethik-/PR-Check: Darf man Recovery-Features paywallen?
| Feature-Klasse | Paywall okay? | Begründung |
|---|---|---|
| Kern-Blocker Hauptgerät | Nein, niemals. | Lebensader. Free. (Ist es.) |
| SOS-Coach (irgendeine Form) | Nein. | Craving-Moment = Hochrisikomoment. Free braucht einen funktionierenden Coach. (Hat es: Groq 8B.) |
| Bessere Coach-Qualität (70B/Haiku) | Ja, okay. | Kein User stirbt an 8B statt 70B. Qualitäts-Upgrade legitim. |
| Globale HaGeZi-Blocklist | Grenzwertig, aber vertretbar. | Pflege/Hosting kostet, Free hat einen Schutz (5 eigene). Aber 5 vs. echte Offshore-Landschaft = Free hat löchrigen Schutz. → behalten als Pro-Gate, ABER ehrlich kommunizieren, keine Angstmache. Falls DiGA: dann gibt's eben einen "alles drin, Kasse zahlt"-SKU (separat). |
| Mail-Schutz (Cron vs. Live) | Ja, gestaffelt okay. | Free = 4h-Cron auf 1 Account = echter Schutz, nur nicht instant. Live als Upgrade legitim. |
| Multi-Device-DNS-Schutz | Ja, vertretbar — mit Sorgfalt. | Kostet echte Infra pro Gerät; Free/Pro haben Hauptgerät geschützt; wer mehrere Geräte hat, ist tendenziell weiter im Prozess. Sprachregelung: nie "Schutz kostet" — immer "ReBreak auf deinem Computer einrichten — Teil von Legend". Frame als Reviererweiterung, nicht als Sicherheits-Gating. Akute-Krise-Hardship-Comp: 3 Monate Legend gratis. PR-Gold, billig. |
| Community posten / Gruppe gründen | Free okay / Gruppe = Legend okay (Moderations-Last). | Unkritisch. |
| Premium-Voice / Voice-Picker | Ja, klar okay. | Reine Kosmetik. |
PR-Bottom-Line: Solange (a) Kern-Blocker + ein Coach immer free sind, (b) nie mit Angst/Dringlichkeit verkauft wird, (c) kulante Hardship-Comp-Policy → ist die Tier-Struktur PR-verteidigbar. Eine Recovery-App, die gar nicht monetarisiert, geht ein und hilft dann niemandem. Außenkommunikation: "Free hilft. Pro/Legend finanzieren, dass Free weiter existiert und besser wird." DiGA-Spezialfall: Wenn der DiGA-Pfad konkret wird → vermutlich ein vierter SKU "ReBreak DiGA" (Kasse zahlt, ~200€/Quartal). Was da drin sein muss → BfArM-Verfahren + Wirksamkeitsstudie, nicht diese Page. DiGA-SKU jetzt nicht mitdesignen — aber nichts in Free/Pro/Legend tun, das einer späteren "alles drin"-Variante im Weg steht.
2.5 Empfehlung: konkretes Re-Slicing (optional, aber begründet)
| Achse | free (Vorschlag) | pro (Vorschlag) | legend (Vorschlag) |
|---|---|---|---|
| Kern-Blocker Hauptgerät | ✅ | ✅ | ✅ |
| Globale HaGeZi-Liste | ❌ → als DAS Pro-Argument framen | ✅ | ✅ |
| Custom-Domains | 5 | 15–25 (echter Unterschied) | unbegrenzt |
| Domain-Refill | ❌ | ✅ | ✅ |
| 1 fremdes Gerät schützen | ❌ | ✅ (1 Gerät) ← neuer Pro-Anker | ✅ (bis 3) |
| Mail-Accounts | 1 | 3 | unbegrenzt |
| Mail-Live-Scan (falls gebaut) | ❌ | ✅ | ✅ |
| Coach-LLM | Groq 8B | Groq 70B | Haiku 4.5 |
| TTS | Google 60s | Cartesia 300s | ElevenLabs unbegrenzt + Voice-Picker |
| Gruppe gründen | ❌ | ❌ | ✅ |
| Community-Blocklist beitragen | ❌ | ❌ | ✅ |
| Preis | 0 € | ~3,99–4,99 € | ~7,99–9,99 € |
Der entscheidende Move: "1 fremdes Gerät" von Legend nach Pro ziehen → Pro hat plötzlich eine Substanz-Story, Legend bleibt differenziert ("schütz alle Geräte + Premium-Coach"). Kosten: 1 zusätzliches DNS-Profil pro Pro-User ≈ 0€ marginal. Falls ihr das NICHT macht: dann muss Pro zumindest die globale HaGeZi-Liste als Headline haben und Pro-Marketing muss aufhören, mit "schnellere Stimme" zu führen.
2.6 Natürliche Upgrade-Trigger-Momente (für In-App-Prompts)
Regel: nie im SOS-/Craving-Flow upsellen. Nie Countdown/Knappheit. Nur kontextuell, faktisch.
| Trigger | Sprung | Ton-Beispiel |
|---|---|---|
| User trägt seine 5. Custom-Domain ein | free→pro | "Das war deine letzte freie Domain. Pro kennt 208.000 bekannte Glücksspiel-Seiten." |
| 2. Mail-Account hinzufügen | free→pro | "Free schützt eine Mailadresse. Pro schützt bis zu drei." |
| Mail-Intervall-Picker (<4h) | free→pro | "Schnellere Scans gibt's ab Pro." |
| Lyra-Voice-Settings öffnen | pro→legend | "Lyras Stimme wählen — Teil von Legend." |
| "Computer schützen" / "Gerät hinzufügen" | →legend (oder →pro im Re-Slice) | "ReBreak auf deinem Mac/Windows einrichten — gehört zu Legend." |
| Community-Gruppe gründen | →legend | "Eigene Gruppen gründen geht ab Legend." |
| Demographics ausgefüllt | (kein Sprung — Reward) | "Danke. Du hast 7 Tage Pro freigeschaltet." |
| Pro-Trial läuft ab | →pro | "Deine 7 Pro-Tage sind vorbei. Dein Schutz läuft normal weiter — Pro war's, was du extra hattest: [Liste]." |
3. Downgrade-Policy pro tier-limitierter Ressource
Leitprinzipien (für alle Ressourcen):
- Recovery-Schutz wird bei Downgrade nie still abgeschaltet — muss etwas deaktiviert werden, wird's vor dem Downgrade im Briefing-Screen (§4) gezeigt + nachher in persistenter Notification gelistet.
- Komfort wird limitiert, Sicherheit wird grandfathered wo kostenmäßig vertretbar — Marginalkosten sind fast überall ≈0 (Groq gratis, DNS trivial, 1 DB-Row); einziger echter Kostentreiber: ElevenLabs-TTS + IMAP-IDLE-Connections.
- Im Zweifel: Grace-Period statt harter Block.
- Bei Reaktivierung (re-upgrade) schaltet sich alles Deaktivierte automatisch wieder ein — deaktiviert ≠ gelöscht, keine Re-Konfiguration nötig.
| Ressource | Downgrade-Szenario | Empfohlene Policy | Begründung |
|---|---|---|---|
| Custom-Blocklist-Domains (z.B. legend 10 → 5, User hat 8) | über Limit | Grandfathered: alle behalten & aktiv, kein Neues hinzufügen bis unter Limit. Niemals Auto-Delete. | Aktiver, vom User selbst gesetzter Schutz. Marginalkosten 0. Bei "Domain hinzufügen": "8/5 — entferne erst eine". |
| Globale HaGeZi-Blocklist (→ free) | Feature entfällt | Grace 14 Tage, dann deaktiviert + sichtbarer Hinweis ("Schutz vor 208.000 Seiten endet in X Tagen. Deine 5 eigenen bleiben."). | Größter Schutz-Verlust beim Downgrade — Grace gibt Zeit, Trigger-Domains in die 5 Free-Slots zu übernehmen. Ehrlich, unaufdringlich. Re-upgrade → sofort wieder aktiv. |
| Mail-Accounts (legend ∞ → pro 3 → free 1; User hat 5) | über Limit | Grandfathered, dann nach 30 Tagen ohne re-upgrade die überzähligen N pausieren (älteste behalten, zuletzt hinzugefügte pausieren). Niemals löschen. + Spezialfall ↓ | Mail-Scan = echter Schutz, aber IMAP-IDLE kostet Server-Ressourcen → pausieren statt forever-grandfathern. Spezialfall: wenn ein bald-pausierter Account gerade einen ungescannten Casino-Newsletter in der Inbox hat → erst ein "final sweep"-Scan + Block, dann pausieren. Recovery-Sicherheit > saubere Limit-Durchsetzung. |
| Multi-Device-DNS-Profile (legend → pro/free; User hat 2 enrolled) | Feature entfällt | Sonderfall, ausführlich ↓. Kurz: nach 14-Tage-Grace → DoH liefert für betroffene Token nur noch Passthrough/Minimal-Liste, Profil-Status degraded (nicht revoked), In-App klar: "Schutz ausgelaufen — Profil auf [Gerät] selbst entfernen: [Link]". Kein grünes "geschützt"-Häkchen. |
.mobileconfig auf nicht-supervised-Gerät ist nicht remote-removable. Wer nicht zahlt, soll's nicht dauerhaft behalten (sonst kauft niemand Legend) — aber falsche Sicherheit ("geschützt" auf einem Gerät, das nur Passthrough macht) ist in Recovery gefährlicher als ehrliche Klarheit. |
Account-Login-Devices (maxDevices: legend 3 → 1; User auf 3 Geräten) |
über Limit | Grace 7 Tage, dann beim nächsten App-Start auf einem überzähligen Gerät → sanfter Logout mit Erklärung. Zuletzt aktives Gerät behält Session. Nie das gerade benutzte rauswerfen. | Anti-Account-Sharing, kein Schutz-Feature → darf härter sein. "Dein Plan erlaubt 1 Gerät. [iPad] wird abgemeldet, auf [iPhone] bleibst du angemeldet." Logout ≠ Schutz aus — der DNS-Filter auf dem abgemeldeten Gerät läuft weiter. Klarstellen. |
| Coach-LLM-Qualität (Haiku → 70B → 8B) | schwächeres Modell | Sofort, kein Grace, aber dezent ankündigen ("Dein Coach läuft ab jetzt auf [Modell] — er ist weiter da, immer."). Nicht dramatisieren. | Kein Sicherheitsverlust (Coach voll funktional, nur weniger nuanciert). |
| TTS-Provider + -Quota (ElevenLabs ∞ → Cartesia 300s → Google 60s) | Downgrade | Sofort. Provider wechselt, Quota greift ab nächstem Tag — laufende TTS-Session nicht mid-sentence killen. Custom-Voice-Auswahl merken (nicht löschen), re-upgrade → wieder aktiv. | ElevenLabs = einziger echter Kostentreiber → hier muss hart limitiert werden. Aber: TTS = Komfort, kein Schutz → kein Drama, kein Grace. |
| Lyra-Voice-Picker | Feature entfällt | Gewählte Stimme gespeichert lassen, inaktiv; Default aktiv. Re-upgrade → zurück. Kein Hinweis nötig. | Reine Kosmetik, 0 Kosten. |
| Community: eigene Gruppe (User hat eine gegründet) | Feature entfällt | Grandfathered: Gruppe bleibt, User bleibt Admin/Owner, kann moderieren — kann keine neue gründen. | Eine Gruppe schließen, weil der Gründer downgradet, bestraft andere User. Inakzeptabel. Verwaiste Gruppe (Owner downgradet + inaktiv >90d) → separater Cleanup-Pfad, kein Downgrade-Thema. |
Domain-Slot-Refill (domainRefill:true → false) |
Feature entfällt | Sofort, lautlos. Bereits-aufgefüllte Slots bleiben; künftige füllen nicht nach. | Nische, kein Schutzverlust. |
| Games 1vs1 (geplant) | Feature entfällt | Sofort. Laufende Partie zu Ende, danach Mode nicht startbar. | Reine Unterhaltung. |
| Demographics-Pro-Trial (7 Tage, läuft immer aus) | Trial-Ende = de-facto pro→free | Wie normaler pro→free-Downgrade, aber besonders sanftes Briefing (§4): "Danke nochmal. Deine 7 Pro-Tage sind vorbei — dein Schutz läuft normal weiter, das hier war diese Woche extra: [Liste]. Wenn du Pro behalten willst: [Link]." Nie schuldzuweisend. | Sonst "die haben mich angefüttert"-Gefühl → Marken-Schaden + DSGVO-Optik. Hans-Müller-DSB-Review (pending) sollte explizit auch den Trial-Ablauf-Flow abdecken. |
| MDM-Lock Add-On (geplant; +3€ → User kündigt Add-On, behält Pro/Legend) | Add-On weg | Wie Multi-Device-DNS, aber: das MDM-Restriction-Profil kann remote entfernt werden (NanoMDM-Push). 14-Tage-Grace, dann RemoveProfile für das Restriction-Payload (DNS-Payload bleibt = Basis-Schutz). + 7-Tage-Cooldown vor Lock-Entfernung (symmetrisch zum Enrollment-Cooldown — Lyra: "drüber schlafen"). |
ReBreak hat technisch Kontrolle (supervised). Ethisch heikel in die andere Richtung: ein User, der das Lock loswerden will, ist evtl. im Rückfall-Modus → Cooldown. Liability-Pfad via Lyra + Admin-Override. |
Spezialfall ausführlich: Multi-Device .mobileconfig ist nicht remote-removable
- Faktum: Ein DNS-
.mobileconfigauf einem nicht-supervised Mac wird manuell installiert, zeigt statisch aufdns.rebreak.org/dns-query, kein Push-Channel zum Löschen. (Vom Backend/MDM-Owner bestätigen lassen, ob der Multi-Device-Pfad = der MDM-Add-On-Pfad (supervised) oder ein separater nicht-supervised-Pfad ist.) - Was wir kontrollieren: Was
dns.rebreak.orgfür die Anfragen eines Geräte-Tokens zurückgibt — variabel pro Token. - Policy:
- Tag 0–14: Profil voll funktional (volle Blocklist). App zeigt Karte "Geräteschutz für [Label] läuft am [Datum] aus." — neutral, mit "Schutz behalten"-Link (re-upgrade) + "Profil selbst entfernen"-Anleitung.
- Ab Tag 15: Server liefert für dieses Token keine ReBreak-Blocklist mehr → Passthrough auf normalen Upstream-Resolver (nicht
REFUSED/SERVFAIL— das macht das Gerät potenziell internet-los, "ReBreak hat meinen Rechner kaputtgemacht", Stress → Rückfall-Trigger). Minimaler Logging-Footprint, klare Privacy-Notice. - In-App: Profil-Status
degraded(nichtrevoked— "revoked" suggeriert "weg"). Karte: "[Label]: Schutz ausgelaufen. Profil noch auf dem Gerät — entferne es unter [OS-Pfad], oder hol dir Legend zurück." Kein grünes Häkchen, kein "geschützt". - Re-upgrade: Token wieder volle Blocklist, Status
active, keine Neu-Installation.
- Warum nicht "lassen wir's an, kostet ja nix": dann wird Legend-Multi-Device unverkäuflich (einmal zahlen → für immer behalten). ≈0€ Marginalkosten ist kein Argument, das Hauptverkaufsargument zu verschenken.
- Warum nicht
REFUSED: Arbeitsrechner plötzlich ohne Internet = Stress = Rückfall-Trigger. Sanfter Passthrough + ehrlicher In-App-Hinweis = recovery-sicherer Weg.
4. Plan-Wechsel-Briefing-Screen — Inhalt (Text/Struktur, kein Code)
Tonalität (beide Screens): Du-Form, ruhig, faktisch. Keine Ausrufezeichen-Wände, keine Countdowns/Knappheit. Beim Downgrade: keine Schuld, keine Manipulation, keine "bist du sicher? du verlierst SO viel!!"-Dramatik. Immer zuerst sagen, was bleibt ("dein Schutz läuft weiter"), dann was sich ändert. Wort "verlieren" sparsam — lieber "wird limitiert auf", "pausiert", "ändert sich zu".
4a. Upgrade-Briefing
- Header: "Du wechselst auf Legend." (bzw. Pro)
- Was dazukommt — Liste mit Häkchen, konkret: "Schutz für bis zu 3 weitere Geräte (Mac/Windows)", "Coach läuft auf Claude — feinfühligere Gespräche", "Lyra-Stimme nach Wahl, unbegrenzte Sprachausgabe", "Echtzeit-Schutz für Mail-Postfächer" (nur wenn gebaut), "Eigene Community-Gruppen", "Bis zu [N] eigene blockierte Seiten".
- Was gleich bleibt: "Dein Streak, deine Logs, dein Coach, dein bisheriger Schutz — alles bleibt. Du kriegst nur mehr dazu."
- Preis-/Abrechnungshinweis: "[X]€/Monat, abgerechnet über rebreak.org. Du kannst jederzeit zurückwechseln." (Apple 4.8: dieser Screen darf informieren, aber kein Kauf-Button, der aus der App zur Web-Bezahlseite führt. Mit Release-Engineer klären — sicherer: nur "verwalte dein Abo auf rebreak.org"-Hinweis-Text.)
- CTA: "Los geht's" / Bestätigen. Nicht: "du sparst X%"-Banner, keine rot-durchgestrichene-Free-Vergleichstabelle. Recovery-App, kein SaaS-Funnel.
4b. Downgrade-Briefing
- Header: "Du wechselst von [Legend] auf [Pro]." — neutral.
- Zuerst die Beruhigung: "Dein Grundschutz läuft weiter. Dein Streak, deine Logs, dein Coach, deine Community — bleiben." (Immer als erstes, prominent.)
- Was sich ändert — ehrliche Liste, pro betroffener Ressource eine Zeile mit konkreter Zahl + Mechanik: z.B. "Globale Glücksspiel-Blocklist (208.000 Seiten): läuft noch 14 Tage, danach bleiben deine 5 eigenen Domains. → Tipp: trag jetzt deine wichtigsten ein, solange Platz ist." / "Geschützte Geräte: du hast 2 ([MacBook], [PC]). [Plan] deckt [N]. [MacBook] bleibt, [PC] läuft am [Datum] aus — danach Profil auf [PC] selbst entfernen: [Link]." / "Mailpostfächer: 5 verbunden, [Plan] schützt [N]. Die [3] zuletzt hinzugefügten werden pausiert (nicht gelöscht). Letzter Scan läuft noch durch." / "Eigene blockierte Seiten: [8], [Plan] deckt [5]. Alle bleiben aktiv — keine neue hinzufügen bis unter [5]." / "Coach: läuft ab jetzt auf [Llama 70B] statt [Claude]. Er ist weiter da — immer." / "Sprachausgabe: andere Stimme, [N] Min/Tag statt unbegrenzt. Deine gewählte Stimme merken wir uns." / "Eingeloggte Geräte: [Plan] erlaubt [1]. In 7 Tagen meldet sich [Liste] ab — auf [aktivem Gerät] bleibst du angemeldet. Der Filter auf den abgemeldeten Geräten läuft weiter." / "Deine Community-Gruppe [Name] bleibt — du bleibst Admin. Neue Gruppen gründen geht ab Legend."
- Was nicht passiert: "Es wird nichts gelöscht. Alles Pausierte kommt sofort zurück, wenn du wieder upgradest — du musst nichts neu einrichten."
- Recovery-Sicherheitssatz (immer): "Wenn dieser Wechsel deinen Schutz in einem Moment schwächt, in dem du dir unsicher bist — schreib Lyra. Oder schreib uns. Wir finden eine Lösung." (Hardship-Comp-Hook — gehört sichtbar hier rein.)
- CTA-Reihe: primär "Verstanden, weiter" — sekundär, kleiner, "Doch bei [Legend] bleiben". Kein "BIST DU WIRKLICH SICHER???"-Zwischendialog.
- Nach dem Wechsel: persistente (wegklickbare) In-App-Karte mit den "läuft aus am [Datum]"-Punkten, bis abgelaufen/erledigt.
5. Szenario-Test-Matrix (für den Tier-Toggle-Build)
5a. Statische Tier-Erwartungs-Matrix — "Was soll der User pro Tier sehen/können" (Soll = aktueller Code-Stand, nicht das Re-Slicing)
| # | Feature / Achse | free — Soll | pro — Soll | legend — Soll |
|---|---|---|---|---|
| T1 | Kern-DNS-Blocker Hauptgerät | aktiv | aktiv | aktiv |
| T2 | Globale HaGeZi-Liste | nicht aktiv; Pro-Hinweis | aktiv | aktiv |
| T3 | Custom-Domain hinzufügen | bis 5, dann Block + Pro-Hinweis | bis 5, dann Hinweis | bis 10, dann Hinweis |
| T4 | Domain-Slot-Refill | nein | ja | ja |
| T5 | "Zur ReBreak-Liste beitragen"-Button | nicht sichtbar/disabled | nicht sichtbar/disabled | sichtbar + funktioniert |
| T6 | "Computer schützen" / Multi-Device-Screen | gated → Legend-Hinweis | gated → Legend-Hinweis | erreichbar; enroll bis 3, dann Limit-Hinweis |
| T7 | Account-Login-Devices | 2. Gerät → alter verdrängt/blockiert | dito (1) | bis 3 parallel, 4. → ältester raus |
| T8 | SOS-Coach LLM | Groq Llama 8B | Groq Llama 70B | Claude 3.5 Haiku |
| T9 | SOS-TTS-Stimme | Google Neural2 | Cartesia Sonic-2 | ElevenLabs Turbo |
| T10 | TTS-Tagesquota | nach 60s/Tag kein TTS (Text bleibt) | nach 300s/Tag | nie erschöpft |
| T11 | Lyra-Voice-Picker | nicht sichtbar/Legend-Hinweis | nicht sichtbar/Legend-Hinweis | sichtbar, Auswahl wirkt |
| T12 | Mail-Account hinzufügen | bis 1, dann Block + Pro-Hinweis | bis 3, dann Hinweis | unbegrenzt |
| T13 | Mail-Scan-Intervall-Picker | nur 4h | 1h/4h/8h | 1h/4h/8h (+Live falls gebaut — sonst Doc/Code-Mismatch dokumentieren) |
| T14 | Community: Post erstellen | erlaubt | erlaubt | erlaubt |
| T15 | Community: Gruppe gründen | gated → Legend-Hinweis | gated → Legend-Hinweis | erlaubt |
| T16 | Streak/Urge-Log/Profil/Demographics | voll nutzbar | voll nutzbar | voll nutzbar |
| T17 | Standalone-Games (Solo) | spielbar | spielbar | spielbar |
| T18 | Games 1vs1 (falls gebaut) | gated | erlaubt | erlaubt |
| T19 | Demographics ausfüllen → Pro-Trial | nach vollständig: 7 Tage Pro aktiv, Banner | (n/a) | (n/a) |
| T20 | Upgrade-/Downgrade-Briefing-Screen | erscheint bei jedem Toggle, Inhalt = §4 | dito | dito |
Architektur-Konsistenz-Checks:
- C1: Toggle wirkt sofort auf alle gated UIs (kein App-Neustart)? → dokumentieren, sonst False-Negatives.
- C2 (wichtigster): Backend respektiert den Toggle, nicht nur das Frontend? Coach-Modell / TTS-Provider / Mail-Limit werden serverseitig in
getPlanLimitsentschieden → der Test-Toggle muss den Server-Plan ändern, nicht nur einen Client-Flag. Sonst testet man UI-Theater. (Erfüllt:/api/dev/set-plansetztprofile.planin der DB.) - C3: Legacy-Plan-Namen (
"premium"→legend,"standard"→pro) — falls Test-User mit alten Werten existieren, mappen die korrekt?
5b. Downgrade-Szenarien als durchspielbare Test-Cases
| # | Startzustand | Aktion | Erwartetes Verhalten |
|---|---|---|---|
| D1 | legend, 8 Custom-Domains | → pro | alle 8 bleiben aktiv & blocken. "hinzufügen" → "8/5 — entferne erst eine". Nichts gelöscht. Briefing listet's. |
| D2 | legend, 8 Custom-Domains | → free | wie D1 + HaGeZi-Karte "läuft in 14 Tagen aus". Nach 14d: globale Liste inaktiv, 8 eigene bleiben. |
| D3 | pro, globale Liste aktiv | → free | Briefing nennt 14-Tage-Grace. Tag 0–13: HaGeZi blockt weiter. Tag 14: inaktiv. Re-upgrade → sofort aktiv. |
| D4 | legend, 5 Mail-Accounts | → pro | 3 bleiben aktiv (3 zuerst hinzugefügte), 2 pausiert (nicht gelöscht). Vor Pause: "final sweep"-Scan. Re-upgrade → reaktiviert automatisch. |
| D5 | legend, 5 Mail-Accounts, einer hat ungescannt einen Casino-Newsletter in der Inbox | → free | betroffener Account wird nicht sofort pausiert: erst Scan + Block, dann Pause. (Falls Code das nicht so macht → P1-Bug.) |
| D6 | legend, 2 fremde Geräte enrolled | → pro/free | DB: beide → degraded nach 14-Tage-Grace. Tag 0–13: volle Blocklist. Tag 14: DoH-Passthrough. App: "Schutz ausgelaufen — Profil selbst entfernen: [Link]". Kein grünes Häkchen. Re-upgrade → volle Liste, active, keine Neu-Installation. |
| D7 | legend, eingeloggt auf 3 Geräten | → pro/free | 7-Tage-Grace. Danach: nächster App-Start auf überzähligem Gerät → sanfter Logout-Screen; zuletzt aktives bleibt. DNS-Filter auf ausgeloggten Geräten läuft weiter. |
| D8 | legend, Coach Haiku, mitten im SOS-Chat | → free | laufende Antwort nicht abbrechen. Nächste Nachricht: Llama 8B. Kurzhinweis. Kein Schutz-/Funktionsverlust. |
| D9 | legend, TTS gerade am Sprechen (ElevenLabs) | → free | laufende Ausgabe zu Ende. Nächste: Google-Stimme, 60s/Tag-Cap. Custom-Voice-Auswahl gespeichert. |
| D10 | legend, hat Community-Gruppe gegründet | → pro/free | Gruppe bleibt, User bleibt Admin, kann moderieren. "Neue Gruppe" → gated. Andere merken nichts. |
| D11 | free, aktiver 7-Tage-Demographics-Pro-Trial | Trial läuft ab | wie D1–D10 wo zutreffend + sanftes Briefing (§4b, "Danke nochmal"-Ton). Kein Daten-Rückzug, keine Schuld-Sprache. |
| D12 | pro+MDM-Add-On, MDM-Lock auf supervised iPhone | Add-On kündigen | 7-Tage-Cooldown (Lyra). Danach: NanoMDM pusht RemoveProfile (Restriction-Payload); DNS-Payload bleibt. Liability-Override via Admin-API. |
| D13 | jeder Downgrade | → runter | Briefing erscheint vor der Wirkung, Inhalt = §4b: erst "Schutz bleibt", dann konkrete Änderungsliste, dann "nichts gelöscht", dann Recovery-Sicherheitssatz, dann CTA. Kein "bist du sicher???"-Dialog. |
| D14 | jeder Downgrade → späterer Re-Upgrade | → hoch | alles Pausierte/Degradierte reaktiviert sich automatisch, ohne Neu-Einrichtung (Domains, Mail-Accounts, Voice, Geräte-Token, Gruppe-Admin). |
6. Offene Klärungspunkte (bevor das auf die Pricing-Page geht)
- Ist Mail-Live-IDLE-Scan tatsächlich gebaut? Code (
mailIntervalOptions:[1,4,8]) sagt nein, Memory sagt ja. → Backend-Owner fragen, nichts bewerben was nicht im Code ist. - Multi-Device-Pfad: MDM-Add-On-Pfad (supervised, remote-removable) oder separater nicht-supervised-Pfad? Downgrade-Policy D6 hängt davon ab. → klären.
- Echte Preise: rebreak.org/pricing war 401 — sobald live, dieses Doc + alle "Annahme"-Stellen nachziehen.
- Test-Toggle ändert Plan serverseitig? → ja (
/api/dev/set-plansetztprofile.plan). Bestätigt. - MDM-Add-On-Preis: Strategist-Empfehlung — 5€ statt 3€ (95% Marge, hoher Setup-Support-Aufwand/User, Zielgruppe nicht preissensibel; bei <20 erwarteten Usern Jahr 1 ist Volumen irrelevant → Marge). Bei Volumen-Strategie: 3€.
- DiGA-SKU: jetzt nicht designen — erst Beta + Wirksamkeitsstudie. Aber Free/Pro/Legend so bauen, dass eine spätere "alles drin, Kasse zahlt"-Variante kein Architektur-Umbau wird.
Quellen
- Headspace/Calm pricing teardowns (SBI Growth, Headspace Help, Breethe); Quitzilla (Google Play); "Best Addiction Recovery Apps 2025" (ChoosingTherapy)
- Intern:
backend/server/utils/plan-features.ts(PLAN_LIMITS),ops/RELEASE_READINESS.md,ops/strategy/mdm-productization-roadmap.md,apps/rebreak-native/stores/protectedDevices.ts, Memory (project_legend_multi_device_usp,project_demographic_pro_trial_reward,feedback_anonymity_nickname,project_mdm_productization)