Skip to content
1.4.1Cueshot for Mac — free to start, no card needed. Download for Mac →
Cueshot Download for Mac

Privacy policy

Last updated: 14 October 2026 · Information pursuant to Art. 13 and 14 GDPR

The most important part first. Without an account, Cueshot sends none of your recordings, dictation or screenshots anywhere: they are made and stored on your machine. If you create an account and use a Pro function (cloud dictation, AI clean-up of dictation, the premium voice), the content you send to that function goes to our server and, for the AI functions, to the model provider — section 6 says exactly what, where, and what we keep (no audio, text or images; only counts).

1. Controller

Tobias Westrich
Hochstraße 33
66287 Quierschied, Germany
info@cueshot.app

No data protection officer has been appointed; the conditions of § 38 BDSG (German Federal Data Protection Act) do not apply.

We are the controller for the data in sections 2 to 8. For the content you send through a Pro function (speech, text, screenshots, meeting notes) we act on your behalf — see section 9. Cueshot is not directed at children: the paid plans are for people aged 18 or over, and we do not knowingly collect data from children under 16.

2. When you visit this website

The website is delivered by Vercel Inc. This produces technically necessary server logs (IP address, time, address requested, browser identifier). The legal basis is Art. 6(1)(f) GDPR — our legitimate interest in secure operation. The logs are kept by Vercel only for a short time, under the limits of its plan (days, not months), and are used to keep the site running and to fend off attacks; we do not evaluate them for any other purpose.

Vercel is a US company. The transfer relies on the Standard Contractual Clauses and the EU-US Data Privacy Framework. Delivery happens from servers in the EU where available.

3. When you download the app

The installer is not stored on this website. The download button forwards you to GitHub Inc., where the file is hosted as a release. From that moment, GitHub receives your IP address, the time and your browser identifier, the same as any website you visit. The same applies when Cueshot checks for an update: it asks this website, and this website fetches the update file list from GitHub.

The download page shows what you get before you click. GitHub is a US company (a subsidiary of Microsoft). The transfer relies on the Standard Contractual Clauses and the EU-US Data Privacy Framework. The legal basis is Art. 6(1)(b) and (f) GDPR — delivering the software you asked for. We have no way to give you the file without a host, and GitHub is the one we use.

4. Reach measurement

We count which sections of the website and which buttons of the app are used, in order to improve them. The events go through our own server; a third-party script is not loaded — and no cookie is set for this. From there they are passed on to PostHog (EU data center).

The legal basis is Art. 6(1)(f) GDPR — our legitimate interest in knowing which parts of this site are useful. Nothing persistent is stored, so no profile of you comes into being.

5. In the Cueshot app

For what Cueshot does and what an agent receives, see the home page — this section is only about data.

Your recordings stay on your device unless you share them with a Pro function (section 6). Screenshots, screen recordings, audio recordings and transcripts are created, processed and stored on your Mac — in the folder ~/Library/Application Support/Cueshot/, readable by your user account only. Speech recognition runs on the device too — NVIDIA Parakeet as a Core ML model on your chip — and, in the free version, the text is tidied by rules, not by a cloud service.

One model is downloaded once, on request. When you ask for it in Settings, Cueshot fetches the speech model (Parakeet, about 460 MB) from Hugging Face and keeps it in the folder above. Nothing of yours is sent in that request — it is a download, not an upload — and it happens only when you press the button. Recognition then runs entirely on your Mac. Hugging Face (Hugging Face, Inc., USA) sees your IP address and browser identifier, like any host you download from; the legal basis is Art. 6(1)(b) GDPR (you asked for the model); as a one-off transfer to the USA it is needed to deliver what you asked for (Art. 49(1)(b) GDPR). When you first use meeting notes with speaker names (not offered in the current version of the app), Cueshot fetches the speaker-recognition models the same way, and they too run only on your Mac.

In the free version, without an account, exactly three things leave the app, and here they all are:

WhatWhat forCan be turned off
Update checkOnce a day, Cueshot asks this website whether a newer version exists. The request carries the current version and your IP address, as every request on the internet does. Nothing about your work is part of it. Legal basis: Art. 6(1)(f) GDPR — keeping installed software secure and current.Yes, under Updates in the app
Counts, errors and crashesWhich features are used, where setup breaks off, and which errors and crashes occur. Never content — no image, no audio, no word of transcript, no file name, no wording of an error message. Off unless you turn it on: the first screen of setup asks, neither answer is pre-selected, and nothing is counted unless you choose Help improve — there, or later in Settings. One click turns it off again.

What every event carries: the Cueshot version, your macOS version (like “26.0”), the chip type (Apple or Intel), the build number of the app and your plan (Free, Pro, Team). Dictations are counted as numbers only — length, word count, waiting time, and whether Free or Pro did the recognising and, if Pro fell back to your Mac, why (quota, server, time-out), how the text reached the field (accessibility, paste, typing, or into the clipboard because you had switched program; or that it did not arrive) and, if a dictation ends without text, the reason (no sound from the microphone, silence, model failure, no word recognised). Recordings count the length and the waiting time between pressing stop and the finished recording. Sending to friends counts the kind (image, recording, text, file), a size class (small, medium, large) and the number of recipients — no name, no address, no content. MCP: the Cueshot MCP server keeps a small tally on your Mac of which of its own tools your agent called (name and number per day) — only while this switch is on, deleted when you switch it off — and the app reports the totals.

Steps and outcomes:
  • Checkout, step by step: signed in, payment session ready, payment field ready, paid, unlocked, delayed, failed (with the reason: session, payment field or expired), or closed (with the step where you closed it) — each with the plan and billing interval. The sentence the checkout shows on screen is never part of it.
  • Managing a subscription in the app: cancel, resume, withdraw, change plan or change card, and whether it worked or failed — with plan and billing interval, never your name.
  • Questions an agent asks you through the app: only the outcome (announced, heard, answered, later, expired, given up, failed) and the seconds you waited — never the question, your answer or which agent asked.
  • Signing out: whether you did it or our server stopped accepting this Mac's token — in that case the name of the route that noticed it, and your plan before.
Errors and crashes: the part of the app where it happened (from a fixed list), the type of the error (for example “CancellationError”) and a fingerprint — a hash of the message after names, quotations, addresses, paths and numbers are removed, so we can tell that two errors are the same without knowing what they said. Also where in our code it happened — the name of the source file with the line number and the function (for example “Kasse.swift:239”; never a folder or a path) — and the trail: the name of the last event counted before it (for example “checkout step”), nothing more. For a crash, also the names of the functions on the stack (code, not your data). At most 20 per run of the app, each error once. The text of a message never leaves your Mac.

One random number is stored on your Mac once you agree, so that several events can be recognised as coming from the same installation — otherwise we could only count how often something happens, never where people get stuck. It is drawn at random, contains nothing taken from your Mac (no name, no serial number, no hardware identifier), and is deleted the moment you switch the counting off, together with the date it was created and the small markers that remember what you did for the first time. Switching back on draws a new one. You can see the number itself in the app's settings.

If you start a checkout in the app while this is on, the number goes with the request; our server stores it with your subscription at Stripe (as a metadata field), and Stripe's notices — trial started, first payment, renewal, change of plan (with the previous plan), cancellation with the reason category from the customer portal, cancellation taken back, end, refund, failed payment — are counted under the same number: event type, plan, billing interval and amount. Your name, email address and card details are never part of it. When you switch the counting off, the app tells our server, which removes the number from your subscriptions; from then on nothing is passed on for them. Without the switch, nothing is passed on at all — the purchase itself is still recorded at Stripe as the contract requires.

Legal basis: your consent, Art. 6(1)(a) GDPR and § 25(1) TDDDG — the consent covers the counting, the error and crash reports and that stored number; you can withdraw it at any time with the same switch, with effect for the future. Events are kept for at most 12 months.
Yes, with one click in the app's settings
Feedback you sendUnder Feedback in the app you can report a problem or ask for a feature. What we receive is what you typed, which of the three kinds you picked, and — only if you leave the switch on — theCueshot version and your macOS version. An email address only if you enter one, and only so we can answer.

Nothing else travels with it: no screenshot, no recording, no log, no file name — and not the random number used for the counts above, so a message never turns into a file on you. Each message gets a fresh ticket number instead. Before you send, the window shows you the exact text that will leave your Mac.

