Some prompts are faster said than typed, especially the long ones that describe a bug. Dictation records while you hold the control, transcribes the clip, and drops the text where you were about to type. Nothing listens in the background, and there is no always-on microphone state to forget about.

## Two engines

- **Cloud (default).** Covers 90+ languages, handles domain vocabulary, and can drop filler words and false starts so a spoken sentence arrives as a written one. Terms from your workspace, product, package, and repository names, are sent with the request so the model spells them the way your team does.
- **On-device (macOS).** Covers 22 languages and runs entirely on your machine. It takes over when the cloud path is unavailable, when the weekly allowance is spent, or when cloud dictation is turned off for the installation.

A language the on-device engine does not support stays on the cloud path even past the allowance. Falling back to an engine that cannot speak the language would end dictation rather than lower its quality.

Studio tells you once when the engine changes, not once per clip.

## The allowance

Cloud transcription is metered in **seconds of processed audio**, not requests, and the pool belongs to the organization: per-seat minutes multiplied by paid seats, spent from one bucket, reset weekly with no roll-over.

| Plan | Cloud dictation per seat, per week |
| --- | --- |
| Solo | 15 minutes |
| Team | 90 minutes |
| Business | 180 minutes |
| Enterprise | Uncapped |

Pooling is deliberate. A strict per-user cap wastes most of a team's allowance while the two people who actually dictate hit a wall, at identical provider cost.

Two details that follow from metering audio rather than requests:

- **Duration is derived from the audio server-side**, so a client cannot under-report what it used.
- **A failed provider call is counted for diagnostics but never billed**, because you did not receive the result.

## Privacy

On the on-device path the audio never leaves your machine. On the cloud path the clip is uploaded to a Pathrule Edge Function, forwarded to our speech provider for transcription, and dropped once the transcript comes back; we keep the transcript as your own content and the number of seconds, not the recording. The clip exists on disk only as one temporary file, deleted immediately after the call.

Cloud dictation can be disabled for a whole installation with `PATHRULE_CLOUD_SPEECH_DISABLED=1`, which self-hosted deployments and organizations with a no-third-party-audio policy can set. There is no per-user provider switch. The provider is named in the [Privacy Policy](/privacy-policy).

## What to read next

- [Pathrule Studio](/docs/surfaces/desktop) for the surface dictation lives in.
- [The Tasks board](/docs/studio/tasks) for dictating a card instead of a chat message.
