Verify us
Checked 2026-09-24
We say Tessen keeps your audio and text on your Mac. Don't take that on faith — here are the two exact, reproducible checks we run ourselves, with the commands and what they print, so you can run the same checks on your own Mac.
Method: both checks below are real, running code, not marketing copy about code. The first runs inside the app you already have; the second is what we run against every build before it ships, described precisely enough that you can approximate it yourself with standard macOS tools.
1. The in-app privacy report
Run it yourself
Open Terminal and run:
tessen --privacy-report
This prints every privacy self-check the app runs on itself, with the measured statistics behind each verdict — bytes scanned, file and host counts, socket count, and so on — the same numbers the Hub's own privacy panel renders, in plain text you can copy, grep, or diff against a later run.
What it checks, and what a pass means
- Outbound hosts — scans the shipped binary's own strings for
any embedded
http/httpshost, and checks each one against the small list Tessen is allowed to ever contact:apple.com,gettessen.com,buy.stripe.com, andhuggingface.co(the last one only used if you deliberately choose to download an optional speech model). A host outside that list found inside the binary is a fail. - Audio retention — lists the temporary directory for any leftover recording file. Dictation audio is processed and discarded; nothing should still be sitting there afterward.
- Account / sign-in state — scans Tessen's own Application Support folder for anything shaped like a session token, OAuth credential, or cookie. There should be none — Tessen has no account to sign into.
- Live socket count — reports how many open network sockets the running process currently holds, for you to eyeball against whatever you expect at that moment.
What the output looks like
[PASS] outbound_hosts — Outbound hosts embedded in the shipped binary every embedded host is on the allowed list hosts_found: 4 hosts_allowed: 4 [PASS] audio_retention — Audio retention after transcription no leftover recording files found files_found: 0 [PASS] account_state — Account / sign-in state no session, OAuth, or cookie-shaped file found files_scanned: … [PASS] socket_count — Live socket count for this process reported for you to inspect; no pass/fail verdict by design sockets: …
Exact field names and counts vary by build and by what your Mac is doing at the moment you run it — the shape above is what to expect, not a literal transcript to match byte for byte.
2. The release-time artifact scan
What we run before every build ships
Before any .dmg is notarized and shipped,
our release pipeline runs scan_release.sh against the built
.app, checking for exactly the kind of thing that would embarrass a
privacy-first product if it leaked: a developer's home-directory path baked into the
binary or a bundled resource, this repository's own internal project names, an
oversized or unexpected data file that looks like baked-in developer state, marketing-site
assets that have no business in a native app bundle, and any file that looks like a
private signing key.
A clean run prints:
==> Release scan clean: no leaked paths, private keys, or
marketing-site cruft found.
Any hit prints one LEAK: … line per finding and the build stops
— it never reaches a customer.
Reproduce the same class of check yourself
This tool runs against our source tree, so you can't invoke scan_release.sh
directly on the app you downloaded — but the technique it uses is standard and you
can approximate it in a minute on your own Mac. Open Terminal and run:
strings -a /Applications/Tessen.app/Contents/MacOS/Tessen | grep -i "/Users/"
It should print nothing. A native app with a developer's home-directory path or an internal project name baked into the binary is a sign something was shipped that shouldn't have been — exactly what our own gate refuses to ship.
What we're not asking you to trust
Tessen is not open source, so you cannot read every line yourself — that's a real, stated limit, not a hidden one. What you can do is run the two checks above against the exact binary on your Mac, any time, as often as you like, and see the same thing we see.