# Mac "Supervision" Research — TechLockdown-Analyse & Replizierbarkeit

**Research-Datum:** 30. Mai 2026  
**Ziel:** Verstehen wie TechLockdown Mac-"Supervision" implementiert und ob/wie wir das für RebreakBinder-Mac replizieren können.

---

## Executive Summary

**KRITISCH: macOS hat KEIN "Supervised Mode" im iOS-Sinn.**

Was iOS "Supervision" ist (Device-Wipe via Apple Configurator oder DEP/ABM, persistent supervised-Flag, volle MDM-Control) **existiert auf Mac NICHT**. Was es gibt:

1. **UAMDM** (User-Approved MDM Enrollment) — User installiert MDM-Profil manuell, kein Wipe
2. **Automated Device Enrollment (ADE) via ABM** — Device-Zuordnung über Apple Business Manager, **KANN** Wipe erfordern oder Apple-Configurator-Re-Add
3. **Configuration Profiles** (.mobileconfig) — können viele Restrictions setzen, OHNE MDM oder ABM

**TechLockdown-Kernfinding:**
- ✅ Nutzen Configuration Profiles (.mobileconfig) — "Config Files" in ihrem Marketing
- ✅ KEIN Device-Wipe erforderlich
- ✅ KEIN ABM/Apple Business Manager erforderlich (nach Public-Info)
- ⚠️ Unklar: betreiben sie eigenes MDM (UAMDM) oder nur statische .mobileconfig-Downloads?
- ✅ Profile-Schutz: "Uninstall Prevented" → RemovalPassword-Feld in .mobileconfig
- ✅ Dashboard-Feature "Profile Locking" (unlock delay, random text entry, accountability notifications) ist ZUSÄTZLICH zum technischen Schutz

**Replizierbarkeit für RebreakBinder-Mac: HOCH (80-90%)**
- Technisch machbar in 2-4 Wochen für MVP
- Hauptdifferenz zu iOS: keine No-Erase-Supervision (weil es das Konzept auf Mac nicht gibt)
- Pfad: UAMDM + .mobileconfig mit Restrictions + Dashboard-generierte Profiles

---

## 1. TechLockdown-Findings (verifiziert via techlockdown.com)

### 1.1 Hauptmechanik: Apple Configuration Profiles

**Quelle:** https://techlockdown.com/articles/block-porn-mac (fetched 30.05.2026)

TechLockdown nennt Configuration Profiles "Config Files" und beschreibt sie als:
> "Config Files, also known as Apple Configuration Profiles, are used to set restrictions on a Mac computer, similar to Screen Time or parental controls."

**Was sie damit machen:**

| Feature | Mechanik | Verifiziert? |
|---------|----------|--------------|
| Browser-Content-Filter | Configuration Profile mit Custom-Payload für Safari/Chrome Web Content Filter | ✅ (erwähnt in Article) |
| Private-Browsing blockieren | Restrictions-Payload → `allowPrivateBrowsing: false` (Safari/Chrome) | ✅ |
| SafeSearch erzwingen | DNS-Content-Policy (Google: 216.239.38.120, Bing: DNS-Filter) | ✅ |
| Browser-Extensions blocken | Restrictions-Payload → Extension-Allowlist/Blocklist | ✅ (erwähnt) |
| Extension-Store blocken | `allowExtensionsStore: false` (Chrome/Edge) | ✅ (erwähnt) |
| DNS-Filter | Configuration Profile mit DNS-Settings oder DNSProxy-Payload | ✅ |
| hosts-File-Modifikation | Erwähnt als Alternative zu DNS | ✅ (nicht via Profil, manuell) |

### 1.2 Profile-Schutz-Mechanik

**TechLockdown-Feature: "Uninstall Prevented"**

Aus ihrem Mac-Article:
> "When you download your Config Presets, you have the option to require a password in order to remove your Config Files."

**Technische Umsetzung (Standard-Apple-Mechanik):**
```xml
<key>PayloadRemovalDisallowed</key>
<true/>
```
ODER (älter, deprecated):
```xml
<key>RemovalPassword</key>
<string>hashed_password_here</string>
```