It is stored with PostHog (EU data center) until we have dealt with it. Legal basis: Art. 6(1)(f) GDPR — our legitimate interest in fixing what you tell us is broken; where you give an email address, also Art. 6(1)(b) GDPR for answering you.
It only happens when you write and send it

In the app's settings, you can view in plain text what is sent — not a description of it, but the actual payload.

Your coding agent. Cueshot hands screenshots, recordings, transcripts and your notes to the coding agent you connected (for example Claude Code, Cursor or Codex) over MCP. The MCP server runs on your Mac, as a child process of your agent, and sends nothing to us. From there the content goes to the provider your agent uses — that happens under your agreement with that provider, outside our control, and we receive nothing of it. Before text reaches the agent, the MCP server on your Mac replaces strings that look like secrets (API keys, tokens, passwords in addresses) with a marker; images are shown as they are and are not filtered. Check what you hand to an agent.

Questions your agent asks you (the ask_user tool) are shown on your Mac and read aloud there. With the free version the voice is your Mac's own and your spoken answer is recognised on your Mac, like dictation. With Pro, the premium voice is on by default (switch it off under Settings): the question text then goes through our server to the voice model (section 6), and, if cloud recognition is on, your spoken answer goes the same way as a Pro dictation. Your answer is passed to your agent; our server keeps neither the question nor the answer.

Service counters on our server (not part of what leaves the app, and independent of the switch above): whatever you use, our server counts how its AI functions do — per call the function (recognise, clean up, read aloud, draft), the plan class, whether it worked, timed out, failed or hit a quota, and how long it took, without any identifier. It also adds up what a call cost (needed to keep Pro affordable) under a code that is valid for one calendar day only and cannot be followed from one day to the next, and it reports exceptions in its own code: error type and fingerprint and where in the code it happened (file, line, function), no request content, no IP address. When one of its routes answers with an expected error (for example “not signed in” or “too many requests”), it counts the route, the error code and the HTTP status — at most once a minute per route and code, without any identifier. These counters are stored with PostHog (EU data center). Legal basis: Art. 6(1)(f) GDPR — running the service reliably and keeping its cost in check. You can object at any time (Art. 21 GDPR) by writing to us.

6. With an account and Pro

An account is optional and only needed for Pro. It is created when you sign in to the app with Google, Apple or an emailed code (no password). The legal basis for everything in this section is Art. 6(1)(b) GDPR — providing the account and the plan you ordered — unless a line says otherwise.

