Privacy

What leaves your Mac, and what never does.

Heliotype records and transcribes your meetings on your own Mac. This page says exactly what it captures, the one piece of your data that ever leaves the machine — and when, and to whom — and where everything is stored. No summaries of intent: just what the software does.

The short version

  • One thing of yours leaves your Mac, and only when you ask for a transcript: the extracted mono 16 kHz audio track of a recording you chose to transcribe. It is uploaded over HTTPS to AssemblyAI, the transcription service, using your own API key.
  • Nothing leaves during recording. The raw video is never uploaded. The screen is never captured. Your microphone is not streamed anywhere.
  • There is no Heliotype account, no sign-in, no telemetry, no analytics, and no crash reporting. The app never contacts a server on its own — the only outbound requests happen because you asked for them: a transcript, the one-off ffmpeg download it may need the first time, or the update check below. The only server involved is a one-time license check in your browser at purchase — the app itself verifies your license offline (see Buying a license, below).
  • Everything else stays local: recordings, transcripts, your calendar lookups, your API key, and all logs live on your Mac.

What Heliotype captures

When you record a meeting (menu bar, macOS 15+), Heliotype captures two audio streams: system audio — what you hear, the remote participants — via a CoreAudio process tap, and your microphone — what you say. The tap is audio only. There is no screen recording and no purple screen-sharing indicator, because nothing on your screen is captured. The two tracks are mixed into a single .m4a recording in your folder. No bot joins your call, and Heliotype never contacts the meeting platform at all.

Recording consent is your responsibility. Because Heliotype records without announcing itself in the call, laws in many places (some U.S. states, much of the EU, and elsewhere) require that you have the consent of the other people on the call before recording them. You are responsible for obtaining any consent the law requires where you and the other participants are. This is not legal advice — if you are unsure, get some.

When you transcribe something you already have (Finder right-click Transcribe with Heliotype), Heliotype reads only the audio or video file you selected. It does not scan or index anything else on your disk.

If you turn on automatic meeting recording (the Start meeting recording automatically menu item — off by default), Heliotype periodically asks macOS which applications are currently using the microphone, through CoreAudio's process registry — the same plumbing behind the orange mic indicator. This check sees application names only, never any audio, runs entirely on your Mac, requires no extra permission, and its decisions are written to a local log (meeting-sense.log, see below). Your calendar is consulted the same local way it already is for naming. Turn the switch off and the checking stops.

The one thing of yours that leaves your Mac

Transcription runs on AssemblyAI’s cloud, so audio has to be sent there. To keep that upload minimal and honest:

  • ffmpeg first extracts a mono 16 kHz audio track. Only that extracted track is uploaded — never the original video (the picture never leaves), never the full-quality source.
  • The track goes over HTTPS to api.assemblyai.com at transcription time only — the moment you trigger a transcript, not during recording, and never in the background. That host is the only endpoint Heliotype talks to for transcription.
  • The upload authenticates with your own AssemblyAI API key. Heliotype has no key, no account, and no billing relationship of its own.

The app ships with a bundled copy of ffmpeg, so it normally makes no network request for it. In the rare case a copy has to be fetched, Heliotype downloads a verified static build — its integrity is checked against a pinned checksum before it runs — from a third-party host; that request sends no personal data. It only downloads software, and is unrelated to your audio.

Checking for updates

Heliotype does not check for updates on its own. There is no automatic check, no check at launch, and no background timer — the app cannot tell you a new version exists unless you ask it to look.

When you click Settings → Check for Updates…, the app makes a single ordinary request for heliotype.app/version.json, a small static file listing the current version number. There is no query string, no install identifier, no counter and no cookie. The one thing the request discloses is a User-Agent reading Heliotype/<your version> — the same version number the check is about. Nothing about your recordings, your licence or your Mac is sent, and the comparison happens locally. If an update exists, the app offers to open the download page in your browser; nothing installs itself.

Who AssemblyAI is, and what they receive

AssemblyAI (assemblyai.com) is the third-party speech-to-text service that produces your speaker-labeled transcript. They receive the extracted audio track you chose to transcribe and return the text. Their handling of that audio is governed by their own agreement and privacy policy — see assemblyai.com/legal. Because you bring your own key, your relationship for that audio is directly with them, not brokered through us. The finished transcript is written as plain text on your Mac, next to the source, and is not sent anywhere else.

Buying a license