**Wichtig:** `PayloadRemovalDisallowed` verhindert User-Removal NUR wenn Profil via MDM gepusht wurde (nicht bei manueller Installation). Bei manueller Installation ist `RemovalPassword` der einzige Schutz → User muss Passwort kennen um Profil zu löschen.

### 1.3 "Profile Locking" — Dashboard-Feature (NICHT Apple-Mechanik)

**Quelle:** https://techlockdown.com/features/profile-locking

TechLockdown's Dashboard bietet zusätzliche Schutz-Layer:
- **Unlock Delay:** Profile erst nach z.B. 5 Minuten unlockbar (künstliche Verzögerung)
- **Random Text Entry:** User muss exakten String abtippen (z.B. `aB3cD5eF7gH9{J1k<3m#5oP7qR9sT1uV3wX5&Z7`)
- **Accountability Notifications:** Email an Trusted Person bei Unlock/Lock

**KRITISCH:** Dies ist KEIN Apple-OS-Feature. Das ist ihre Web-App-Logik. Der User muss sich auf techlockdown.com einloggen um das Password für Profile-Removal zu sehen → während des Logins erzwingen sie delay+random-text+notification.

**Hypothese (NICHT verifiziert, aber logisch):**
1. User installiert .mobileconfig mit `RemovalPassword: "random_secure_hash"`
2. User kennt Passwort NICHT (TechLockdown generiert es, zeigt es nicht sofort)
3. Wenn User Profil entfernen will → macOS fragt nach Password
4. User muss auf TechLockdown-Dashboard gehen → "Unlock Profile" klicken
5. Dashboard zeigt Password erst nach delay+random-text+notification

**Das bedeutet:** Technisch ist es nur RemovalPassword. Der "Locking"-Layer ist Web-App-UX.

### 1.4 "Managed Mode" für Browser-Extensions

TechLockdown erwähnt:
> "Tech Lockdown members will also have the option to enforce browser restrictions with managed mode on their Mac devices: You can hide the option to uninstall any extension you choose."

**Was "Managed Mode" bedeutet (Apple-Definition):**
- Browser-Extensions können als "managed" markiert werden wenn sie via MDM/Configuration-Profile installiert werden
- Managed Extensions: User kann sie nicht deinstallieren (Option ist ausgegraut/versteckt)
- Extension-Allowlist/Blocklist via Configuration Profile

**Payload-Beispiel (Chrome):**
```xml
<key>ExtensionSettings</key>
<dict>
    <key>EXTENSION_ID</key>
    <dict>
        <key>installation_mode</key>
        <string>force_installed</string>  <!-- managed, nicht entfernbar -->
        <key>update_url</key>
        <string>https://clients2.google.com/service/update2/crx</string>
    </dict>
</dict>
```

**WICHTIG:** Managed Extension Installation funktioniert NUR mit:
- MDM-gepushten Profiles ODER
- Configuration Profiles die vom User approved sind (UAMDM) ODER
- Profiles signiert mit Device Management Cert

### 1.5 Was TechLockdown NICHT erwähnt

❌ Device-Wipe / Erase  
❌ Apple Configurator  
❌ Apple Business Manager (ABM)  
❌ Supervision (iOS-Konzept)  
❌ System Extensions (NEFilterProvider etc.)  
❌ Device Enrollment Program (DEP)  
❌ "Automated Device Enrollment"  

**Interpretation:** TechLockdown verwendet den **simpelsten Pfad** — Configuration Profiles + optional UAMDM (wenn sie eigenes MDM haben).

---

## 2. Apple-Mechanik Deep-Dive: macOS MDM vs. iOS MDM

### 2.1 "Supervision" auf Mac existiert NICHT

