# 09. Update iOS App Branding meta: id: rebrand-to-kordant-09 feature: rebrand-to-kordant priority: P1 depends_on: [rebrand-to-kordant-01] tags: [ios, mobile] objective: - Update all ShieldAI branding in the iOS app: Xcode project, Swift source files, bundle identifiers, display text, storage keys, and URL schemes. deliverables: - iOS/ShieldAI/ directory renamed to iOS/Kordant/ - Xcode project file (.pbxproj) — all ShieldAI references updated (bundle IDs, target names, product names, entitlements, URL schemes, info plist strings) - ShieldAIApp.swift — app struct renamed - ShieldAITheme.swift — theme struct renamed; ShieldAITheme.cornerRadius references in all View files updated - AuthView, OnboardingView — display text updated - BiometricAuthService — auth prompt messages updated - CameraService — usage description strings updated - APIClient, PushNotificationService, NetworkMonitor — subsystem strings updated - Route.swift — URL scheme updated from "shieldai" to "kordant" - ThemeManager — storage key updated - OfflineQueue, CacheManager — storage keys updated - ShieldAITests, ShieldAIUITests — all references updated - Deep link URL strings in tests updated steps: 1. Rename iOS directory from `iOS/ShieldAI` to `iOS/Kordant` (this will require updating all paths in pbxproj) 2. Edit pbxproj — find/replace all ShieldAI → Kordant (bundle IDs, target names, product names, paths, info plist strings, URL schemes) 3. Edit Swift source files — update ShieldAIApp, ShieldAITheme, display text, storage keys, URL schemes, subsystem strings, biometric prompts 4. Update test files — @testable import, class names, URL strings tests: - Build: iOS project opens in Xcode and builds successfully - Unit: All iOS tests pass acceptance_criteria: - Xcode project loads without errors - All build targets compile - Bundle identifier uses `com.kordant.*` - URL scheme is `kordant://` - No "ShieldAI" remains in any Swift source file validation: - Run `grep -rn "ShieldAI\|shieldai" iOS/Kordant/ — expect zero - Open project in Xcode, verify build succeeds