WhatWhere it goesWhat we keep
Account: email address, name (from Google or Apple, or what you enter), a random account number, your Mac's device number and public key, plan and subscription status, usage counts per month, contacts (the email addresses you type in) and team membership you create. A team owner sees the usage counts of the team's members, never what a member wrote or saidSupabase (the project runs in the EU, Frankfurt region)While the account exists. Deleting the account deletes all of it, and a daily job then removes the files you shared. There is no delete button yet — write to info@cueshot.app and we delete it.
Sign-in: Google or Apple confirm who you are and send us your email address and name. The sign-in page sets short-lived cookies that only carry that step (a signed marker, 10–15 minutes; strictly necessary, § 25(2) no. 2 TDDDG)Google or Apple, then SupabaseNothing beyond the account data above
Pro cloud dictation, AI clean-up: the audio or text you send in that momentOur server (Vercel, Frankfurt), then the AI router Requesty (EU gateway, Frankfurt), then the model provider behind it: OpenAI (USA) for language models, Mistral AI (France) for cloud speech recognition. If the router cannot serve a function, the request goes to OpenAI's European data-residency endpoint instead.Our server keeps no audio, text or image — only counts (characters, minutes, requests). The router and the model provider process the content to answer you and may keep it for a limited time: Requesty's data processing terms provide for prompt and output logs of up to 30 days unless logging is switched off for our keys, and each model provider has its own retention. We have asked Requesty and OpenAI for zero data retention; that is not confirmed yet, so do not rely on it. OpenAI's documentation says API data is not used for training unless you agree; for the other providers we have no written confirmation yet.
Meeting summaries (not offered in the current version of the app): the text of the meeting transcript (shortened if very long), the speaker names, date and title — never the audio, which stays on your Mac and is deleted there after a successful evaluationOur server, then the same router and model provider as aboveOur server keeps nothing. Router and model provider: as above.
Premium voice: the text to be read aloud (up to 1,500 characters at a time). The voice is synthetic — AI-generated speech, not a recording of a personOur server, then the same router and model providerOur server keeps only the number of characters; router and model provider: as above
Sharing with friends (files, recordings, bundles, messages): encrypted on your Mac before upload (AES-256-GCM); the key is wrapped for each recipient's Mac and never sent to us in the clear. With a link, the key is the part after the #, which your browser does not send to any serverSupabase (database, EU) and Cloudflare R2 (the encrypted files, stored in the EU jurisdiction). Whoever opens a link downloads the encrypted file from Cloudflare, so Cloudflare sees that person's IP address; the request runs through Cloudflare's network, which may handle it outside the EU. Safeguards: Standard Contractual Clauses and the EU-US Data Privacy Framework. Files shared before the switch to Cloudflare stay in Supabase (EU) until they expire, at most 30 days. The recipient gets a notice email through Resend (at most one per sender, recipient and six hours) that names the senderWe cannot read the content, file name or message text. We do see who sent something to whom, when, how large it is, until when it can be fetched and whether it was fetched. The encrypted file is deleted when it expires or you take it offline — at the latest after 30 days (a single file can be fetched for 7 days, a bundle for up to 30); the daily clean-up does this, and as a safeguard the storage itself removes anything older than 31 days, a message after 30 days. The small record that a share existed (sender, recipients, size, times; no content) is kept for 12 months after the share was made, then a daily job deletes it; deleting the account removes it sooner. Cueshot does not yet show safety numbers for comparing keys: the encryption protects against anyone who can only see or store the files, but not against a tampered key directory on our side. Legal basis: Art. 6(1)(b) GDPR for the sender, Art. 6(1)(f) GDPR for the recipient (receiving what a contact sent them).
Team voiceprints (not offered in the current version of the app) (only if you agree in the app, Art. 9(2)(a) GDPR): a list of numbers describing your voice, never the audio, encrypted for your team's MacsSupabase (EU)Until you withdraw in the app, leave the team or delete the account
Emails about your account (sign-in code, welcome, order confirmation, payment problems, cancellation, team and sharing notices)Resend, Inc. (USA)Resend keeps delivery records for a limited time

AI functions. Cleaned-up dictation and the premium voice are produced by AI models. The premium voice is synthetic speech and is labelled AI-generated in the app. The models receive only what you send to a function at that moment; we do not use your content to train models of our own, and our server keeps none of it. What the router and the model providers do with it is stated in the table above — in particular, we make no promise of zero retention or of no training beyond what is written there, because we have no written confirmation for it. Their output is meant to be checked by you before you use it; no decision with legal effect is made by it (Art. 22 GDPR).

