Legal
Privacy Policy
Effective: October 19, 2026
Harness is a sobriety and vice tracker built by Clearpoint Studios. This policy says what Harness stores on your phone, what leaves your phone, who receives it and how long it is kept. The short version: your logs, triggers, moods, notes, reasons and plan stay on your device. A small set of identifiers and anonymous events reaches our servers from the first launch on, and each of those events names the kind of vice you track. This page lists every one of them.
What Harness stores locally
Harness writes the following to its own storage on your phone and sends none of it to us:
- The vices you track, the start of your clean time, your best streak and earlier attempts
- Urge and relapse logs: time, trigger, mood, intensity and the notes you enter
- What you entered about a vice: cost and time per day, amounts, your reason, your rule and your sentence
- Your plan, the name you entered and the triggers you named yourself
- The screen time of the apps you chose to watch
- App settings: reminders, the order of your tools, haptics, reduced motion and the app lock
Uninstalling Harness removes all of it. If Android backup is switched on for your Google account, Android may include app data in that backup. That copy goes to your own Google account, and we cannot read it.
What reaches our servers
All of the following is sent over HTTPS. None of it contains an email address or a phone number, because Harness never asks for them, and the name you enter in the app stays on your phone.
- Counting identifier. Harness sells nothing, but it starts the RevenueCat SDK so we can count installations and active users. RevenueCat issues an anonymous app user ID on first launch. No purchase is ever made or checked through it.
- Install identifier and product events. A random ID created on your phone, sent with anonymous events to a service we run on Cloudflare: that the app was opened, which onboarding steps were shown and for how long, and that the onboarding was finished. Each batch carries the app version, your interface language, the platform and the counting identifier. The service notes the country the request comes from and does not store your IP address.
- The kind of vice you track. Every one of those events also carries the category of your active vice: alcohol, nicotine, porn, weed, sugar, gambling or doomscrolling. It lets us see where the app fails people with a particular vice. It is stored next to the install identifier and the counting identifier. No event contains a log entry, a trigger, a mood, a note, your clean time or anything you typed.
- Install source. On first launch the app reads the install referrer from Google Play. It says whether the install came from a link, for example another Clearpoint Studios app. The source is sent with the events above and stored with the counting identifier at RevenueCat.
- Anonymous account and partner code. On launch Harness signs in anonymously to our Supabase backend. This creates a random account ID without a name, an email address or a password, and an empty partner profile with a partner code. The account is what support messages and the partner feature hang on. This happens for every installation, also if you never use either.
- Notification token. Harness uses Firebase Cloud Messaging by Google to deliver notifications from partners and support replies. On launch Firebase issues a token for this installation, and the app stores it on our Supabase backend together with the platform and your interface language. This also happens for every installation.
None of this is used for advertising, none of it is sold, and none of it is used to track you across apps of other companies.
Partners (optional)
You can connect with another person by exchanging partner codes. Nothing in this section is sent until you fill in your partner profile or connect with someone.
- Your partner profile: the handle, the short bio, the emoji and the goals you choose, your time zone as an offset such as UTC+2, your sharing switches and, if you switch on sharing your vice, its name. A person you sent a request to and the partners you are connected with can read it. There is no public list of profiles.
- Your daily status, sent only while you have at least one accepted partner: the date and whether you logged a relapse today. The number of clean days is included only if you switch on sharing your streak. The name of your vice is included only if you switch on sharing it.
- What you send each other: chat messages, reactions and challenges with the days completed. A chat message is passed to Firebase Cloud Messaging so it can appear as a notification on your partner's phone, under your handle or without it if you set your profile to anonymous.
Your urge and relapse logs, triggers, moods, notes, reasons, costs, plan and screen time are never sent to a partner or to the backend.
Support messages
When you send a message from the support screen, we receive the text you wrote, your interface language, the app version, your Android version and the manufacturer and model of your phone. The backend also notes the country the request comes from. The ticket is stored on our Supabase backend under your anonymous account. A copy of the message with the app version, the Android version and your language is forwarded through a service we run on Cloudflare to our own Telegram chat, so that we notice it quickly. That service keeps your IP address for ten minutes to limit spam. Messages are translated with the Gemini API by Google so we can read them and answer in your language. If you allow notifications after sending, our reply is delivered through Firebase Cloud Messaging.
Screen time
If you grant usage access, Harness reads how long the apps you selected were open today. The numbers are read and shown on your device and are never sent anywhere.
The coach
The coach in Harness follows a written script that runs on your phone. Harness contacts no AI provider with anything you log or type into the coach.
App lock
Harness supports a PIN lock. The PIN is stored on your device as a hash and is never sent to us.
Other requests the app makes
To decide which other Clearpoint Studios apps to show, Harness asks Google Play whether the store page of an app exists. That request names the other app and carries no identifier of yours. Help lines and blocking tools listed in the app are links that open in your browser.
No advertising
Harness contains no advertising, no ad network SDKs, no advertising ID and no crash reporting SDK. We do not sell your data and do not share it with advertisers.
Data retention
How long each thing is kept, and by whom:
- On your device: kept as long as Harness is installed, or until you delete an entry or a vice in the app.
- Install identifier and product events, including the kind of vice: deleted automatically 400 days after they arrive. A scheduled job on the service runs every day and removes everything past that date.
- Counting identifier: held by RevenueCat until you ask us to delete it.
- Anonymous account, partner profile, connections, messages, reactions, challenges and notification token: kept until you delete them. There is no automatic expiry. A notification token is also removed when Firebase reports that it no longer works.
- Support tickets: a resolved ticket and its messages are deleted automatically 30 days after the last activity on it. An open ticket stays until it is resolved. The copy in our Telegram chat is deleted when you ask us.
How to delete your data
Uninstalling Harness removes everything stored on your device. It does not remove what is listed under "What reaches our servers".
In the app, "Delete partner data" in your partner profile removes your profile, all connections with their messages, reactions and challenges, and your notification token from the backend at once. The app then creates a new, empty profile, because the partner feature needs one.
For everything else, write to [email protected] and ask for deletion. We then remove the events, the counting identifier, the anonymous account and your support tickets.
Who processes the data
Google Play handles distribution and the install referrer. RevenueCat counts installations under the anonymous counting identifier. Cloudflare runs the services that receive the anonymous events and the forwarded support messages. Supabase stores the anonymous account, the partner data and the support tickets. Google delivers notifications through Firebase Cloud Messaging and translates support messages through the Gemini API. Telegram carries the copy of a support message to us.
Children
Harness is not directed at children under the age of 13 (or the applicable age of digital consent in your jurisdiction). We do not knowingly collect information from children.
Changes to this policy
If this policy changes materially, we will update the effective date above and note the change in the Play Store release notes.
Contact
Harness is a Clearpoint Studios app. If you have questions about this policy, write to [email protected] or use the support screen in the app.