Privacy

Privacy model

Parakey is local-first in the strict sense: no analytics SDK, no accounts, no crash reporter, no transcript sync, and no cloud transcription endpoint.

What happens to the audio

Transcript handling

In memory

Audio is captured while the hotkey is active, transcribed locally, then discarded.

Clipboard paste

The finished text is copied to the general pasteboard and pasted into the focused app with ⌘ V.

No transcript logs

Logs include timing and length metadata only. Transcript content is not written to disk.

Three calls, fully listed

Network calls

This is the complete network surface of Parakey itself and its install/update path.

When Destination Purpose User control
First launch huggingface.co FluidAudio downloads the Parakeet TDT v3 CoreML model weights, about 600 MB, into the local support cache. Required once for local transcription.
Periodic update check api.github.com/repos/rcourtman/parakey/releases/latest Anonymous release lookup every six hours, plus one check shortly after launch. Disable from Settings.
User-triggered update github.com/rcourtman/parakey/releases/download/... Homebrew downloads the signed release archive when the user chooses to update. Only runs when the user updates.

Machine-readable version: privacy/network-calls.json.

Sandbox surface

Permissions and entitlements

The notarised app uses two hardened-runtime entitlements: audio input and microphone. macOS also requires user-granted Accessibility and Input Monitoring permissions for the hotkey and paste workflow.

Parakey does not add JIT, unsigned executable memory, library-validation, network-client, contacts, calendar, location, camera, or file-provider entitlements.