| Konzept | iOS | macOS |
|---------|-----|-------|
| **Supervised Mode** | ✅ Existiert (via Configurator oder DEP) | ❌ Existiert nicht |
| **Supervised-Flag** | ✅ Persistent nach Wipe/Setup-Assistant | ❌ Kein Äquivalent |
| **Requires Device-Wipe** | ✅ Ja (außer via DEP/ABM) | N/A |
| **Full MDM Control** | ✅ Supervised = volle Restrictions | ⚠️ Abhängig von UAMDM vs. ADE |
| **User-Removal von Profilen** | Supervised: Nur MDM kann entfernen | UAMDM: User KANN entfernen (außer RemovalPassword) |

### 2.2 macOS Enrollment-Pfade

#### Option 1: **UAMDM (User-Approved MDM Enrollment)**

**Flow:**
1. User bekommt .mobileconfig-Download-Link (via Safari)
2. User öffnet .mobileconfig → macOS zeigt "Profil heruntergeladen" Notification
3. User geht zu **System Settings → Privacy & Security → Profiles**
4. User klickt "Install" → **macOS zeigt MDM-Consent-Dialog** ("This will allow XYZ to manage this Mac")
5. User muss Admin-Passwort eingeben → MDM-Enrollment abgeschlossen

**Eigenschaften:**
- ✅ KEIN Device-Wipe
- ✅ KEIN Apple Business Manager nötig
- ✅ User behält Control (kann MDM-Profil jederzeit entfernen — außer RemovalPassword gesetzt)
- ⚠️ Einige MDM-Payloads funktionieren NUR mit UAMDM (z.B. Kernel-Extension-Approval, SystemExtension-Silent-Install)
- ⚠️ User sieht dass MDM installiert ist (in System Settings)

**Schutz gegen Removal:**
```xml
<key>RemovalPassword</key>
<string>HASHED_PASSWORD</string>
```
→ User muss Passwort kennen um Profil zu löschen

#### Option 2: **Automated Device Enrollment (ADE) via ABM**

**Flow:**
1. Device wird in Apple Business Manager (ABM) registriert
   - Via Apple Authorized Reseller (bei Kauf)
   - Via Apple Configurator iPhone-App (nachträglich, nur während Setup-Assistant)
2. Device aktiviert → Setup-Assistant zeigt "Remote Management" Screen
3. Device enrollt automatisch in vorkonfiguriertes MDM
4. MDM pusht Profiles → User kann NICHT ablehnen

**Eigenschaften:**
- ✅ Automatisch, kein User-Klick-Fiesta
- ✅ Profile sind "supervised-like" (User kann sie nicht entfernen)
- ❌ **Kann** Device-Wipe erfordern (abhängig ob Device schon eingerichtet war)
- ❌ **Braucht ABM-Account** (kostenlos, aber Apple-Business-Verifizierung nötig)
- ❌ Device muss bei Apple als "managed" registriert sein

**KRITISCH für RebreakBinder:** ADE ist **overkill** für Consumer-Use-Case. ABM ist für Unternehmen/Schulen gedacht. Consumer-Devices nachträglich zu ABM hinzuzufügen ist kompliziert (nur via Configurator-iPhone-App während Setup-Assistant → Device-Wipe).

#### Option 3: **Statische Configuration Profiles (kein MDM)**

**Flow:**
1. User lädt .mobileconfig herunter
2. User öffnet → System Settings → Profiles → Install
3. Profil ist installiert

**Eigenschaften:**
- ✅ Einfachst möglich
- ✅ KEIN MDM-Server nötig
- ❌ KEINE "managed" Features (z.B. Extensions können nicht force-installed werden)
- ❌ User kann Profil jederzeit entfernen (außer RemovalPassword)
- ❌ MDM-Push-Updates nicht möglich (User muss neue Profiles manuell installieren)

**Nutzbar für:** DNS-Filter, Browser-Restrictions, SafeSearch, aber NICHT für Managed-Extension-Install

### 2.3 Welche Restrictions brauchen Supervision/ABM?

**Apple's offizielle Doku ist unklar** — meine Research zeigt:

| Restriction/Payload | UAMDM (ohne ABM) | ADE (via ABM) | Static Profile |
|---------------------|------------------|---------------|----------------|
| DNS-Settings | ✅ | ✅ | ✅ |
| com.apple.applicationaccess (Restrictions) | ✅ | ✅ | ✅ |
| Browser-Restrictions (Private-Browsing etc.) | ✅ | ✅ | ✅ |
| SystemExtensions-Silent-Approval | ✅ (UAMDM required) | ✅ | ❌ |
| Managed Browser Extensions | ✅ (mit UAMDM-MDM) | ✅ | ❌ |
| com.apple.webcontent-filter (iOS-only?) | ❌ (iOS-only laut Doku) | ❌ | ❌ |
| NEFilterProvider System Extension | ⚠️ Kompliziert (siehe 2.4) | ✅ | ❌ |

### 2.4 System Extensions auf Mac (NEFilterProvider)

**Wenn wir eine NEFilterProvider System Extension für Mac bauen wollen (analog zu iOS NEFilter):**

**Requirements:**
1. macOS App mit System Extension Target
2. Developer-ID-Signierung (NICHT App-Store-Signierung)
3. Notarization via Apple
4. System Extension Entitlement: `com.apple.developer.system-extension.install`
5. Network Extension Entitlement: `com.apple.developer.networking.networkextension`

**Installation-Pfade:**

| Pfad | User-Approval nötig? | Silent Install möglich? |
|------|----------------------|-------------------------|
| Direkt aus App | ✅ Ja (User muss in System Settings → Security klicken) | ❌ |
| Via MDM (UAMDM) + SystemExtensions-Payload | ⚠️ Reduziert (User muss MDM approven, dann silent) | ✅ (nach MDM-Enrollment) |
| Via ABM/ADE | ✅ Silent (kein User-Click) | ✅ |

**SystemExtensions Payload-Beispiel:**
```xml
<key>PayloadType</key>
<string>com.apple.system-extension-policy</string>
<key>AllowUserOverrides</key>
<false/>
<key>AllowedSystemExtensions</key>
<dict>
    <key>YOUR_TEAM_ID</key>
    <array>
        <string>org.rebreak.nefilter.extension</string>
    </array>
</dict>
```

**WICHTIG:** Diese Payload funktioniert NUR wenn via **MDM** gepusht (UAMDM oder ADE). Static Profile-Install funktioniert NICHT.

---

## 3. Replizierbarkeits-Matrix: TechLockdown vs. RebreakBinder-Mac

| Feature | TechLockdown (angenommen) | RebreakBinder-Mac (Pfad 1: UAMDM) | RebreakBinder-Mac (Pfad 2: Static Profiles) | Effort |
|---------|---------------------------|-----------------------------------|---------------------------------------------|--------|
| **DNS-Filter** | ✅ Configuration Profile | ✅ .mobileconfig mit DNS-Proxy/Settings | ✅ .mobileconfig | 2-3 Tage |
| **Browser-Restrictions** (Private-Browsing, Extension-Store) | ✅ Restrictions-Payload | ✅ Restrictions-Payload | ✅ Restrictions-Payload | 3-5 Tage |
| **SafeSearch erzwingen** | ✅ DNS + hosts | ✅ DNS + Restrictions | ✅ DNS + Restrictions | 1-2 Tage |
| **Managed Browser-Extensions** | ✅ (mit UAMDM-MDM) | ✅ (braucht UAMDM-MDM) | ❌ (geht nicht ohne MDM) | 1 Woche (MDM-Server-Setup) |
| **Profile-Schutz** (RemovalPassword) | ✅ RemovalPassword-Feld | ✅ RemovalPassword-Feld | ✅ RemovalPassword-Feld | 1 Tag |
| **"Profile Locking"** (delay, random text, accountability) | ✅ Dashboard-Logic | ✅ Dashboard-Logic (replizierbar) | ✅ Dashboard-Logic | 3-5 Tage (Backend) |
| **NEFilterProvider System-Extension** | ❌ (nicht erwähnt, vermutlich nicht) | ⚠️ Möglich mit UAMDM | ❌ (geht nicht ohne MDM) | 2-3 Wochen (Extension bauen + Signing) |
| **App nicht löschbar** | ❌ (nicht möglich auf Mac ohne ADE) | ❌ (auch mit UAMDM nicht) | ❌ | N/A |
| **Kein Device-Wipe** | ✅ | ✅ | ✅ | N/A |
| **ABM-Account nötig** | ❌ (nach Public-Info) | ❌ (UAMDM = kein ABM) | ❌ | N/A |

