HN Debrief

Apple rejected my dictation app for using the accessibility API

  • Developer Tools
  • Apple
  • Security
  • Accessibility
  • Startups

The post is from the developer of WhisperPad, a Mac dictation app that records speech, transcribes it, then inserts the text into whatever app the user is currently using. Apple approved a Mac App Store version that only copies text to the clipboard, but rejected the fuller version that uses Accessibility permission and CGEventPost to simulate paste into other apps. The developer’s complaint is not that Apple blocks the app entirely. The direct version is signed, notarized, and installable from the web. The problem is that App Store review treats this kind of system-wide control as crossing guideline 2.4.5, while similar utilities outside the store ship normally.

If your Mac app relies on Accessibility or synthetic input, assume the Mac App Store may reject it even when direct notarized distribution is allowed. Plan distribution, pricing, and product scope around a likely split between a limited App Store build and a fuller direct-download version.

Discussion mood

Mostly frustrated with Apple. The dominant view was that App Store review is opaque, inconsistent, and hostile to legitimate desktop utility software. A smaller but serious group defended Apple's caution because Accessibility permission is extremely powerful and easy to abuse.

Key insights

  1. 01

    Accessibility permission is the wrong granularity

    The core problem is not that dictation into other apps is inherently illegitimate. It is that macOS exposes it through a permission bucket that effectively grants broad system control. That makes developers ask for far more authority than they actually need. It also forces reviewers to judge intent instead of capability. People who rely on assistive tools still need that full power, so replacing Accessibility outright would break real use cases. What is missing is a second path with narrower, task-level permissions for non-assistive apps.

    If your product only needs one narrow automation action, design as if Apple may never separate that action from full Accessibility access. Keep your implementation modular so you can adopt a narrower API fast if Apple ever creates one.

      Attribution:
    • marvin-hansen #1
    • RZelaya #1
    • int0x29 #1
  2. 02

    This is an App Store constraint, not a macOS ban

    The rejected app still runs fine on macOS when distributed directly. It can be signed, notarized, and installed without special workarounds. The block appears only when the same behavior goes through Mac App Store review. That distinction matters because it turns a technical-looking rejection into a go-to-market problem. The operating system allows the capability. Apple's store policy does not.

    For Mac utilities, treat the App Store as one channel rather than the product's source of truth. Build onboarding, updates, and payments so a direct-download version can stand on its own if review blocks core features.

      Attribution:
    • RZelaya #1 #2 #3
    • stokedbits #1
  3. 03

    Review outcomes hinge on justification language

    Several developers said the deciding factor is often how the app explains its use of Accessibility, not a precise technical test of each API call. One person with a similar sandboxed app was approved using the same CGEvent mechanism. Another was rejected for a nearly identical assistive use case. That makes the practical bottleneck the review narrative and the reviewer, not a stable rule that developers can engineer against with confidence.

    Budget time for appeals and rewrites of your review notes if your app touches sensitive permissions. Your compliance work needs product messaging and reviewer-facing explanation, not just code changes.

      Attribution:
    • claviska #1
    • atroon #1
    • MagicMoonlight #1
  4. 04

    Synthetic paste breaks on keyboard layouts

    Automating Cmd+V sounds trivial until keyboard layout enters the picture. The app had hardcoded the QWERTY keycode for V, which means auto-paste fails for Dvorak, Colemak, and AZERTY users. That bug surfaced immediately once someone familiar with native Mac input automation looked at the design. It is a good reminder that desktop input synthesis is full of locale and focus edge cases that product demos hide.

    If you simulate keyboard input, test against non-QWERTY layouts before calling the feature done. Add layout-aware translation and regression tests now, because users who need accessibility features are especially likely to depend on unusual setups.

      Attribution:
    • RZelaya #1
    • longnguyen #1

Against the grain

  1. 01

    Apple is right to gate system-wide control

    Granting an app Accessibility access is not a minor permission. It is effectively permission to observe and steer large parts of the machine. That can enable genuine assistive technology, but it can also enable spyware and data exfiltration. From that angle, Apple's mistake is not strictness. It is that developers keep trying to package powerful automation as ordinary productivity software and expect the store to bless it.

    Do not assume users or reviewers will see 'just pasting text' as low risk once the implementation requires full Accessibility power. Frame your product around the real trust boundary and expect higher scrutiny if it crosses it.

      Attribution:
    • cmsj #1
    • ryandrake #1
  2. 02

    Apple cannot kill Accessibility utilities outright

    The idea that Apple simply wants nobody using these APIs does not fit the reality of the Mac ecosystem. Window managers, launchers, text expanders, screenshot tools, and newer computer-use agents all depend on the same permission family. Removing or fully forbidding that access would gut a large class of serious Mac software. The more plausible reading is that Apple wants the capability to exist, but only outside the App Store or inside narrow categories it can defend.

    Expect Apple to preserve these capabilities on macOS while keeping store access discretionary. Strategy should optimize for that split instead of waiting for a blanket opening or a blanket shutdown.

      Attribution:
    • exitb #1
    • thewebguyd #1
  3. 03

    Mac App Store discoverability may be overrated

    Not everyone buys the premise that getting into the Mac App Store is worth much. Some users actively avoid it and prefer direct downloads for desktop utilities. If that is true for your market, spending weeks trying to satisfy App Review can be a distraction from better distribution channels and product polish.

    Measure how much App Store placement actually drives installs for your category before reshaping the product around it. For pro Mac tools, direct distribution may be the primary channel already.

      Attribution:
    • PaulHoule #1

In plain english

AZERTY
A keyboard layout commonly used in French-speaking regions.
CGEventPost
A macOS programming call that lets an app synthesize input events like key presses and send them to the system.
Colemak
An alternative keyboard layout that changes fewer keys than Dvorak while aiming to improve typing ergonomics.
Dvorak
An alternative keyboard layout designed as a different arrangement from standard QWERTY keyboards.
notarized
Checked by Apple for known malicious software and signed in a way that allows macOS to warn less aggressively during installation.
QWERTY
The standard keyboard layout used on most English-language keyboards, named after the first six letters on the top row.
sandboxed app
An app that runs with operating-system-enforced limits on what files, devices, and system resources it can access.
UI
User Interface, the visual and interactive parts of a software product that people use directly.

Reference links

Alternative dictation and voice tools

  • ghost-pepper
    Recommended as an open source local dictation app similar to the rejected product
  • awesome-voice-typing
    A curated list of open source voice typing tools shared for readers comparing options
  • TongueType accessibility post
    Another developer's writeup describing the same App Store accessibility restriction
  • speakeasy
    Shared as another similar app that chose direct distribution instead of the Mac App Store
  • Handy
    Mentioned as a cross-platform tool doing similar dictation and insertion work
  • Handy website
    Direct website for Handy, provided as an easier way to inspect the product
  • BoltAI
    Referenced by a developer discussing keyboard-layout edge cases in native Mac input automation

Related utility software

  • SequoiaView
    Mentioned in a side discussion about the lineage of disk-usage visualizer tools like WinDirStat

Background references