Heliotype is a one-time purchase. Two services are involved only at the moment you buy — never while you use the app:

  • Stripe (stripe.com) handles the checkout. When you click Buy, you go to a Stripe payment page and enter your payment details directly with Stripe; Heliotype never sees or stores your card. Stripe is the merchant of record and processes your email and payment under Stripe’s privacy policy.
  • Cloudflare hosts heliotype.app and runs the small function that turns a completed purchase into your license key. After payment, the confirmation page calls that function, which asks Stripe to confirm the purchase, then signs a license key containing your email and the purchase date. Nothing is stored server-side — the key is generated on the fly and handed back to your browser. Revisiting your Stripe receipt link regenerates the same key.

Your license key is then verified entirely offline on your Mac — there is no activation call, no license server, and no check-in. If you never buy, none of this runs.

Calendar naming stays local

Recordings are auto-named Title-YYYYMMDD-HHMM.m4a. The title comes from the calendar event covering “now,” read locally through Apple’s EventKit. macOS asks for Calendar permission just in time — the first time a recording is named, never at launch. Nothing about your calendar is uploaded. An optional power-user path uses your own claude CLI with its Microsoft 365 connector, and only if you have already configured it and opted in; when that path runs, your calendar-event title travels through Anthropic and Microsoft under their connector and privacy terms, not Heliotype’s. The two default paths (native Calendar, timestamp) send nothing off your Mac. If neither is available, the recording is named Recording-YYYYMMDD-HHMM.m4a instead — naming never blocks a recording.

What is never collected

  • No Heliotype account, login, or profile.
  • No usage telemetry, analytics, event tracking, or crash reports.
  • No contact list, browsing history, or scanning of your disk beyond the recording or item you hand it.
  • No advertising identifiers. Heliotype has no advertising and no third-party SDKs that phone home.

Where things are stored on your Mac

  • Recordings and transcripts — your recording folder, by default ~/Movies/Heliotype (change it with Set Recording Folder…). Transcripts of right-clicked items land next to their source.
  • Your AssemblyAI API key — the macOS login Keychain (service “Heliotype”). It is never written to a config file or a log. A plaintext key from an older version is migrated into the Keychain automatically on first run and stripped from the config.
  • Settings~/Library/Application Support/Heliotype/config.json (recording folder, feature switches, and — after you buy — your licence key and trial start date. The licence key encodes the email you purchased with, so it is the one item in that file that identifies you. Your API key is not here; it lives in the Keychain).
  • The automatic-recording log~/Library/Application Support/Heliotype/meeting-sense.log: when the feature is on, one line per microphone-activity change and per start/stop decision (application names and timestamps only). Local, plain text, yours to read or delete.
  • The naming log~/Library/Application Support/Heliotype/naming.log: one line per recording explaining where its name came from (which calendar source answered, the event title used, the final filename). Local, plain text, yours to read or delete.
  • The processed-file history~/Library/Application Support/Heliotype/history.jsonl: the file paths behind the menu's History submenu (your last processed recordings and transcripts). Local, plain text, yours to read or delete.
  • Logs and transient status — a private, user-only folder at ~/Library/Application Support/Heliotype/state/ (transcribe.log and per-job status files under state/transcribe/). Local diagnostics only: file names and progress, never your key, and the folder is readable only by your account. In-progress recordings buffer to a temporary folder that is deleted once the recording is saved.

Deleting everything

  1. Quit the app — menu-bar icon → Quit Heliotype.
  2. Remove the Finder Quick Action — delete ~/Library/Services/Transcribe with Heliotype.workflow.
  3. Drag Heliotype.app from Applications to the Trash.
  4. Delete your recordings and transcripts — the recording folder (default ~/Movies/Heliotype, or wherever you pointed it).
  5. Delete settings and the bundled ffmpeg — rm -rf "$HOME/Library/Application Support/Heliotype".
  6. Remove the API key from the Keychain — security delete-generic-password -s Heliotype -a assemblyai_api_key (or delete the “Heliotype” item in Keychain Access).
  7. Logs and transient status are removed with the Application Support folder in step 5 (they live under …/Heliotype/state/).

After that, nothing from Heliotype remains on your Mac. Audio you previously transcribed, and any transcripts held by AssemblyAI, are governed by their policy — delete those through your AssemblyAI account.

This website is a separate question

Everything above is about the app. The website you are reading is a different thing with a different answer, and mixing the two only blunted this page — so it has its own: website privacy. Short version: no cookies, no cross-site tracking, page views counted.

What matters here is the boundary. The app carries no analytics of any kind and never phones home. Whatever the marketing site measures about a reader, it cannot see anything about your recordings, your transcripts, or your Mac — the two share a name and nothing else.

Questions

Questions about this statement: hello@heliotype.app.