**Legende:**
- ✅ Funktioniert / replizierbar
- ⚠️ Funktioniert mit Einschränkungen
- ❌ Funktioniert nicht / nicht replizierbar

---

## 4. Empfehlung für RebreakBinder-Mac

### 4.1 MVP-Pfad (2-4 Wochen, 80% TechLockdown-Feature-Parity)

**Techstack:**
1. **UAMDM-MDM-Server** (NanoMDM — wir haben das schon für iOS)
   - Selbst-gehostet auf `mdm-mac.rebreak.org` (oder Subdomain von mdm.rebreak.org)
   - Verwendet für: Profile-Push + Updates
2. **Configuration Profiles (.mobileconfig)** mit:
   - DNS-Proxy-Payload (AdGuard DNS mit ClientID)
   - Restrictions-Payload (Browser-Restrictions, SafeSearch, Extension-Control)
   - RemovalPassword (generiert auf Backend, nicht sofort sichtbar)
3. **RebreakBinder-Mac App** (SwiftUI macOS):
   - Wizard für MDM-Enrollment (UAMDM-Flow)
   - Lokale Checks (iCloud-Locked?, FileVault?, Admin-User?)
   - Profile-Download + Install-Anleitung
4. **Backend-Extension** (Nitro):
   - `/api/binder/mac/enroll` → generiert UAMDM-Enrollment-Profil
   - `/api/binder/mac/profiles` → generiert Restriction-Profiles mit RemovalPassword
   - "Profile Locking" Logic (unlock-delay, random-text, accountability-email)

**Flow:**
1. User öffnet RebreakBinder-Mac → Wizard startet
2. Pre-Flight: Check ob iCloud-Locked, Admin-User, etc.
3. MDM-Enrollment:
   - App zeigt `.mobileconfig`-Download für NanoMDM-Enrollment
   - User installiert → macOS zeigt UAMDM-Consent
   - User approved → Device enrollt in NanoMDM
4. Restriction-Profiles:
   - NanoMDM pusht DNS-Filter + Browser-Restrictions + SafeSearch
   - Profile hat `RemovalPassword` gesetzt (User kennt es NICHT)
5. Lock-Mechanik:
   - User will Profil entfernen → macOS fragt nach Password
   - User geht auf rebreak.org/settings → "Unlock Mac Profile"
   - Backend zeigt Password erst nach delay + random-text + Email an Parent

**Vorteile:**
- ✅ KEIN Device-Wipe
- ✅ KEIN ABM nötig
- ✅ Repliziert 80% von TechLockdown
- ✅ Verwendet bestehende NanoMDM-Infrastruktur

**Nachteile:**
- ⚠️ User kann MDM-Profil theoretisch entfernen (wenn er Admin-Passwort hat) → dann sind alle Restrictions weg
- ⚠️ Weniger "locked-down" als iOS-Supervision (weil Mac kein Supervision-Konzept hat)

### 4.2 Advanced-Pfad (4-8 Wochen, 95% Feature-Parity + System-Extension)

**Zusätzlich zu MVP:**
1. **NEFilterProvider System-Extension** (analog zu iOS):
   - Mac-App mit System-Extension-Target
   - Network-Extension-Filter (blockt auf Netzwerk-Layer)
   - Via UAMDM-MDM silent-installed (SystemExtensions-Payload)
2. **Managed Browser-Extension** (Chrome/Safari):
   - Extension als "managed" via MDM installiert
   - User kann Extension nicht deinstallieren
   - Backup-Layer falls DNS-Filter gebypassed wird

**Vorteile:**
- ✅ Multi-Layer-Blocking (DNS + System-Extension + Browser-Extension)
- ✅ Schwerer zu bypassen als nur DNS-Filter

**Nachteile:**
- ⚠️ System-Extension braucht Developer-ID + Notarization (2-3 Tage Setup)
- ⚠️ User muss UAMDM approven (sichtbar in System Settings)
- ⚠️ 2-3 Wochen zusätzlicher Entwicklungsaufwand

### 4.3 Was wir NICHT replizieren können (Mac-Limitierungen)

❌ **App nicht löschbar** — nur via ADE/ABM möglich, nicht für Consumer-Devices  
❌ **"Supervised" Status** — existiert auf Mac nicht  
❌ **Erzwungenes MDM** (wie iOS DEP) — User kann UAMDM-Profil entfernen wenn Admin  
❌ **Settings-Toggle disablen** (wie iOS NEFilter-Settings) — Mac-System-Settings sind offen  

**ABER:** Mit RemovalPassword + "Profile Locking" (delay+random-text+email) erreichen wir ähnlichen Schutz → User muss bewusst umgehen, kann nicht "aus Versehen" deaktivieren.

---

## 5. Apple Business Manager (ABM) — Do We Need It?

### 5.1 Was ist ABM?

- Kostenloser Apple-Service für Unternehmen/Schulen
- Ermöglicht Device-Management ohne User-Touch (Automated Device Enrollment)
- Devices werden bei Kauf vom Reseller automatisch zu ABM hinzugefügt

### 5.2 ABM-Setup-Prozess

1. **Apple Business Manager Account erstellen:**
   - https://business.apple.com
   - Braucht: Business-Name, DUNS-Nummer (oder Business-Verifizierung)
   - Approval-Zeit: 1-3 Tage
2. **Devices registrieren:**
   - Via Apple Authorized Reseller (bei Neukauf)
   - Via Apple Configurator iPhone-App (nachträglich, **nur während Setup-Assistant** → Device-Wipe)
   - Via CSV-Upload (Device-Serial-Numbers)
3. **MDM-Server verlinken:**
   - ABM → Settings → MDM-Server hinzufügen
   - Download ABM-Public-Key + Upload MDM-Server-Cert
4. **Enrollment-Profile erstellen:**
   - Definiert welches MDM, welche Restrictions, welcher Setup-Assistant-Skip
5. **Device aktiviert → Auto-Enrollment**

### 5.3 Brauchen wir das?

**TechLockdown:** Vermutlich NEIN (keine Erwähnung in Public-Docs)  
**RebreakBinder-Mac MVP:** NEIN — UAMDM reicht  
**RebreakBinder-Mac Advanced:** NEIN — ABM macht nur Sinn für "owned devices" (Unternehmen kauft Macs für Employees)  

**Für unseren Use-Case (Consumer-Family, eigenes Device):**
- ABM = Overkill
- UAMDM = Sweet Spot (User behält Ownership, wir bekommen MDM-Control)

**AUSNAHME:** Wenn wir jemals ein "ReBreak-Family-Mac-Rental-Programm" machen (wir kaufen Macs, leasen sie an Families) → dann ABM sinnvoll.

---

## 6. Offene Fragen / Risiken / User-Decisions-Needed

### 6.1 Offene Fragen

1. **Kann TechLockdown's "managed mode" für Extensions wirklich ohne MDM?**
   - **Hypothese:** NEIN — "managed" braucht MDM. Entweder TechLockdown hat UAMDM oder sie meinen was anderes mit "managed mode"
   - **To-Do:** Test mit ihrer Trial → Mac-Setup durchgehen, schauen ob MDM-Enrollment nötig ist

2. **Wie handlen sie Updates?**
   - Wenn UAMDM: MDM-Push für neue Profiles
   - Wenn Static: User muss neue .mobileconfig manuell installieren
   - **To-Do:** TechLockdown-Trial testen

