Last updated: July 16, 2026
Parrot is a native macOS command-line tool that converts one spoken utterance into text. This notice describes what Parrot itself processes and how its use of Apple's Speech framework may affect privacy.
Parrot accesses the default microphone only while a command that captures audio is running. It streams microphone buffers directly to Apple's Speech framework for recognition.
Parrot does not intentionally:
- Save microphone audio
- Create temporary audio files
- Store completed or partial transcripts
- Maintain a transcript history
- Send audio or transcripts to a Parrot-operated server
Recognized text is held in memory while the command runs. A successful command
writes one finalized transcript to stdout and exits. With --verbose, partial
recognition is also written to stderr.
Your shell and the programs you invoke determine what happens to that output.
For example, piping to pbcopy, appending to a file, using command substitution,
or passing text to another program may copy or retain the transcript outside
Parrot. Terminal applications may also retain displayed output in scrollback.
Parrot uses Apple's SFSpeechRecognizer. Without --on-device, or when
on-device = false in configuration, Apple may use network-backed speech
recognition depending on the selected locale, macOS capabilities, and system
configuration.
With --on-device, or on-device = true, Parrot requires Apple to report
on-device recognition support. If strict on-device recognition is unavailable,
Parrot exits with an error rather than silently falling back to network-backed
recognition.
Apple's handling of data processed by its Speech framework is governed by Apple's terms, system settings, and privacy policies. Parrot does not control Apple's services or data practices.
macOS controls Parrot's access to:
- Microphone
- Speech Recognition
You can review or revoke these permissions under System Settings > Privacy &
Security. Parrot's stable bundle identifier is dev.lobot.parrot.
Parrot may read preferences from $XDG_CONFIG_HOME/parrot/config or
~/.config/parrot/config. Supported preferences contain operational settings
such as locale, timeout, silence duration, on-device mode, and verbosity. Parrot
does not write this file automatically, and it is not intended to contain audio
or transcripts.
Parrot itself includes no telemetry, analytics, advertising, user accounts, or Parrot-operated network API. It does not make direct network requests. Network activity may still occur inside Apple's Speech framework when strict on-device recognition is not enabled.
Because Parrot does not intentionally persist audio or transcripts, it has no Parrot-managed retention period or deletion process. Data written to a terminal, clipboard, file, log, or downstream command is controlled by those tools and by the user.
Material changes to Parrot's audio handling, network behavior, telemetry, storage, or third-party processing should be reflected in this notice.
Questions or concerns may be reported through the project's GitHub issue tracker: https://github.com/swinton/parrot/issues.