| .. | .. |
|---|
| 5 | 5 | |
|---|
| 6 | 6 | ## CRITICAL (Must fix before submission) |
|---|
| 7 | 7 | |
|---|
| 8 | | -- [ ] **C1: Remove NSAllowsArbitraryLoads** — ATS bypass, Apple will reject. Use NSAllowsLocalNetworking only, add TLS to MQTT or use NSExceptionDomains for specific hosts |
|---|
| 8 | +- [x] **C1: Remove NSAllowsArbitraryLoads** — ATS bypass, Apple will reject. Use NSAllowsLocalNetworking only *(fixed 2026-03-25)* |
|---|
| 9 | 9 | - [ ] **C2: Add TLS to MQTT** — All conversations and auth token travel in plaintext. Set `client.secure = true`, configure TLS on AIBroker broker |
|---|
| 10 | 10 | - [ ] **C3: Remove debug log files in production** — `mqtt_debug.log` and `_chatLog` write truncated message content to Documents. Wrap in `kDebugMode` or remove entirely |
|---|
| 11 | 11 | |
|---|
| .. | .. |
|---|
| 33 | 33 | - [ ] **L1: PrivacyInfo.xcprivacy** — Required since 2024 for UserDefaults and FileTimestamp APIs |
|---|
| 34 | 34 | - [ ] **L2: Privacy policy URL** — Required for microphone/camera access apps |
|---|
| 35 | 35 | - [ ] **L3: Unused dependencies** — Remove `web_socket_channel` and `wakelock_plus` from pubspec.yaml |
|---|
| 36 | | -- [ ] **L4: Unnecessary _http._tcp** — Remove from NSBonjourServices, only _mqtt._tcp needed |
|---|
| 36 | +- [x] **L4: Unnecessary _http._tcp** — Removed from NSBonjourServices *(fixed 2026-03-25)* |
|---|
| 37 | 37 | - [ ] **L5: Typing indicator timeout** — Can get stuck if typing_end missed during background. Auto-clear after 10s |
|---|
| 38 | 38 | - [ ] **L6: Version number** — Default 1.0.0+1, set correctly before submission |
|---|
| 39 | 39 | - [ ] **L7: App icon** — Verify meets Apple guidelines (no alpha channel, correct sizes) |
|---|
| .. | .. |
|---|
| 46 | 46 | | NSCameraUsageDescription | PASS | - | |
|---|
| 47 | 47 | | NSPhotoLibraryUsageDescription | PASS | - | |
|---|
| 48 | 48 | | NSLocalNetworkUsageDescription | PASS | - | |
|---|
| 49 | | -| NSBonjourServices | PASS | Remove _http._tcp | |
|---|
| 50 | | -| NSAppTransportSecurity | FAIL | Fix C1 | |
|---|
| 49 | +| NSBonjourServices | PASS | Fixed - removed _http._tcp | |
|---|
| 50 | +| NSAppTransportSecurity | PASS | Fixed - removed NSAllowsArbitraryLoads | |
|---|
| 51 | 51 | | UIBackgroundModes: audio | PASS | - | |
|---|
| 52 | 52 | | Privacy Policy | FAIL | Fix L2 | |
|---|
| 53 | 53 | | PrivacyInfo.xcprivacy | FAIL | Fix L1 | |
|---|