Paying. Payment runs through Stripe (Stripe Payments Europe, Ltd., Ireland; Stripe also processes data outside the EU, in particular in the USA, on the basis of the Standard Contractual Clauses and, where certified, the EU-US Data Privacy Framework). You enter your card details in Stripe's payment form — shown inside the app's payment window or on Stripe's own page — and never on a form of ours: the card number goes to Stripe, we never see it. When the form is shown, Stripe's script collects technical data (such as your IP address and details of the device and browser) to process the payment and prevent fraud. Stripe is our processor for the payment and, for fraud prevention and its legal duties, a controller in its own right (see Stripe's privacy policy). We pass Stripe your email address and name, the plan and the billing interval; Stripe sends us the status of your subscription and the last four digits and brand of your card. Stripe issues your invoices and receipts. We are a small business under § 19 UStG, so invoices show no VAT. Invoices and the records they rest on are kept as long as tax law requires — currently eight years — even if you delete your account (Art. 17(3)(b) GDPR). Legal basis: Art. 6(1)(b) and (c) GDPR.

Inviting friends. If you use an invite link, the link's code is remembered — in the app, or, only if you choose Download and credit … on the invitation page, in a cookie that only the sign-in page reads (30 days; see section 10) — and attached to your account when you sign in. The invitation page at a person's link shows their first name (or "A friend") to whoever opens it. To prevent people inviting themselves we compare the fingerprint of the card of the invited and the inviting person once, at the first payment, and whether the same Mac was used; the result is kept as "refused", not the fingerprint. Legal basis: Art. 6(1)(f) GDPR — protecting the invitation credit from misuse.

Contacts — if a user added you to share with you. This is different: when a user adds you as a contact so they can send you files, recordings or messages, the email address they typed is stored in their contact list, linked to their account, until it is removed (write to info@cueshot.app) or they delete their account. Files and messages only reach you if you also added that user back. We do not build a profile of you and use the address for nothing else. The source of the data is the user who typed it in. Legal basis: Art. 6(1)(f) GDPR (the user's and our interest in letting people share with someone they know). Write to info@cueshot.app and we remove you from every contact list, or object under Art. 21 GDPR.

Withdrawal and cancellation. If you use the withdrawal or cancellation function on this website without signing in, you enter your name and the email address of your account. We look up your subscription by that address, record your declaration with the time we received it (kind of declaration, name as you typed it, the date you chose for the contract to end, the reason you gave if you cancel for good cause, time — stored on the subscription at Stripe and in the confirmation email we send to that address) and send a confirmation link to it. The link only protects against someone ending a contract that is not theirs; the declaration counts from the time it reached us. We keep the record as proof of what you declared and when, for as long as claims arising from the contract can be made against or by us (generally up to three years after the end of the year in which the contract ended, § 195, § 199 BGB), and as long as the retention periods above apply. Legal basis: Art. 6(1)(b) and (c) GDPR (carrying out the cancellation or withdrawal, proof under § 312k BGB, § 356a BGB) and Art. 6(1)(f) GDPR (defending against claims).

Deleting your account. There is no delete button in the app yet: write to info@cueshot.app from the address of the account and we delete it within one month. That removes the account data, your devices, contacts, shares and team membership; a daily job then removes the encrypted files from storage. Not removed: invoices and the records they rest on (tax law, see above), the block list of addresses that asked not to be emailed (it holds only a fingerprint, so that we never write to them again), and, at Stripe, what Stripe must keep for its own legal duties. Entries of your address in other users' contact lists are removed on request.

7. Your rights

The competent supervisory authority for us is the Unabhängiges Datenschutzzentrum Saarland (independent data protection centre of the Saarland), Fritz-Dobisch-Straße 12, 66111 Saarbrücken, Germany, phone +49 681 94781-0, datenschutz.saarland.de. You may also complain to the authority where you live or work.

An email to info@cueshot.app is enough for any of this. We answer within one month (Art. 12(3) GDPR).

Providing data is not required by law or contract, except your account data and your payment details if you choose a paid plan — without them we cannot provide the account or the plan. There is no automated decision with legal or similarly significant effect on you (Art. 22 GDPR); the AI functions produce text, transcripts and speech for you to check and use.

8. Recipients at a glance

WhoWhat forWhere
Vercel Inc.Website and server deliveryUSA / EU (Frankfurt)
GitHub Inc.Hosting the installer and the update file listUSA
SupabaseAccount, sign-in (only with an account); files shared before the switch to Cloudflare stay here until they expire (at most 30 days)Data in the EU (Frankfurt); contracting party Supabase Pte. Ltd., Singapore
Cloudflare, Inc., 101 Townsend St, San Francisco CA 94107, USAStoring the encrypted files you share (only with an account)Files in the EU, company in the USA
Google, AppleConfirming your identity, only if you choose "Continue with Google/Apple"Their own terms
RequestyAI router in front of the model providers, for Pro functions (only what you send to them)EU gateway in Frankfurt (AWS)
OpenAILanguage models for Pro functions, and the fallback route (only what you send to them)Company in the USA; European data-residency endpoint on the fallback route
Mistral AICloud speech recognition for Pro functions (only the audio you send to it)France
Hugging Face, Inc.Downloading the speech and speaker models, once, on requestUSA
Stripe Payments Europe, Ltd.Payment, invoices, receipts (only if you buy)Ireland; processing also outside the EU
Resend, Inc.Emails about your accountUSA
PostHogWebsite counts without an identifier; in the app — only with your consent — usage counts, error reports and payment events under a random number; service counters without an identifierEU (Frankfurt); IP addresses are not passed on

There are no others. Should one be added, it will appear here before it is used. Where a provider is in the USA, the transfer relies on the Standard Contractual Clauses and, where the provider is certified, the EU-US Data Privacy Framework (Art. 44 ff. GDPR). You can ask us at info@cueshot.app for a copy of the safeguards that apply.

Specifically: our data processing agreement with Supabase Pte. Ltd. (Singapore) incorporates the Standard Contractual Clauses (controller to processor); the data itself is held in the EU region. Resend (Plus Five Five, Inc., San Francisco) processes in the USA under the Standard Contractual Clauses and states that it is certified under the EU-US Data Privacy Framework. Cloudflare, Inc. states that it complies with the EU-US Data Privacy Framework, and its data processing addendum includes the Standard Contractual Clauses.

The providers that process data on our behalf do so under data processing terms as required by Art. 28 GDPR. The same applies to PostHog. The free version needs none of the providers from Supabase to Hugging Face except as described in section 5.

9. Content of other people — who is responsible

The recordings, screenshots, dictations and meeting notes you make are yours. If you send them through a Pro function, we process them only to give you the result, on your behalf, and for no purpose of our own. If they contain personal data of other people — colleagues, customers, the other people in a call — then you are the controller for that content (Art. 4(7) GDPR): you need a legal basis for recording and processing it and must inform the people concerned. Record a call only when everyone in it knows and agrees (recording someone's spoken word without consent can be a criminal offence, § 201 StGB); Cueshot asks you to confirm this before every meeting recording. If you use Cueshot for business, ask us at info@cueshot.app for a data processing agreement (Art. 28 GDPR).

Voiceprints. Recognising who is speaking in a meeting compares each voice with the voiceprints of the team members who agreed to be recognised. This happens on your Mac, and the comparison of a voice that is not enrolled produces no name — it stays "Speaker 2". Nothing of it is sent to us except the meeting text described in section 6.

10. Cookies, local storage and similar technologies

Browsing this website sets nothing on your device. We checked the built site on 8 October 2026 with a browser started clean: on the home page, the download page, this page, the MCP page and the cancellation page there were no cookies, nothing in local storage, session storage or IndexedDB, and the only requests went to this website itself. The site loads no third-party script, font, image or embed (the content security policy only allows our own address). The counts described in section 4 use a random number that exists only in the open tab's memory. Because nothing is stored on or read out of your device, § 25(1) TDDDG does not apply, and there is no cookie banner because there is nothing to consent to.

The cases where something is stored, and why:

WhatWhere and how longBasis
Sign-in cookies cs_anmeldung, cs_anmeldung_email, cs_anmeldung_pkce: a signed marker that carries the sign-in from the page back to the app (Google, Apple or emailed code)Only on the pages under /app/signin, HttpOnly, 10–15 minutes, then goneStrictly necessary for the sign-in you asked for, § 25(2) no. 2 TDDDG; Art. 6(1)(b) GDPR
Tab marker in session storage on the sign-in page: remembers that the page already opened the app once, so it does not keep opening itUntil you close the tabStrictly necessary for the same sign-in, § 25(2) no. 2 TDDDG
Payment window in the app: Stripe's script runs in the app's payment window (never on the other pages of this website) and may store or read identifiers there to process the payment and prevent fraudThe window keeps no storage after it is closed (it is a non-persistent web view)Strictly necessary for the payment you ordered, § 25(2) no. 2 TDDDG
Invite cookie cs_empfehlung: remembers the invite code from an invitation page until you sign in, so the person who invited you gets their creditOnly if you choose Download and credit … (the button next to it, Download without a cookie, gives you the same file and sets nothing). Only under /app/signin, HttpOnly, 30 days or until you have signed inYour consent by that click, § 25(1) TDDDG and Art. 6(1)(a) GDPR; you can withdraw it by deleting the cookie in your browser

The app is not a website and has no cookies. What it stores on your Mac (settings, history, recordings, the random number for the counts only after your consent) is described in section 5; it is stored to provide the app you installed, and nothing in it is read back by us except as described there.

Last updated: 14 October 2026.

Legal notice