Skip to content

Harden local privacy handling for teleprompter text and microphone recovery guidance #21

Description

@sfegette

Summary

Two local-security/privacy concerns came up in review:

  1. The full teleprompter script is persisted in plain UserDefaults
  2. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions