SumaFlow Minutes data flow A device boundary contains five nodes — audio file, Whisper transcription, transcript, minutes engine, and an encrypted database. One arrow exits the boundary, labeled "User-initiated export only." The only inbound arrow is an opt-in, Wi-Fi-gated download of a public AI model file from huggingface.co into the minutes engine; it carries no user content. No user audio, transcript, or minutes ever crosses the boundary outbound except through a user-initiated export. YOUR PHONE Everything inside this boundary runs locally. Audio file AES-256-GCM App-private storage Whisper (FFI) whisper.cpp ARM64 base.en model, bundled Transcript Plain text Saved to encrypted DB Minutes engine Gemma 4 E2B (LiteRT-LM) or template fallback Encrypted DB SQLCipher Key: Android Keystore (StrongBox where avail.) User export Email, PDF, share sheet, clipboard (you choose) huggingface.co Public AI models: Gemma 4 E2B, Whisper small.en SHA256-pinned commit Model file ↓ opt-in · Wi-Fi only Zero outbound calls carry your content No telemetry, no analytics, no crash reporting that phones home. The one network use is the opt-in model download (top right) — a privacy regression test allows huggingface.co as the sole host.
1

Record

Tap once. The recorder captures audio at 16 kHz mono to an encrypted file on your device. Pause and resume supported.

2

Transcribe

Whisper runs locally via Dart FFI. The base English model ships in the app. The transcript can build live as you record in an opt-in pull-up sheet, with a post-stop pass as backup. No audio is uploaded — there is nowhere to upload it to.

3

Generate minutes

Gemma 4 E2B runs on-device via LiteRT-LM — an open-weight model you download once over Wi-Fi (~2.6 GB, optional) that works on most Android phones, not just flagships. Every set of minutes leads with a short summary. A deterministic template extractor covers devices that decline the download or are RAM-constrained.

4

Optionally export

PDF, email draft, share sheet, or copy to clipboard. Every export shows a confirmation screen and writes an entry to the local audit log.