MindShift
Last updated: 23 September 2026
The short version. MindShift listens to your conversation so it can coach you through it. To do that it sends your microphone audio to Deepgram to turn into text, and sends that text to Anthropic (Claude) to write the suggestions you see. A live coaching session keeps its audio by default so you can replay and re-analyse it — turn Keep audio off in Live Coach and it is transcribed as it streams and thrown away instead. If you pair a Wear OS watch, MindShift also reads your heart rate and scores the sound of your voice for tone — both stay on our own server and are never sent to anyone else. Recordings you make outside a live session are saved only when you tick the consent box, and only you can see any of it until you deliberately share a session with a therapist you name by email. There are no ads, no advertising or analytics SDKs, and nothing is sold to anyone. You can delete any of it, and you can delete all of it — see Deleting your data.
MindShift is an independent app built by Sage Arbor. It is a pre-launch project, not a company. You can reach a human at sagearbor@gmail.com.
This policy covers the MindShift Android app
(com.sagearbor.mindshift.app), the iOS app, the web version at
arborfam-hub.web.app, and the
MindShift Wear OS companion app (com.sagearbor.gauge.wear), which
has no privacy policy of its own. Where one of these behaves differently, it
says so below.
Sign-in is handled by Google Firebase Authentication. Depending on how you sign in we receive your email address, and if you use "Continue with Google" or "Sign in with Apple", your display name. We never see your password.
You can also tap "Continue as guest". That creates a real but anonymous account: we receive no email, no name and nothing that identifies you. A guest session works like any other — the app says so in a bar across the top of every screen — with two differences you should know about before you rely on it:
Your account — guest or not — is identified internally by a Firebase user ID. Everything you store is filed under that ID, and every read, write and delete on our server is scoped to it, which is what stops one account from ever reaching another's data. Deleting a guest account works exactly like deleting any other (see Deleting your data).
| Data | Why | Where it goes | Kept? |
|---|---|---|---|
| Microphone audio | To transcribe what is said so the coach has something to work with | Streamed to our server, and on to Deepgram for transcription | Yes, by default, for a live coaching session — turn Keep audio off and only the transcript remains. Recordings and uploads: only if you tick consent |
| Heart rate (Wear OS) | An extra signal, alongside your voice, for the wearer's own nudges and session recap | Sent from a paired watch to our server over your live session's connection | Yes, with the session it was measured in — until you delete it. Never sent anywhere else |
| Tone / arousal & valence score | A second opinion on how heated a moment sounded, alongside loudness — used only for your own nudges and recap | Computed on our own server, from your session's audio. Never sent to a third party | Yes, with the session it was computed for — until you delete it |
| Transcripts & coaching suggestions | The working material of the coach, and the session you look back at | Sent to Anthropic (Claude) to generate suggestions; stored on our server when you save a session | Yes, when saved — until you delete it |
| Voiceprint (a "voice signature") | So the app knows which voice is yours and which is your partner's, across sessions | Our server only. Never sent to Deepgram, Anthropic or anyone else | Yes, if you enrol a voice — until you delete it |
| Video | Only if you choose to record or upload a video to analyse | Our server; the audio inside it goes to Deepgram for transcription | Only if you tick consent — and then only a small 360p copy |
| Email & display name | Your account; naming a therapist; showing who is on a call | Firebase, our server, and people you deliberately share with | Yes, while you have an account |
| Diagnostics | To find out why a session broke | Our server only | Yes — error reports and device details |
During a live coaching session your phone streams audio to our server continuously, and our server streams it to Deepgram, a speech-to-text service, which turns it into text in real time.
A live session keeps its audio by default. While it runs, our server holds a rolling 90-second buffer in memory to re-examine the tone of the sentence you just said, but the phone also writes the session's microphone audio to a file, and once you save the session that file is uploaded and stored — transcoded to a compressed copy, the same way an uploaded recording is — so you can replay and re-analyse it later and so MindShift can keep learning your voice. You can turn this off: in Live Coach, switch Keep audio off, and nothing is written down for that session — the live stream is only ever transcribed as it goes, the 90-second buffer disappears the moment the session ends or the connection drops, and no audio file is ever created or uploaded.
To be plain about one thing that is easy to get wrong: MindShift also runs a fast coaching loop on your phone, and the app has a toggle for whether the phone or the server does the coaching. That toggle does not stop the audio upload. Audio goes to our server on every live session either way; Keep audio is the separate control for whether that audio is kept. If we ever change any of this, this page changes with it.
If you pair a MindShift Wear OS watch to your account, the watch reads your heart rate from its optical sensor and sends it to our server. In an active watch session it sends a reading about once a second; in Companion mode, where your phone does the listening and the watch just sits alongside it, the watch still sends a reading roughly every 5 seconds for as long as that connection stays open. Either way it is an extra input alongside your voice — a heart-rate jump can contribute to the wearer's own in-the-moment nudge — and the full series is stored with the session, not just the moments it spiked, so we can tell honestly whether heart rate is adding anything at all.
Heart rate is stored inside that session's record on our server and is never sent to Deepgram, Anthropic, or anyone else, and it is never shown to another user — a partner's shared standing card shows a calm score, never a number. It exists only if you pair a watch and grant it the body -sensor permission; decline that permission and the watch still works, it just has one fewer signal. Deleting the session deletes its heart-rate data with it; deleting your account deletes all of it.
Our server also scores the sound of a live session's audio for how heated it sounds — two numbers, called arousal and valence, computed every second from a short rolling window of your voice. This is a second opinion alongside loudness, so a session that is loud but happy is not mistaken for one that is loud and angry. The models run on our own server — nothing is sent to an outside emotion-detection company — and the resulting series is stored with the session for the same reason the heart-rate series is: so it can be checked, and used only for your own nudges and after-the-session recap. It is not shared with anyone else and is deleted along with the session, or your whole account.
A paired watch listens for you in one of a few modes, chosen in the watch app. In Battery Saver and Standard mode, the watch's microphone stays off until it detects something worth nudging on, and then streams your voice to our server in one-second pieces, together with a 5-to-10-second buffer of audio from just before that moment so the nudge doesn't lose context. Session mode streams continuously in the same one-second pieces for as long as it is on, with no trigger at all. Companion mode is different from all three: the watch never opens its microphone at all — your phone listens instead, and the watch only receives heart rate and nudges. A live watch session keeps up to 30 minutes of whatever audio it streamed with the session record; past 30 minutes, the audio stops being kept while the watch keeps nudging.
Two more things you can trigger from the watch:
The transcribed text is sent to Anthropic (Claude), which generates the suggestions, the tone read and the after-the-fact analysis. We send the transcript text as spoken — we do not strip out names, places or anything else, because removing them would break the coaching. Assume that whatever is said out loud in a session reaches Anthropic as text.
A live session's transcript is held in memory only. It becomes stored data when the session finishes and your phone saves it, or when you upload a recording with the consent box ticked.
If you enrol a voice — yours, or someone you tag as "Mom" — MindShift turns a few seconds of speech into a voice signature: 192 numbers. That is what gets stored. The audio it was derived from is not kept.
A voice signature is biometric data: it exists to recognise a specific person. We treat it that way. It is never sent to Deepgram, to Anthropic, or to any other outside party — the only place it ever leaves our server is back to your own phone, so the phone can match speakers without uploading anything. One tap in Settings → Voice → Forget my voice erases it for good; there is no tombstone and no backup copy.
When you record or upload something to analyse, it is processed and discarded by default. It is kept only if you tick the consent box on that upload. When it is kept, we store a compressed copy — AAC audio, and a small 360p video if there was video — never the original file. Videos you record in the app are also saved to your own camera roll on your phone; that copy is yours and we never touch it.
When a session ends with an error, the app automatically sends us a diagnostic report so we can find out why. It contains your user ID and email address, your phone's model and manufacturer, the OS and app version, and statistics about the session that failed (how many turns, how slow, which error). It does not contain your transcript or your audio. You can also send one deliberately from Settings → Diagnostics → Send diagnostics.
We do not use any third-party analytics or crash-reporting service. These reports go to our own server and nowhere else.
MindShift does not request or collect your location, your contacts, your calendar, your messages, your browsing history, your files (other than the audio or video you deliberately pick), or any advertising identifier. The app does not contain an advertising SDK, an analytics SDK or an attribution SDK of any kind.
Six outside services are involved. Each one gets only what it needs to do its job.
u.expo.dev for an
update every time it launches. That request carries your app version, platform,
release channel and IP address. It carries none of your content.Your heart rate and the tone (arousal/valence) score described above are not on this list — the models that compute tone run inside our own server, not at any of these companies, and neither figure is ever included in what we send to Deepgram or Anthropic.
On top of those, when the app transcribes on your phone it uses your phone's own speech recogniser — Android System Intelligence on Android, Apple's Speech framework on iOS. MindShift explicitly asks for on-device recognition and, on Android, pins the request to the on-device service. But that recogniser belongs to Google or Apple, not to us, and we cannot promise on their behalf that it never contacts them. On the web version there is no ambiguity at all: browser speech recognition sends audio to Apple (Safari) or Google (Chrome), and we say so here rather than pretend otherwise.
We do not sell your data. We do not share it for advertising. There are no ads in MindShift.
This is the one way your data reaches another person, and it only ever happens because you asked for it.
In-app calls are audio only — there is no video. Call audio travels directly between the phones over WebRTC, encrypted end to end by the platform. It does not pass through our server and is never recorded. Our server only introduces the phones to each other and merges the text each phone transcribes for itself. If a direct connection cannot be made, the encrypted audio is relayed by Cloudflare's TURN service, which cannot read it.
Live transcripts: not kept until you save the session. Live audio: kept with the session by default once you save it — turn off Keep audio and it is never written down at all. Everything you do save — sessions, transcripts, analysis, audio and video derivatives, heart-rate and tone series, voiceprints, therapist links and notes — is kept until you delete it. There is no automatic expiry on any of that, and we would rather say that plainly than invent a retention period we do not enforce.
Two exceptions, both on the Wear OS watch: a live watch session keeps at most 30 minutes of streamed audio, and a Journal snapshot is deleted automatically after 48 hours regardless of when you turn the Journal toggle off.
In the app, right now:
To delete your whole account and everything under it: go to
Settings → Account → Delete my account, read the list
of what will go, type DELETE, and confirm. It happens
immediately — no email, no waiting period, no human in the
loop — and you are signed out at the end because the account no longer exists.
The same control is in the web app at
arborfam-hub.web.app. Full
instructions are at
arborfam-hub.web.app/delete-account,
which also covers what to do if you can no longer sign in.
Deleting your account erases: every stored recording and session (audio, video, transcripts, analysis, titles, speaker labels, and any heart-rate or tone series recorded with it); your voiceprint and every person you enrolled; every share you granted and every session shared with you; your therapist link in both directions and your private notes; your unfinished uploads and analysis jobs; your watch pairing, live sessions (including their streamed audio and heart rate), captures — including a "Save last 2 min" or Journal capture — and group memberships; your diagnostic reports; your saved relationships and text-tool sessions; and your sign-in account itself.
Sessions you shared with a therapist. Sharing grants a view; it never transfers ownership. The session stays yours, so deleting your account deletes the session itself and every grant that let anyone see it — and the private notes that therapist wrote about that session go with it, because a note is an annotation on your conversation and we will not leave a record of it sitting under someone else's account. Notes they wrote about anyone else's sessions, and everything else in their account, are untouched.
What deletion cannot reach. Videos the app also saved to your phone's own photo library are yours on your device — delete those from your gallery. Anything another person exported or screenshotted is beyond us — that includes the session document a therapist downloaded, which holds the full transcript of that conversation. Operational server logs (timestamps, status codes, request ids and account identifiers — never transcripts, audio or analysis) persist briefly before rotating out. Telemetry sent by a paired watch identifies the device and carries no account id at all, so there is nothing in it to attribute to you.
MindShift is for adults. It is not directed to children, it is not designed for anyone under 18, and it is listed on Google Play for an 18-and-over audience. We do not knowingly collect data from anyone under 13. If you believe a child has used MindShift and given us data, email sagearbor@gmail.com and we will delete it.
Wherever you live, you can ask us what we hold about you, ask for a copy, ask us to correct it, and ask us to delete it. Email sagearbor@gmail.com and we will answer within 30 days. We do not sell personal information, so there is nothing to opt out of on that front.
If MindShift starts doing something different with your data, this page and its "last updated" date change in the same release. The product is early and it moves; the commitment is that this page keeps describing what the code actually does, not what would be convenient to say.
Questions, deletion requests, or anything on this page that does not match what you are seeing in the app: sagearbor@gmail.com.
MindShift is not therapy. It is a communication coaching tool. It does not diagnose, treat or provide medical or mental-health advice, and it is not a substitute for a qualified professional. If you or someone else is in crisis, contact a professional or your local emergency services.