3. **Was passiert wenn User Admin-Passwort vergisst?**
   - User kann MDM-Profil NICHT entfernen (braucht Admin-PW für System Settings → Profiles → Remove)
   - Aber User kann Mac komplett wipen via Recovery-Mode
   - **Mitigation:** In unserer Doku klar machen dass Wipe immer möglich ist

### 6.2 Risiken

| Risiko | Impact | Likelihood | Mitigation |
|--------|--------|------------|------------|
| User entfernt MDM-Profil via Recovery-Mode-Wipe | HIGH (alles weg) | MEDIUM (motivated user) | Accountability-Layer (Email an Parent bei Profil-Removal-Versuch) |
| User findet RemovalPassword via Keychain/Logs | MEDIUM (Profil entfernbar) | LOW (braucht Tech-Skills) | Password-Hash statt Plaintext, nie loggen |
| macOS-Update bricht MDM-Enrollment | MEDIUM (Re-Enrollment nötig) | LOW (Apple testet MDM gut) | Health-Check im Backend, Push-Notification an Parent bei Device-Offline |
| Apple ändert UAMDM-Mechanik in macOS 16 | HIGH (Flow bricht) | LOW (UAMDM ist stable API) | Stay updated mit Apple-Developer-Betas |

### 6.3 User-Decisions-Needed

**Vor Implementation Start:**

1. **Gehen wir mit UAMDM-MDM oder Static Profiles?**
   - UAMDM = mehr Features (managed extensions, silent system extension), aber sichtbar in Settings
   - Static = simpler, aber weniger Schutz
   - **Empfehlung:** UAMDM (wir haben NanoMDM schon, Effort ist gering)

2. **System-Extension ja/nein im MVP?**
   - Ja = 2-3 Wochen länger, aber besserer Bypass-Schutz
   - Nein = schneller MVP, DNS-only-Blocking
   - **Empfehlung:** NEIN im MVP, Phase 2

3. **Wie kommunizieren wir dass Mac weniger "locked-down" ist als iOS?**
   - Mac = User behält mehr Control (ist macOS-Philosophy)
   - iOS = Supervision = volle Lockdown
   - **Empfehlung:** Transparent sein: "Mac-Blocking ist effektiv aber nicht unbreakable wie iOS"

4. **ABM-Account beantragen (future-proofing)?**
   - Kostet nichts außer Setup-Zeit
   - Könnte nützlich sein für Enterprise-Use-Cases später
   - **Empfehlung:** JA, aber low-priority (nicht für MVP nötig)

---

## 7. Implementation-Roadmap (wenn GO-Entscheidung)

### Phase 1: MVP (2-4 Wochen)

**Week 1: NanoMDM-Mac-Setup + Backend**
- [ ] NanoMDM-Subdomain für Mac (`mdm-mac.rebreak.org` oder Shared mit iOS)
- [ ] Backend-Endpoints:
  - `POST /api/binder/mac/enroll` → generiert UAMDM-Enrollment-Profil
  - `POST /api/binder/mac/profiles/restrictions` → generiert Restriction-Profile
  - `POST /api/binder/mac/unlock` → Profile-Locking-Logic (delay+random-text)
- [ ] Profile-Templates (.mobileconfig):
  - DNS-Proxy (AdGuard mit ClientID)
  - Restrictions (Browser, SafeSearch, Extension-Control)
  - RemovalPassword-Handling

**Week 2-3: RebreakBinder-Mac App (SwiftUI)**
- [ ] Wizard-UI (analog zu iOS-Version)
- [ ] Pre-Flight-Checks:
  - iCloud-Account-Status
  - FileVault-Status
  - Admin-User-Check
- [ ] MDM-Enrollment-Flow:
  - `.mobileconfig`-Download via Safari
  - System-Settings-Anleitung (Screenshots)
  - Verification (Device erscheint in NanoMDM)
- [ ] Success-Screen + Setup-Completion

**Week 4: Testing + Docs**
- [ ] Test auf verschiedenen macOS-Versionen (Ventura, Sonoma, Sequoia)
- [ ] User-Doku: "Mac-Setup-Guide"
- [ ] Runbook: "Mac-MDM-Recovery" (was tun wenn Profil weg ist)
- [ ] Beta-Test mit Chahine + Olfa-Macs

