System permissions and channel capabilities

Permissions should be requested only when the relevant feature needs them. Refusing nonessential permissions does not block independent features. Network, network status, vibration and keyboard service declarations are not runtime consent dialogs. Contact: [email protected].

macOS: Microphone

Requested at the first recording to turn user-initiated speech into text. No background audio keep-alive; released when dictation ends. You may refuse: recording is unavailable, but unrelated pages remain usable.

macOS: Accessibility

Needed when enabling insertion or replacement in other apps. Writes recognition results and performs replacements you initiate. You may refuse and still view or copy results inside MurMur.

macOS: Input Monitoring

Needed when setting up or using the global Option shortcut. Detects the activation shortcut; by design it does not read ordinary typed characters. You may refuse: global shortcuts are unavailable, but the app interface remains usable.

iOS: Microphone

Requested on first starting a voice session, Voice Standby or recording. Standby keeps the microphone and audio session active so the background keyboard can trigger recording. Standby audio is not saved or uploaded. Refusal disables voice input.

iOS: Background audio (audio)

Keeps the audio session and silent playback active during Voice Standby for background dictation triggers. This is not a separate user permission. Disabling standby or releasing the session stops keep-alive.

iOS: Speech Recognition

Requested on first using a mode requiring Apple speech recognition to convert voice to text. Refusal disables that mode; availability of other modes depends on the current version.

iOS: Allow Full Access

Enabled manually in system settings. Allows the keyboard and main app to share necessary state and use online recognition when you actively speak. Refusal disables the keyboard's online voice features; main-app availability depends on the version.

Android: Recording (RECORD_AUDIO)

Requested at first voice input. Captures audio only during the user-initiated session. Refusal disables voice input.

Android: Network and network state

INTERNET / ACCESS_NETWORK_STATE have no runtime dialog. Used for account, cloud recognition and update services, and understandable offline status. Cloud features are unavailable without network access or when it is restricted.

Android: Vibration (VIBRATE)

No runtime dialog. Provides keyboard haptics at your chosen level. Can be disabled in app settings without affecting recognition.

Android CN: Install unknown apps

REQUEST_INSTALL_PACKAGES is used only by the official APK channel, when you actively download a CN APK update and hand it to the system installer. You may refuse and download/install manually instead. The Play channel does not declare this permission.

Android: Permissions explicitly not declared

AD_ID, AdServices ID and Attribution permissions are explicitly removed from the merged manifest. Voice input without app switching is not released; SYSTEM_ALERT_WINDOW and POST_NOTIFICATIONS are not declared. No foreground service or continuous audio session for background standby; the microphone is enabled only during voice input.