hushscribe: Confidential Audio Transcription in the Browser

Get Site as Markdown

Repo: dhcgn/hushscribe · Live: dhcgn.github.io/hushscribe

Problem

I needed a way to transcribe confidential dictation. With browser-based encryption and a TEE in the backend, this archives the highest privacy currently possible — beside local transcription. As a PWA it installs as an app on Android with share-target support, so I can for example share WhatsApp audio messages for confidential transcription.

Tech Overview

AspectChoice
FrontendVite + TypeScript static page, no backend
InferencePrivatemode.ai confidential VMs (attested, end-to-end encrypted)
Modelswhisper-large-v3 (€0.014/min), voxtral-mini-3b (€0.004/min), prices Sep 2026 + VAT
StoragelocalStorage only (key, prompts, last 20 transcripts); media never stored
InstallPWA manifest, Android share target via WebAPK (Chrome)

hushscribe is a frontend only — attested VMs, verifier, and models are Privatemode (Edgeless Systems). It contributes no cryptography of its own.

Solution

Bring a Privatemode API key, drop in a file, get a timestamped transcript. Cost is estimated from audio length before the request. Supported input: flac mp3 mp4 mpeg mpga m4a ogg wav webm up to 50 MB / 1 h; other containers are re-encoded in-browser first. Set a language for timestamps and .vtt / .srt export; auto-detect returns plain text.

Finished transcript with player and export buttons

On Android (installed from Chrome) hushscribe appears in the system share sheet: record, tap Share, pick hushscribe — the file is passed in-memory via service worker, never written to disk. Installed mode changes nothing about encryption or storage.

hushscribe on Android in compact view

Outlook

I believe this is the first browser-based app combining confidential-computing transcription with PWA install + share. Limits: needs network (no offline), malicious extensions or a compromised endpoint still break browser-side guarantees. Verify via the attested measurement shown in the page and the reproducible SDK build.