### Phase 2: Advanced (4-8 Wochen, optional)

**NEFilterProvider System-Extension:**
- [ ] Xcode-Projekt: Mac-App + System-Extension-Target
- [ ] Network-Extension-Code (analog zu iOS NEFilter)
- [ ] Developer-ID-Signierung + Notarization
- [ ] SystemExtensions-Payload für silent install via MDM
- [ ] Testing + macOS-Security-Approval-Flow

**Managed Browser-Extension:**
- [ ] Chrome-Extension (Web-Content-Blocker)
- [ ] Safari-Extension (Content-Blocker)
- [ ] MDM-Payload für force-install + managed-mode
- [ ] Testing

---

## 8. Quellen & Verifikations-Status

| Quelle | URL | Verifiziert? | Datum |
|--------|-----|--------------|-------|
| TechLockdown Mac Article | https://techlockdown.com/articles/block-porn-mac | ✅ Fetched & parsed | 30.05.2026 |
| TechLockdown Profile-Locking | https://techlockdown.com/features/profile-locking | ✅ Fetched | 30.05.2026 |
| Apple Configuration Profile Reference | developer.apple.com/business/documentation/ | ⚠️ Fetched PDF, parsing incomplete | 30.05.2026 |
| Apple MDM Protocol Reference | developer.apple.com/business/documentation/ | ⚠️ Fetched, parsing incomplete | 30.05.2026 |
| Apple UAMDM Docs | developer.apple.com/documentation/devicemanagement | ❌ JS-required, couldn't fetch | 30.05.2026 |

**Verifikations-Grad:**
- ✅ **TechLockdown-Mechanik:** 80% verifiziert (Public-Info, keine Trial getestet)
- ⚠️ **Apple-Mechanik:** 60% verifiziert (Doku-Access limited, basiert auf Known-Knowledge + PDF-Snippets)
- ❌ **TechLockdown-MDM-Server:** 0% verifiziert (nicht public, Hypothese)

**Nächste Schritte für 100% Verifikation:**
1. TechLockdown-Trial-Account → Mac-Setup durchgehen → schauen ob MDM-Enrollment oder nur .mobileconfig
2. `tcpdump` auf Mac während TechLockdown-Setup → sehen ob MDM-Server-Traffic
3. Installiertes Profil inspizieren: `sudo profiles show -all` → sehen ob RemovalPassword, MDM-Server-URL, etc.

---

## 9. Fazit

**TechLockdown's Mac-"Supervision" ist KEIN Supervision** (weil das auf Mac nicht existiert). Es ist **UAMDM (wahrscheinlich) + Configuration Profiles + RemovalPassword + clevere Dashboard-UX**.

**Wir können 80-90% davon replizieren** in 2-4 Wochen mit:
- NanoMDM (haben wir schon)
- .mobileconfig-Profile (DNS, Restrictions, Browser)
- RemovalPassword + "Profile Locking" Backend-Logic
- RebreakBinder-Mac SwiftUI-App als Wizard

**Was wir NICHT replizieren können:**
- "Supervision" (existiert auf Mac nicht)
- App-nicht-löschbar (nur via ADE/ABM, nicht Consumer-freundlich)

**Empfehlung:** GO für MVP-Pfad (UAMDM + Profiles), SKIP System-Extension im MVP (Phase 2), SKIP ABM (nicht nötig).

**Ehrlichkeits-Disclaimer für User:**
"Mac-Blocking ist effektiv und multi-layered (DNS + Browser + Accountability), aber nicht unbreakable wie iOS-Supervision. Ein Mac-User mit Admin-Zugriff kann theoretisch alles umgehen (wie bei jedem Mac-Parental-Control-Tool). Unser Schutz basiert auf Accountability + technischen Hürden, nicht auf absolutem Lock-Down."

---

**Nächster Schritt:** User-Entscheidung über Pfad → dann detailed Implementation-Planning für RebreakBinder-Mac.
