Penwright
Security

Local by design. Secure because there's nothing to send.

We reduce attack surface by architecture, not by marketing. Here's the technical truth.

Data flow from voice to text

Each step, in detail. If something you care about is missing, email us.

  1. 1

    Audio capture

    Captured by cpal into a temporary WAV file in your user-scoped temp directory. Never written to a shared location. Never uploaded.

  2. 2

    Transcription

    whisper-rs with Apple-silicon Metal acceleration. Audio is read, transcribed, and the temp file is destroyed.

  3. 3

    AI cleanup

    llama-cpp-2 against a local GGUF model. The prompt is constructed locally, the response stays local.

  4. 4

    Text insertion

    Cleaned text is typed into the active app via macOS accessibility APIs, with a clipboard-paste fallback if needed.

  5. 5

    License check

    Periodic signed-JWT verification against our API. The request contains no content, only account email and app version.

Verifiable

Don't trust us. Verify it.

The strongest privacy claim is the one you can check yourself. Other dictation apps ask you to trust a “privacy mode” you can't see. Penwright's privacy is in the architecture, so you can watch it work.

Pull the plug

Turn off Wi-Fi and dictate. It keeps working. Transcription and cleanup run entirely on your Mac. A cloud dictation app stalls the moment it loses the network.

Watch the network

Run Little Snitch, LuLu, or Activity Monitor's Network tab while you dictate. Your audio and transcript generate zero outbound traffic. There is no code path in the app that uploads them. The only connections Penwright ever makes are content-free: license check, updates, and one-time model downloads.

Follow the data

Audio → whisper-rs → llama-cpp-2 → keystrokes, every step on-device. The one optional cloud path, bring-your-own-key cleanup, is off by default, sends text only (never audio), goes straight to your provider with your key, and is hard-blocked when Privacy Mode is on.

Every network call the app makes

A privacy claim you can't enumerate is marketing. Here is the complete list of network calls Penwright makes:

  1. 1
    License check. Your license key and app version. No content, ever.
  2. 2
    Model download. Weights come down from our CDN once per model, checksum-verified. Nothing goes up. On 16 GB+ Macs this includes a bigger synthesis model, fetched in the background. Same rule: download only.
  3. 3
    App updates. Standard signed update check.

That's the whole list. Dictation, cleanup, transforms and captures make zero network calls. Verify it yourself: turn Wi-Fi off and keep dictating, or watch the process in Little Snitch.

Data flow: voice transforms

Voice transforms read the text you selected and, for context, the field it sits in. Both are processed on your Mac and discarded after the result is produced. They are never transmitted or stored.

Certifications & compliance

What's live today, and what we're working on.

Local-first

Audio and transcripts never leave your Mac.

Live today

GDPR-aware

Personal content stays on the Mac by default. There is no audio to process serverside. Subject-access requests honored.

Live today

SOC 2 Type II

Controls under review. Available on request once audited.

In progress

ISO 27001

On the roadmap. Targeting completion within the next 12 months.

In progress

Security FAQ

How do you protect the license-check endpoint?

TLS in transit. Bearer-token auth. Rate-limited. No personally identifying content in the payload, just account email, license ID, and app version.

Where is the license key stored on my Mac?

In macOS Keychain, scoped to the Penwright app via security-framework. Other applications cannot read it.

What happens if I'm offline?

License is cached locally with a grace period. Penwright works fully offline. License revalidates next time you're online.

Do you train models on my data?

No. There is no telemetry channel for transcripts or audio. We have no data corpus to train on.

Can my IT team review the architecture?

Yes. Email security@penwright.ai and we'll share the architecture doc and answer specific questions.

Email us for detailed architecture diagrams or vendor risk questionnaires.

Visibly secure because visibly local.

Download Penwright and verify the data flow yourself.