# Session-Handoff 2026-06-07 (Windows-Schutz + Mac-DNS + Marketing-Nav)

> Für die nächste Claude-Code-Session. Stand: ~15:40, User macht gleich **Mac-Neustart**.
> Memory-Files (MEMORY.md) ergänzen diesen Stand — hier das Session-Spezifische.

---

## 🔴 SOFORT-NÄCHSTER SCHRITT (offen, blockt Mac-Entscheidung)

**Mac-DNS-Profil: Wall oder stale-state?** Nach dem Neustart:
1. `~/Downloads/rebreak-schutz-signed.mobileconfig` installieren (signiertes DNS-Profil, Platzhalter-PW egal).
2. **Installiert** → KEINE Wall, manuelles DNS-Profil reicht (heutige Fails = stale Netzwerk-Dienst vom entfernten alten Profil). RemovalPassword-Schutz steht → **kein MDM nötig**.
3. **Failt auch auf frisch gebootetem Mac** (`„VPN-Dienst konnte nicht erstellt werden"`) → echte **macOS-26-Wall** (DNS nur via MDM) → dann MDM-Pfad (NanoMDM, siehe unten).

⚠️ Wichtig: NICHT vorschnell „MDM Pflicht" sagen — das echte ReBreak-DNS-Profil hat bei diesem User VORHER manuell installiert. Beweislage unklar bis Clean-Boot-Test.

---

## ✅ Was heute fertig wurde (verifiziert)

1. **Windows-Schutz end-to-end bewiesen** (in UTM Win11-ARM64-VM):
   - PowerShell DoH-Takeover → `Resolve-DnsName bet365.de` = `0.0.0.0`/NXDOMAIN
   - Browser-Bypass gelöst: Chrome/Edge umgehen System-DNS via built-in-Resolver+eigenem DoH → Fix = 2 Policies (`DnsOverHttpsMode=off` + `BuiltInDnsClientEnabled=false`), beide nötig.
   - **Subdomain-Bug (User-Fund):** Blocklist war Apex-only (`bet365.com` geblockt, `www.bet365.com` offen). Fix deployed (siehe unten).
2. **ReBreak Magic Windows-App** (`apps/rebreak-magic-win/`, Tauri): komplett gecodet, CI-Build **grün**, Installer gebaut: `ReBreak Magic_0.1.0_x64-setup.exe` (3,8 MB, in `/tmp/rebreak-win-installer/`). Browser-Policies im `protection-core/apply_script`.
3. **Mac Removal-Lock BEWIESEN:** Profil mit `PayloadRemovalDisallowed` + `RemovalPassword` → macOS verlangt beim Entfernen das **Removal-PW, NICHT Admin-PW** (Dock-Test-Profil). RemovalPassword hält gegen Admin.
4. **Marketing-Nav umgebaut** (`apps/marketing/app/layouts/default.vue`): Floating-Tabbar raus → Hamburger (mobil) / Header-Nav (Desktop).

---

## 🟡 Offene Threads / Entscheidungen

