Skip to content

Security: helpsolution/voicy

Security

SECURITY.md

Security

Reporting a vulnerability

Report it privately through this repository's Security → Report a vulnerability page. Please do not include transcript text, audio recordings, or full diagnostic logs in a public issue — they may contain whatever you dictated.

What Voicy is exposed to

Voicy has no account, no server, and no cloud transcription service. It holds three macOS permissions, and that is the whole attack surface worth thinking about:

  • Microphone — records only while dictation is active.
  • Accessibility — reads the focused element and inserts text into it.
  • Input Monitoring — observes the configured global hotkey.

Transcripts, statistics and settings are stored unencrypted in the user's preferences domain (~/Library/Preferences/com.helpsolution.voicy.plist), with runtime state under ~/Library/Application Support/Voicy. Any process running as the same user can read them; Voicy does not add protection beyond the file permissions macOS applies. See PRIVACY.md for the full list of paths.

The only network access in the app is the one-time speech-model download performed by FluidAudio from Hugging Face. Voicy contains no other networking code, no update check, and no telemetry. FluidAudio honours the REGISTRY_URL / MODEL_REGISTRY_URL environment variables to redirect that download; Voicy treats either of them being set as a tampered launch environment, logs it, shows a blocking alert, and refuses to start.

Signing and Gatekeeper

The published .dmg is ad-hoc signed and not notarized by Apple. Two consequences you should know before installing it:

  • macOS will refuse the first launch. Opening it requires an explicit System Settings → Privacy & Security → Open Anyway, which is exactly the warning Gatekeeper is supposed to give for software Apple has not checked.
  • An ad-hoc signature has no stable designated requirement, so macOS treats each new build as a different program: granted permissions have to be re-approved after an update.

Every release lists the SHA-256 of its .dmg. Verify it before opening:

shasum -a 256 ~/Downloads/Voicy-*.dmg

If you would rather not trust a prebuilt binary, build from source — README.md documents scripts/install-local.sh, which signs with your own Apple Development identity. Neither path disables Gatekeeper for you, and no Voicy script ever calls xattr to strip the quarantine flag or tccutil to reset permissions.

There aren't any published security advisories