{
  "name": "Private Mac Dictation Apps: Local vs Cloud (2026)",
  "canonicalUrl": "https://iravoice.com/research/mac-dictation-privacy-matrix",
  "reviewedAt": "2026-07-26",
  "version": "1.4.0",
  "license": "CC BY 4.0",
  "summary": {
    "title": "A reproducible privacy-path snapshot.",
    "description": "These counts are computed from named documentation cohorts, not inferred from a score. Every product in a cohort is listed so the result can be audited, cited, or recomputed.",
    "stats": [
      {
        "id": "documentedLocalPath",
        "value": 16,
        "denominator": 18,
        "label": "products document a local speech-to-text path",
        "description": "At least one supported configuration keeps the audio-to-transcript step on the device.",
        "products": [
          "IraVoice",
          "Apple Dictation",
          "Google AI Edge Eloquent",
          "BetterDictation",
          "Spokenly",
          "Superwhisper",
          "MacWhisper",
          "VoiceInk",
          "Voice Type",
          "Whryte",
          "TypeVox",
          "Dicta",
          "MacParakeet",
          "Susurr",
          "Sotto",
          "Megaphone"
        ],
        "caveat": "This includes configuration-dependent and optional local paths. It does not mean every mode or feature is local."
      },
      {
        "id": "noDocumentedLocalPath",
        "value": 2,
        "denominator": 18,
        "label": "products have no documented local speech path",
        "description": "The reviewed first-party sources establish cloud speech processing but no local speech-to-text configuration.",
        "products": [
          "Raycast Dictation",
          "Wispr Flow"
        ],
        "caveat": "This is a documentation finding, not packet inspection or verification of the current binary."
      },
      {
        "id": "localPlusConnected",
        "value": 10,
        "denominator": 16,
        "label": "locally capable products also document a connected path",
        "description": "The optional path may be a provider, cleanup feature, assistant, vocabulary source, or agent handoff.",
        "products": [
          "IraVoice",
          "Google AI Edge Eloquent",
          "BetterDictation",
          "Spokenly",
          "Superwhisper",
          "MacWhisper",
          "VoiceInk",
          "Voice Type",
          "MacParakeet",
          "Sotto"
        ],
        "caveat": "These paths do not all send microphone audio. Some send transcript text, selected text, vocabulary data, or a finished specification."
      },
      {
        "id": "firstPartySources",
        "value": 33,
        "denominator": null,
        "label": "first-party sources reviewed",
        "description": "Product, help, security, privacy, launch, App Store, and repository pages support the product rows.",
        "products": [],
        "caveat": "Source count measures documentation coverage, not independent verification or product quality."
      }
    ],
    "note": "Cohorts describe the documentation reviewed on July 26, 2026. They are not a privacy ranking, security certification, or claim that one architecture fits every workflow."
  },
  "methodology": [
    "Review current first-party product, help, security, and privacy pages rather than copying vendor roundups.",
    "Separate microphone-audio transcription from later cleanup, formatting, assistant, sync, or destination processing.",
    "Describe configurable modes explicitly; do not transfer a local or retention claim from one mode to every mode.",
    "Record what the source does not establish. This is not a security audit, packet inspection, or source-code verification; it is a review of public documentation.",
    "Use one dated canonical dataset and publish the same product order in the HTML, CSV, and JSON editions."
  ],
  "fields": [
    "product",
    "processing",
    "configurableCloudPath",
    "offline",
    "retention",
    "account",
    "platform",
    "caveat",
    "sourceIds"
  ],
  "products": [
    {
      "name": "IraVoice",
      "productUrl": "https://iravoice.com/privacy",
      "processing": "Speech recognition and supported formatting run on the Mac after model setup.",
      "configurableCloudPath": "No cloud speech mode. Optional direct agent handoff sends the finished specification, not microphone audio.",
      "offline": "Dictate works after the speech-model download; paid continuation works after one Gumroad key check.",
      "retention": "IraVoice says its servers receive no audio, transcript, selected text, vocabulary, or repository context; the Mac app has no product telemetry or cloud transcript history.",
      "account": "No account or card for the full trial. Paid use relies on a Gumroad license key stored in Keychain.",
      "platform": "macOS 26+ on Apple silicon.",
      "caveat": "IraVoice publishes this matrix. Verify its product claims against the linked privacy page and treat the dataset as documentation research, not an independent audit.",
      "sourceIds": [
        "iravoice-privacy"
      ]
    },
    {
      "name": "Apple Dictation",
      "productUrl": "https://iravoice.com/apple-dictation-alternative",
      "processing": "On-device or on Apple servers depending on language and the indicator shown in Keyboard Settings.",
      "configurableCloudPath": "The processing path is configuration-dependent rather than a separate third-party provider selector.",
      "offline": "Available without a connection only for configurations Apple marks as on-device.",
      "retention": "Apple says server-processed Dictation is not stored unless Improve Siri & Dictation is enabled; request and transcript metadata have separate documented handling.",
      "account": "Included with supported macOS. Apple documents device-generated identifiers and separate Apple Account-related service boundaries.",
      "platform": "Built into supported macOS versions.",
      "caveat": "Do not assume every language or Mac configuration uses the same processing path. Check the current Keyboard Settings disclosure on the actual Mac.",
      "sourceIds": [
        "apple-dictation",
        "apple-privacy"
      ]
    },
    {
      "name": "Google AI Edge Eloquent",
      "productUrl": "https://developers.google.com/edge/eloquent",
      "processing": "Google’s reviewed Mac launch sources describe the current native macOS feature set as on-device, including dictation, Voice Edit, and local audio or video file transcription.",
      "configurableCloudPath": "The current Mac product page says Google AI Edge Eloquent can optionally access Google Workspace data such as Gmail to generate a vocabulary list of unique words.",
      "offline": "Google’s June 3, 2026 launch announcement says the current native macOS feature set is fully offline.",
      "retention": "The reviewed Mac sources establish on-device processing and offline use, but do not publish a separate desktop retention or telemetry statement for every Mac feature.",
      "account": "The reviewed Mac sources document a direct Mac download and optional Workspace or Gmail vocabulary access, but do not clearly state whether a Google account is otherwise required for the core desktop workflow.",
      "platform": "Native macOS app; the current FAQ says English only.",
      "caveat": "The current product-page FAQ still contains older desktop-evaluation wording that conflicts with the dated launch announcement and direct Mac DMG. Use the launch post and current Mac download as platform truth, and do not transfer iOS-only cloud-feature wording to the Mac app.",
      "sourceIds": [
        "eloquent-launch",
        "eloquent-product"
      ]
    },
    {
      "name": "BetterDictation",
      "productUrl": "https://iravoice.com/betterdictation-alternative",
      "processing": "Initial speech recognition uses local Whisper on a compatible Apple-silicon Mac.",
      "configurableCloudPath": "Optional Pro sends the text transcript—but not audio—to OpenAI for cleanup and formatting.",
      "offline": "Basic local transcription works offline. Pro cleanup requires a connection.",
      "retention": "The privacy policy separates local audio processing from optional transcript transfer and also discloses performance and crash telemetry.",
      "account": "A paid license key is required; optional Pro is a separate recurring service.",
      "platform": "Apple-silicon Mac; current help asks for macOS Sonoma 14.4 or later.",
      "caveat": "The local claim covers initial transcription. Enabling Pro changes the transcript path even though microphone audio remains local.",
      "sourceIds": [
        "better-home",
        "better-pro",
        "better-privacy"
      ]
    },
    {
      "name": "Spokenly",
      "productUrl": "https://iravoice.com/spokenly-alternative",
      "processing": "Local Whisper or Parakeet, user-key providers, or managed hosted models depending on the active mode.",
      "configurableCloudPath": "Yes. Model, AI Instructions, provider, optional context, and output actions can change the data path.",
      "offline": "Local models work offline. Local Only Mode blocks outbound access while permitting local and localhost models.",
      "retention": "Retention depends on local, managed, or bring-your-own provider paths; Spokenly also documents history and optional audio replay.",
      "account": "Local and BYOK paths are available without a paid Pro plan; managed services and sync features can introduce account boundaries.",
      "platform": "macOS, Windows, Linux, and iOS, with features varying by platform.",
      "caveat": "“Spokenly” is not one fixed architecture. Record the active mode, provider, context sources, history setting, and output action.",
      "sourceIds": [
        "spokenly-docs",
        "spokenly-modes",
        "spokenly-privacy",
        "spokenly-local-only"
      ]
    },
    {
      "name": "Raycast Dictation",
      "productUrl": "https://iravoice.com/raycast-dictation-alternative",
      "processing": "Raycast says recorded audio is sent to its speech-to-text partner for transcription.",
      "configurableCloudPath": "Dictation is a connected Raycast AI feature; optional App Context and later AI actions can add separate data.",
      "offline": "No documented offline speech-to-text path for Raycast Dictation.",
      "retention": "Raycast says it does not retain recorded audio after the transcription request; Dictation history is stored locally on the Mac.",
      "account": "Raycast AI plan and account controls apply to the connected feature.",
      "platform": "Raycast for macOS on supported Macs.",
      "caveat": "No post-request audio retention does not mean on-device transcription. Local history and any later AI action are separate boundaries.",
      "sourceIds": [
        "raycast-dictation",
        "raycast-ai-privacy"
      ]
    },
    {
      "name": "Wispr Flow",
      "productUrl": "https://iravoice.com/wispr-flow-alternative",
      "processing": "Wispr says transcription always happens in the cloud.",
      "configurableCloudPath": "The speech path is cloud-based. Privacy Mode and Private Cloud Sync settings change retention, not the location of transcription.",
      "offline": "No documented offline transcription path.",
      "retention": "Wispr says Privacy Mode with Private Cloud Sync disabled provides zero retention; other settings can retain data for history or sync.",
      "account": "A connected product account and plan participate in the service.",
      "platform": "Current desktop and mobile platforms supported by Wispr Flow.",
      "caveat": "Zero retention is a storage policy for the cloud path, not a claim that microphone audio never leaves the device.",
      "sourceIds": [
        "wispr-privacy"
      ]
    },
    {
      "name": "Superwhisper",
      "productUrl": "https://iravoice.com/superwhisper-alternative",
      "processing": "Superwhisper documents offline, on-device transcription for its local speech path.",
      "configurableCloudPath": "Optional cloud models and browser or assistant tools are separate connected paths.",
      "offline": "The documented local transcription path works offline after required model setup.",
      "retention": "For offline transcription, Superwhisper says audio is not uploaded. Connected features follow their selected service boundaries.",
      "account": "App licensing applies; optional connected providers or tools can introduce separate credentials and terms.",
      "platform": "Mac, Windows, and iPhone support is currently advertised.",
      "caveat": "The offline claim belongs to local transcription. Do not transfer it to an optional cloud model, browser tool, or assistant feature.",
      "sourceIds": [
        "superwhisper-offline",
        "superwhisper-home"
      ]
    },
    {
      "name": "MacWhisper",
      "productUrl": "https://iravoice.com/macwhisper-alternative",
      "processing": "MacWhisper documents local transcription by default, including a local dictation path.",
      "configurableCloudPath": "Optional cloud transcription, assistant, and third-party AI provider features can change the path.",
      "offline": "Supported local models and dictation can work offline after model setup.",
      "retention": "Local workflows keep transcription on the Mac; retention for optional providers depends on the chosen external service.",
      "account": "Free and paid app tiers exist; optional provider features can require separate keys or accounts.",
      "platform": "macOS, with model performance depending on Mac hardware.",
      "caveat": "MacWhisper includes broader file, meeting, assistant, and provider workflows. The active model and feature determine the actual boundary.",
      "sourceIds": [
        "macwhisper-home",
        "macwhisper-dictation"
      ]
    },
    {
      "name": "VoiceInk",
      "productUrl": "https://iravoice.com/voiceink-alternative",
      "processing": "Local models are the default; users can configure cloud transcription and enhancement providers.",
      "configurableCloudPath": "Yes. The active mode can select cloud transcription, enhancement, context, auto-send, or a custom command.",
      "offline": "Local model workflows can work offline; configured cloud providers require a connection.",
      "retention": "Local defaults keep speech processing on the Mac. Optional provider retention follows the provider selected by the user.",
      "account": "GPLv3 source can be self-built; the compiled app uses a commercial license, and optional providers use user credentials.",
      "platform": "macOS 14.4 or later.",
      "caveat": "The active model, provider, context source, mode, and output command determine the boundary; an open-source codebase does not make every configuration local.",
      "sourceIds": [
        "voiceink-docs",
        "voiceink-terms",
        "voiceink-modes"
      ]
    },
    {
      "name": "Voice Type",
      "productUrl": "https://apps.apple.com/us/app/voice-type-offline-dictation/id6736525125?mt=12",
      "processing": "Core dictation, custom vocabulary, formatting, and file transcription run on the Mac.",
      "configurableCloudPath": "Optional rewrite providers require a connection and send selected text to the provider the user chooses.",
      "offline": "Core dictation works offline after required app and model setup; optional rewrites do not.",
      "retention": "The App Store listing describes on-device core processing. Apple may receive purchase and receipt-verification traffic.",
      "account": "Distributed through the Mac App Store, so Apple purchase and receipt boundaries apply.",
      "platform": "macOS 13.4 or later.",
      "caveat": "The on-device claim covers core dictation. Enabling a rewrite provider changes the selected-text path, and App Store licensing still creates an Apple network boundary.",
      "sourceIds": [
        "voice-type-app-store"
      ]
    },
    {
      "name": "Whryte",
      "productUrl": "https://whryte.com/",
      "processing": "The publisher documents local Parakeet transcription and local smart formatting.",
      "configurableCloudPath": "No cloud speech or formatting provider is disclosed for the documented workflow.",
      "offline": "The documented speech path works offline after the model download.",
      "retention": "History is stored locally; the publisher says audio and transcripts are not transmitted.",
      "account": "No product account is required. Purchase and license delivery use Gumroad.",
      "platform": "macOS 14 or later on Apple silicon.",
      "caveat": "This is a review of publisher documentation. A “100% offline” statement does not independently verify the current binary or every licensing request.",
      "sourceIds": [
        "whryte-home"
      ]
    },
    {
      "name": "TypeVox",
      "productUrl": "https://typevox.app/",
      "processing": "WhisperKit runs locally on Apple silicon; the publisher says audio is processed in memory.",
      "configurableCloudPath": "No cloud speech or cleanup path is documented for the current core product.",
      "offline": "The documented speech path works offline after model setup.",
      "retention": "The publisher says audio is never saved or transmitted.",
      "account": "No product account is required; Pro uses an emailed license key.",
      "platform": "macOS 15 or later on Apple silicon.",
      "caveat": "The product page does not establish an independent audit or guarantee that every future feature shares the same boundary.",
      "sourceIds": [
        "typevox-home"
      ]
    },
    {
      "name": "Dicta",
      "productUrl": "https://www.appdicta.com/",
      "processing": "Speech recognition runs locally using a model downloaded to the Mac.",
      "configurableCloudPath": "The documented current product does not offer an AI rewrite or cloud speech path.",
      "offline": "Dictation works offline after the roughly 3 GB model download.",
      "retention": "The app does not upload audio or transcripts; the privacy policy separately discloses account, license, device, billing, and consented website-analytics data.",
      "account": "The website version uses an account and recurring license; Apple handles payment and account boundaries for the App Store version.",
      "platform": "macOS 14 or later; Intel Macs are supported with slower documented performance.",
      "caveat": "The app-level no-analytics claim should not be transferred to the website, account, license, billing, or optional analytics boundaries.",
      "sourceIds": [
        "dicta-home",
        "dicta-privacy"
      ]
    },
    {
      "name": "MacParakeet",
      "productUrl": "https://macparakeet.com/",
      "processing": "Speech recognition runs locally using supported on-device engines.",
      "configurableCloudPath": "Optional AI features can use local providers or send transcript text—not microphone audio—to a selected cloud provider.",
      "offline": "Local speech recognition works offline after required model setup.",
      "retention": "The publisher says it does not collect audio or transcript content; optional anonymous telemetry can be disabled, and meeting retention is controlled locally.",
      "account": "No product account is required for the documented app workflow.",
      "platform": "macOS 14.2 or later on Apple silicon.",
      "caveat": "The local speech claim does not extend to a cloud AI provider the user selects or to externally downloaded source content.",
      "sourceIds": [
        "macparakeet-home",
        "macparakeet-github"
      ]
    },
    {
      "name": "Susurr",
      "productUrl": "https://susurr.app/",
      "processing": "WhisperKit transcription runs locally on Apple silicon.",
      "configurableCloudPath": "No cloud dependency is documented for the current transcription workflow.",
      "offline": "Transcription works offline after required model setup.",
      "retention": "The product page says transcription history is stored locally.",
      "account": "A one-time Polar license key can activate up to three Macs; no recurring core plan is advertised.",
      "platform": "macOS 14 or later on Apple silicon.",
      "caveat": "The public product page does not document an independent audit or every licensing and network-metadata boundary.",
      "sourceIds": [
        "susurr-home"
      ]
    },
    {
      "name": "Sotto",
      "productUrl": "https://sotto.to/",
      "processing": "Users can select local WhisperKit or Parakeet models, or optional OpenAI and Groq cloud transcription with their own key.",
      "configurableCloudPath": "Yes. Cloud mode sends recordings directly to the selected provider; the publisher says no Sotto server sits in the middle.",
      "offline": "Local models work offline after download. Cloud providers require a connection.",
      "retention": "Local-mode audio stays on the Mac. Cloud-mode retention and processing follow the selected provider, while saved history remains a separate local setting.",
      "account": "Purchase uses an emailed license key for up to three Macs; optional cloud providers use the user’s credentials.",
      "platform": "macOS 13 or later, with Apple silicon recommended.",
      "caveat": "The active local or cloud model determines the speech boundary. Cloud-provider retention and local history must be evaluated separately.",
      "sourceIds": [
        "sotto-home"
      ]
    },
    {
      "name": "Megaphone",
      "productUrl": "https://megaphone.kuber.studio/",
      "processing": "Apple SpeechAnalyzer streams speech-to-text on the Mac; Smart Cleanup and “Hey Megaphone” use Apple’s on-device Foundation Models, with deterministic Basic cleanup as fallback.",
      "configurableCloudPath": "No cloud speech, cleanup, assistant, or provider path is documented for the current product.",
      "offline": "The documented core path works on-device after the required app and Apple speech-model setup; the selected speech model downloads on first use.",
      "retention": "The official site and repository say recorded audio, transcripts, Dictionary data, memory, recent-text context, and active app or window-title context stay on the Mac; Megaphone has no product server.",
      "account": "No product account, subscription, transcription API, or API key is required. The app and source are free under the MIT license.",
      "platform": "macOS 26 or later on Apple silicon.",
      "caveat": "This is documentation and source-repository research, not packet inspection or binary verification. Releases are signed but not notarized, and the publisher documents a quarantine-clearing or Open Anyway installation step.",
      "sourceIds": [
        "megaphone-site",
        "megaphone-github"
      ]
    }
  ],
  "sources": [
    {
      "id": "iravoice-privacy",
      "label": "IraVoice privacy",
      "url": "https://iravoice.com/privacy"
    },
    {
      "id": "apple-dictation",
      "label": "Apple: Use Dictation on your Mac",
      "url": "https://support.apple.com/guide/mac-help/use-dictation-mh40584/mac"
    },
    {
      "id": "apple-privacy",
      "label": "Apple: Ask Siri, Dictation & Privacy",
      "url": "https://www.apple.com/legal/privacy/data/en/ask-siri-dictation/"
    },
    {
      "id": "eloquent-launch",
      "label": "Google Developers Blog: Google AI Edge Eloquent macOS launch",
      "url": "https://developers.googleblog.com/bringing-gemma-4-12b-to-your-laptop-unlocking-local-agentic-workflows-with-google-ai-edge/"
    },
    {
      "id": "eloquent-product",
      "label": "Google AI Edge Eloquent product page",
      "url": "https://developers.google.com/edge/eloquent"
    },
    {
      "id": "better-home",
      "label": "BetterDictation product and pricing",
      "url": "https://betterdictation.com/"
    },
    {
      "id": "better-pro",
      "label": "BetterDictation Pro",
      "url": "https://betterdictation.com/pro"
    },
    {
      "id": "better-privacy",
      "label": "BetterDictation privacy",
      "url": "https://betterdictation.com/privacy"
    },
    {
      "id": "spokenly-docs",
      "label": "Spokenly documentation",
      "url": "https://spokenly.app/docs"
    },
    {
      "id": "spokenly-modes",
      "label": "Spokenly modes",
      "url": "https://spokenly.app/docs/modes"
    },
    {
      "id": "spokenly-privacy",
      "label": "Spokenly privacy",
      "url": "https://spokenly.app/privacy"
    },
    {
      "id": "spokenly-local-only",
      "label": "Spokenly Local Only Mode",
      "url": "https://spokenly.app/docs/local-only-mode"
    },
    {
      "id": "raycast-dictation",
      "label": "Raycast Dictation manual",
      "url": "https://manual.raycast.com/ai/dictation"
    },
    {
      "id": "raycast-ai-privacy",
      "label": "Raycast AI privacy and security",
      "url": "https://manual.raycast.com/ai/raycast-ai-privacy-security"
    },
    {
      "id": "wispr-privacy",
      "label": "Wispr Flow privacy",
      "url": "https://wisprflow.ai/privacy"
    },
    {
      "id": "superwhisper-offline",
      "label": "Superwhisper offline transcription",
      "url": "https://superwhisper.com/offline-transcription"
    },
    {
      "id": "superwhisper-home",
      "label": "Superwhisper product",
      "url": "https://superwhisper.com/"
    },
    {
      "id": "macwhisper-home",
      "label": "MacWhisper product and pricing",
      "url": "https://www.macwhisper.com/"
    },
    {
      "id": "macwhisper-dictation",
      "label": "MacWhisper Dictation",
      "url": "https://www.macwhisper.com/dictation"
    },
    {
      "id": "voiceink-docs",
      "label": "VoiceInk documentation",
      "url": "https://tryvoiceink.com/docs/introduction"
    },
    {
      "id": "voiceink-terms",
      "label": "VoiceInk terms",
      "url": "https://tryvoiceink.com/terms"
    },
    {
      "id": "voiceink-modes",
      "label": "VoiceInk mode settings",
      "url": "https://tryvoiceink.com/docs/mode-settings"
    },
    {
      "id": "voice-type-app-store",
      "label": "Voice Type Mac App Store listing",
      "url": "https://apps.apple.com/us/app/voice-type-offline-dictation/id6736525125?mt=12"
    },
    {
      "id": "whryte-home",
      "label": "Whryte product and privacy details",
      "url": "https://whryte.com/"
    },
    {
      "id": "typevox-home",
      "label": "TypeVox product and privacy details",
      "url": "https://typevox.app/"
    },
    {
      "id": "dicta-home",
      "label": "Dicta product and privacy claims",
      "url": "https://www.appdicta.com/"
    },
    {
      "id": "dicta-privacy",
      "label": "Dicta privacy policy",
      "url": "https://www.appdicta.com/privacy"
    },
    {
      "id": "macparakeet-home",
      "label": "MacParakeet product and privacy details",
      "url": "https://macparakeet.com/"
    },
    {
      "id": "macparakeet-github",
      "label": "MacParakeet source repository",
      "url": "https://github.com/moona3k/macparakeet"
    },
    {
      "id": "susurr-home",
      "label": "Susurr product and privacy details",
      "url": "https://susurr.app/"
    },
    {
      "id": "sotto-home",
      "label": "Sotto product, model, and privacy details",
      "url": "https://sotto.to/"
    },
    {
      "id": "megaphone-site",
      "label": "Megaphone product and privacy documentation",
      "url": "https://megaphone.kuber.studio/"
    },
    {
      "id": "megaphone-github",
      "label": "Megaphone source repository",
      "url": "https://github.com/Kuberwastaken/megaphone"
    }
  ]
}