| Thread | Status | Nächster Schritt |
|---|---|---|
| Mac-DNS Wall-Test | **blockt** | Clean-Boot-Test (oben) |
| Mac-MDM-Pfad (falls Wall) | geplant | NanoMDM Mac-Enrollment + DNS-Push testen (rebreak-binder-Domain). Teile da: `ops/mdm/rebreak-mac-dns-filter.mobileconfig`, `backend/server/api/mdm/enroll.get.ts` |
| Backend-Deploys | **warten auf GO** | ProhibitDisablement (dns/profile), Geräte-Matrix (plan-features+magic), magic/status — alle uncommitted |
| Marketing-Content | offen | „was wir alles bieten" (iOS/Android/Mac/Windows) — braucht User-Steer (Positionierung) |
| Installer hosten + Download-Link | offen | Wohin? `rebreak.org/downloads/` lt. magic/info. Dann Download-Page um Windows ergänzen |
| Mac Browser-Policies | offen | Managed Prefs Chrome/Edge ins Mac-Profil (Chromium umgeht DNS auch auf Mac) |
| Backend-Cooldown-Flow (Mac-Selbstbindung) | offen | Backend hält RemovalPassword, App-Release nach 24h, verschlüsselte Delivery |
| Android: Ina Internal-Test | offen | Opt-in-Link (Play Console → Interne Tests → „Teilnahme am Test") an Ina; Account `inabrini15@gmail.com` |
| Android Open Testing | besprochen | „Offener Test" (public Link) braucht Google-Review; Glücksspiel-Framing beachten |

---

## 📦 Working-Tree (uncommitted — NICHT deployed)

**Backend (deploy nach GO → triggert Staging via push main):**
- `dns/profile.get.ts` — `ProhibitDisablement: true` ergänzt (gegen Toggle-Bypass)
- `magic/register.post.ts` — `platform`-Feld (windows) + Cross-Counting Desktop-Slots
- `magic/status.get.ts` — **neu** (Token-Status-Poll für Win-Tamper-Service)
- `magic/info.get.ts` — Windows-Installer-URL
- `plan-features.ts` — Pro `maxProtectedDevices 0→1` (Geräte-Matrix Pro 1+1 / Legend 3+2)
- `db/devices.ts` — MAGIC_DEVICE_LIMIT entfernt (jetzt plan-gated)
- `devices/enroll.post.ts` — Cross-Counting Magic+Protected

**Native (Frontend, kein Backend-Deploy):**
- `devices.tsx` (Mac/Win-Menü raus → MagicSheet direkt), `MagicSheet.tsx` (Mac/Win-Toggle + i18n), `DeviceProgressBar.tsx` (label), `AddMacSheet.tsx`, locales ar/de/en/fr

**Marketing:** `layouts/default.vue` (Nav-Umbau), locales de/en (Pricing 2/5 Geräte)

---

## 🚀 Committed + deployed heute

- `80be124` **blocklist `||domain^`** (Subdomain-Fix) → deployed Staging, AdGuard re-pulled (395k Regeln), `www.*` verifiziert NXDOMAIN
- `4b4b9fc` / `771af0f` / `869d8af` **rebreak-magic-win App + CI** → Build grün, Installer-Artefakt da
- **AdGuard-Server (rebreak-mdm):** `blocking_mode: default → nxdomain` (Config-Edit, Backup `AdGuardHome.yaml.bak-1780828505`). Beides LIVE für alle DNS-Plattformen.

---

## 🧪 Artefakte (lokal)

- `/tmp/rebreak-win-installer/ReBreak Magic_0.1.0_x64-setup.exe` — Windows-Installer (3,8 MB)
- `~/Downloads/rebreak-schutz-signed.mobileconfig` — signiertes Mac-DNS-Profil (für Clean-Boot-Test)
- `~/Downloads/removal-lock-test.mobileconfig` — Dock+RemovalPassword (beweist Removal-Lock, installiert)
- `~/Downloads/Windows11-ARM64-de.iso` — VM-ISO (4,9 GB)

---

## 🧠 Key-Findings (auch in Memory)

- **[[chromium-dns-bypass]]** — Chrome/Edge/Brave umgehen System-DNS (Mac+Win), Fix = 2 Browser-Policies
- **[[mac-magic-profile-lock]]** — RemovalPassword > Admin bewiesen; macOS-26 evtl. DNS-nur-via-MDM (Clean-Boot-Test pending); ProhibitDisablement gegen Toggle-Bypass
- **[[rebreak-magic-win]]** — Windows-App-Architektur + E2E-Validierung
- **[[Legend-USP = Multi-Device-Protection]]** — Geräte-Matrix Pro 1+1 / Legend 3+2 final

## ⚠️ Mac-Speicher: kritisch
460-GB-Disk war voll (865 MB frei). Heute ~29 GB Xcode-DevData gelöscht → ~35 GB frei. Windows-VM braucht ~40 GB. Langfristig: externe NVMe-SSD für VMs/Archive.
