Summary
Two local-security/privacy concerns came up in review:
- The full teleprompter script is persisted in plain
UserDefaults
- The microphone recovery alert instructs the user to run
sudo tccutil reset ...
Why this matters
This app may contain sensitive scripts or talking points. Persisting them by default in UserDefaults increases local exposure. Separately, asking users to paste a sudo command from an app is heavier than necessary and sets a poor support precedent.
Suggested direction
Teleprompter text
- Decide whether script persistence should be opt-in
- If persistence stays, consider a clearer privacy tradeoff in Settings
- Consider using a more explicit storage model or giving users a one-click clear option
Mic recovery
- Revisit whether
sudo is actually required for the reset guidance
- If not, prefer a non-elevated command and clearer explanation
- If elevated reset is truly unavoidable, document why and minimize copy/paste risk
Relevant code
Models/AppSettings.swift lines 26-28, 61
Capture/CaptureManager.swift lines 280-297
Acceptance criteria
- Teleprompter persistence behavior is a deliberate, documented product choice
- Microphone recovery instructions use the least-privileged safe path
- Sensitive local data handling is easier to reason about
Summary
Two local-security/privacy concerns came up in review:
UserDefaultssudo tccutil reset ...Why this matters
This app may contain sensitive scripts or talking points. Persisting them by default in
UserDefaultsincreases local exposure. Separately, asking users to paste asudocommand from an app is heavier than necessary and sets a poor support precedent.Suggested direction
Teleprompter text
Mic recovery
sudois actually required for the reset guidanceRelevant code
Models/AppSettings.swiftlines 26-28, 61Capture/CaptureManager.swiftlines 280-297Acceptance criteria