HAVIT Privacy Policy

Last updated: on the effective date below
Effective date: the day the HAVIT iOS app is first made available on the Apple App Store. Until that day, this document applies to the Android app only.

1. Who we are

1.1 HAVIT is operated by Mindknoll (마인드놀) ("we", "us"), a sole proprietor, which decides why and how your personal information is processed. Representative: Dong-ho Won. Business registration number: 680-24-00840. Address: 12, Yeongdang-ro, Gwangmyeong-si, Gyeonggi-do, Republic of Korea (경기도 광명시 영당로 12, 1동 101층).

1.2 Privacy officer (개인정보 보호책임자): Dong-ho Won (원동호), representative of Mindknoll. Contact for privacy questions: mindknoll@mindknoll.com.

1.3 This policy explains what we collect when you use the HAVIT app, why, who handles it, how long we keep it, and what you can do.

2. Summary

  • You sign in with Google, or, on iOS, with Sign in with Apple. We do not ask for a password.
  • We store your plans, detox and sleep time records, room, rewards, inquiries, and the item requests you send us from the shop so the app works across sessions. We also note the time the app was last opened with your account — a single time that is replaced each time, kept so that we can see the Service is being used, and nothing else is stored with it.
  • From the shop you can send us a short written request for an item you would like to see there. We store the text and read it when we decide which items to make next. We do not reply to these requests, and they are deleted with your account.
  • After a plan window of yours ends you can write a note about it and add photos to it. We store the text and the photos on our servers. Only you can see them: no other user sees them, and our administrator does not open them.
  • We do not ourselves collect your location (the ad SDK may estimate an approximate one from your IP address), contacts or health-sensor data, and we do not read your photo library — the only photos we receive are the ones you choose to add to a note. We do not read which other apps you use.
  • Nothing you write, add or build in HAVIT is shown to other people unless you press a share button yourself, which hands a picture to an app you choose (Section 5.1).
  • Ads are shown through Google AdMob, which collects some data automatically, including an advertising identifier (Section 3.3).
  • You can delete your account and data yourself in the app, immediately. If you cannot access the app, you can ask us by email and we delete within 30 days.

3. Information we collect

3.1 Information you give us or the app creates

CategoryWhatSource
AccountEmail address and sign-in provider (Google on Android and iOS; Sign in with Apple on iOS only), and a unique account ID. If you use Sign in with Apple and choose to hide your email, the address is a private relay address generated by Apple (see 3.2).Your Google or Apple sign-in
Google profile valuesName, profile picture address (URL), Google account identifier (see 3.2)Your Google sign-in
Apple sign-in valuesAn identifier Apple assigns to your Apple Account for HAVIT, and your email address or Apple private relay address (see 3.2)Your Apple sign-in (iOS only)
ProfileNickname, and a normalised form of it used to keep nicknames uniqueYou
SettingsChosen display language, language detected on your device, time zone, notification on/off choicesYou / device
ProgressWhen you finished the trial and tutorial, and when you signed upApp
Last app-open timeThe time the app was last opened while you were signed in. We keep one time per account: each new value replaces the one before it, so there is no history, no count of how often you open the app and no list of the days you opened it. Nothing else is stored with it — no app version, device information, IP address or location. It is written only after you have signed in, and at most once every 30 minutes. Kept until you delete your accountApp
PlansCategory, plan name, start time, length, repeat rule, reminder settingYou
Sleep habitBedtime, wake time, repeat rule, alarm sound choice, reminder settingYou
Detox recordsSession start and end time, time zone, local date, counted time in seconds, which plan it came from, why it endedApp
Plan-window recordsPlan, date, plan length at that time, counted timeApp
Sleep recordsBedtime, wake time, scheduled and snoozed wake time, number of snoozes, when the alarm was turned offYou / app
Room and rewardsRoom layout, wallpaper and flooring choices, weekly rewards received and whenYou / system
NotesThe text you write about a plan window that has ended, and the photos you add to it (up to 10 per note), together with which plan window the note belongs to and when it was written or last changed. The photos are kept in a private file store and are shown to you through a link that works for a limited time only. Only you can see a note: no other user sees it, and our administrator does not open it. There is no reporting or review feature for notes, because nobody else sees them.You
Notification tokenA device push token and platform (Android or iOS). The app registers the token after you sign in and refreshes it every 24 hours. On both platforms the token we store is a Firebase Cloud Messaging token. On iOS the app receives an Apple push token (APNs) from iOS, hands it to the Firebase software in the app, and receives a Firebase Cloud Messaging token in return; we store only that Firebase token, not the Apple push token. The token is removed when you sign out, when notification permission is not granted, or when you have switched off every notification our server sends (Section 8), and it is deleted with your account.Device
InquiriesThe text of messages you send us, replies, language, timestamps. Kept until you delete your accountYou / us
Shop item requestsThe text of a request you send from the shop for an item you would like to see there (up to 2,000 characters, up to 3 a day), the language you were using and the time you sent it. There is no category, title or attachment, and nothing about your device is added. Kept until you delete your accountYou

3.2 Information from Google and from Apple

Google. When you sign in, the app receives a Google ID token on your device and passes it to our authentication provider (Supabase Auth) to sign you in. Our servers do not keep the token separately. Our authentication provider stores these values from Google: your email address and whether it is verified, your name, your profile picture address (URL), your Google account identifier, and the issuer of the token. Our app does not request extra permissions from Google.

Apple (iOS only). When you choose Sign in with Apple, the app receives an Apple ID token on your device and passes it to our authentication provider (Supabase Auth) to sign you in. Our servers do not keep the token separately. Apple's sign-in sheet lets you share your real email address or hide it behind a private relay address (…@privaterelay.appleid.com); we receive and store whichever you choose. Our authentication provider builds your sign-in record from the claims in the token. The values we use are your email address or relay address and the identifier Apple assigns to your Apple Account for HAVIT. The app reads only the ID token from Apple's response and passes only that to our authentication provider. It does not read or send any name that Apple's sign-in sheet may offer, and you choose your nickname in HAVIT.

If you hide your email, Apple's relay address differs from the email of any Google sign-in you may have used, so signing in with Apple can create a separate HAVIT account from your Google one. We do not merge them.

3.3 Advertising information

The app shows banner, native and interstitial ads from Google AdMob, on Android and on iOS. There are no rewarded ads. Google's AdMob SDK collects some data automatically when ads are loaded and shown. According to Google's published disclosure for the AdMob SDK (Android, SDK 25.5.0), this includes:

TypeWhat
IP addressMay be used to estimate your approximate location
User product interactionsApp launches, taps and video views
DiagnosticsFor example launch time, hang rate and energy usage
Device or account identifiersAndroid advertising ID and app set ID

On iOS, the privacy manifest bundled with the Google Mobile Ads SDK in the app declares that the SDK collects these data types: device ID (the advertising identifier, IDFA, if you allow tracking), advertising data, product interaction, coarse location, performance data, crash data and other diagnostic data. This list comes from the SDK's own manifest and can change when the SDK is updated.

Google uses this data for advertising, analytics, fraud prevention and security, under its own policies. On Android the app declares the Android advertising ID permission for this, and you can reset or delete your advertising ID in your device settings. At present the app does not add your account or sleep data to ad requests. We do not receive your advertising identifier and we do not count ad impressions ourselves.

iOS tracking permission. On iOS the app declares that the ad SDK may use your advertising identifier for tracking. Before the first ad request, while the app is on screen and only if you have not answered before, the app shows Apple's App Tracking Transparency prompt and asks for your permission. You can change your choice at any time in your iOS settings. If you do not allow tracking, the app still requests ads, and the advertising identifier is not available to the SDK.

In regions where consent is required (for example the European Economic Area), the app asks for your consent before showing ads, on Android and on iOS, and Settings then shows an "Ad privacy choices" row so you can change it. That row does not appear elsewhere. We do not treat the Service as directed to children (only people aged 14 or older may use it; see Section 11), so ad requests are not marked as child-directed. We have not set a content-rating or non-personalised-ads option, so AdMob's default behaviour applies for those.

3.4 Usage and diagnostics

We plan to collect basic product counts (for example, whether people return after a few days and how far they get through onboarding) without tying them to a named person. We do not use third-party analytics or crash-reporting tools at launch, and we do not use advertising trackers of our own. The counts are not collected yet.

Our authentication provider (Supabase Auth) stores your IP address and browser or app user-agent in its session and audit logs. Our providers may keep technical logs (such as IP address and request time) for periods set by those providers.

On iOS, the Firebase Cloud Messaging software in the app declares in its own privacy manifest that it handles a device identifier and diagnostic data, not linked to you by that software, for delivering notifications and for analytics. We do not include Firebase Analytics in the app.

3.5 Information we do not collect

We ourselves do not collect your precise or approximate location (the ad SDK may estimate an approximate location from your IP address, see Section 3.3), contacts, microphone input, health-sensor or fitness data, payment information (there are no payments), or a list of the other apps you use. We do not read your photo library: the only photos we receive are the ones you pick or take yourself to add to a note (Section 3.1). The camera is opened only when you choose to take a photo for a note; we do not use it for anything else and receive only the photo you keep. We do not measure how long you sleep; we record only the bedtime and wake time that you set or confirm. Bedtime and wake-up times are recorded by you; we use them only to provide the feature and do not use them for advertising. Sleep records are not used to make health assessments.

3.6 Information stored only on your device

WhatWhereWhy
Session in progress and a queue of records waiting to be sent, including a note and its photos that have not been uploaded yetDevice storage (IndexedDB)So records survive being offline or closing the app
Notification preferenceDevice storage (localStorage)To remember your choice
A marker showing when the app last told our servers it had been opened, together with your account IDDevice storage (localStorage)So the app tells our servers at most once every 30 minutes
Timestamps used to time the in-app review prompt: when you last ended a session yourself, when you last went through the reward or room-editing screens, and when the prompt was last requested. Nothing is sent to our serversDevice storage (localStorage)To avoid asking too often or at the wrong moment
Display languageCookie, up to one yearTo open in your language
Sign-in sessionCookieTo keep you signed in
Wake-up alarm schedule on iOS: for each alarm its ID, ring time, sound choice, snooze length and snoozes left, the app screen it opens, your language setting, and whether it has rung; and wake-up and snooze events from the alarm screen waiting to be read by the appA file in the app's private storageSo alarms and their events survive closing the app

Nothing is sent to our servers before you create an account. The short trial during onboarding does not create a server record.

4. Why we use your information

PurposeInformation
Provide the Service: your account, plans, records, notes, alarms, reminders, room and rewardsAccount, profile, settings, plans, sleep habit, records, notes and their photos, room, rewards
Sign you in with Google or Apple, and, when you delete your account, ask Apple to withdraw HAVIT's sign-in authorizationGoogle and Apple sign-in values
Send notifications (reminders, reward received, inquiry reply, announcements, the daily plan reminder, and the note reminder described in Section 8)Notification token, settings, time zone, relevant event
Answer your inquiries and fix problemsInquiries, account ID, language
Decide which items to make for the shop next (product planning)Shop item requests, account ID, language
Prevent immediate re-registration and duplicate nicknamesEmail and nickname hashes, a hash of your Apple account identifier, deletion time, nickname key
Keep the Service secure and prevent abuseAccount ID, technical logs
Show ads to fund the ServiceHandled by Google AdMob
Understand how the Service is being used, by seeing whether the app is being opened at all. We do not use this to assess, score or rank you, and no feature of the app reads it — not notifications, not reminders, not ads and not rewardsLast app-open time
Understand overall product use without identifying youAggregated counts (not collected yet)

We do not sell your personal information, and we do not use it to build advertising profiles of our own.

We process your information to provide the service you requested (your account and features), and with your consent where required.

5. Who we share it with

We do not sell or rent personal information. We use service providers who process it for us:

ProviderRoleLocation
SupabaseDatabase and sign-in; holds nearly all account dataTokyo, Japan (ap-northeast-1)
VercelHosting the app screens and server codeUnited States (Washington, D.C. — iad1)
Google (sign-in)Google account authenticationUnited States and other countries
Apple (Sign in with Apple, iOS only)Apple account authentication; when you delete your account, we send Apple a request to revoke HAVIT's sign-in authorizationDetermined by Apple; we do not choose it
Google / Firebase Cloud MessagingDelivering push notifications to Android and iOS devices; our server calls it with a service accountUnited States and other countries
Apple Push Notification service (iOS)Carries push notifications from Firebase Cloud Messaging to iOS devicesDetermined by Apple; we do not choose it
Google AdMobShowing adsUnited States and other countries

We may also disclose information when required by law or to protect rights and safety. If mindknoll is part of a merger or sale, information may transfer to the successor under this policy. Our administrator, a single operator at mindknoll, can see account data needed to run the Service, to answer your inquiries, and to read the item requests you send from the shop; there is no tool for replying to those requests. The administrator can also see the last app-open time in the administrator screens, read-only, next to the time of your last recorded activity; there is no tool to change or delete it. There is no screen or tool for the administrator to read the text or open the photos of your notes.

5.1 When you share from the app

The app has share buttons that you press yourself. Nothing leaves the app through them unless you press one.

What you can shareWhat the picture or message contains
Your room, from the room-editing screenA picture the app draws of your room, with your nickname on it
A note, at the moment you save itA picture the app draws as a postcard from the photos you added and the text you wrote, with the plan name and the date
A recommendation of HAVIT, from My pageA short message and a link to HAVIT. It contains nothing about you

When you press a share button, your device shows its share sheet and you choose where the picture or message goes — for example a messenger or a social network. The app hands it to the app you chose. From that point the information is in that service's hands and is handled under its policy and terms, not ours, and neither you nor we can take it back from there.

Two things to be aware of before you share. Your nickname appears in the room picture, so sharing it shows your nickname to whoever can see where you posted it. A photo you added to a note may show people's faces — yours or someone else's — and the note postcard shows that photo. You decide what to share and with whom, and what you share, including photos of other people, is your responsibility.

6. International transfers

We use providers located in Japan and the United States, and our providers may process your information in other countries. We send them only what is needed to run the Service, over encrypted connections.

7. How long we keep it

WhatHow long
Your account and everything attached to itAs long as the account exists. Unused accounts are not deleted automatically.
Your notes and the photos in themAs long as the account exists. We do not delete them after a set period, and we do not delete them because they are old.
After you delete your accountDeleted immediately: sign-in, plans, sleep and detox records, notes, room, rewards, notification tokens, inquiries and replies, shop item requests, and the last app-open time.
The photo files from your notes, after you delete your accountThe files are deleted from our file store straight after the deletion. They are not in the database, so if a file deletion fails your account and data are still deleted and the file deletion is retried automatically — the files are gone at the latest within 7 days.
Deletion trace: one-way hash of your email, one-way hash of your nickname, one-way hash of your Apple account identifier if you had signed in with Apple and deleted in the app, deletion time30 days, then deleted automatically by a daily clean-up
Note that Apple's revocation did not complete (only if it did not)Not stored in our database. Only a technical log line on our server (your account ID and a short reason word), kept for the period set by our hosting provider
Notification delivery queueShort-lived (about 14 days, cleaned daily)
Operator action log (a record of actions taken by our administrator, for accountability)Records the operator's email address, the action, the ID of what it was done to, and details (for example your user ID or a character count). It does not contain inquiry text, or your email or nickname. It stays after you delete your account and cannot be edited or deleted by anyone. We keep these records for one year; our server then deletes records older than one year automatically.
Anonymous aggregate countsKept without link to you (not collected yet)
Data only on your deviceUntil you uninstall the app or clear its data
Provider technical logsAs set by each provider

The 30-day trace is not a recovery window; deletion cannot be undone. It only prevents signing up again straight away. A one-way hash means the same input always gives the same value, but the original cannot be recovered from it. We mix in a secret known only to our server before hashing, which reduces the risk of guessing common nicknames, though it cannot remove it entirely.

If you signed in with Apple. When you delete your account in the app, the app shows Apple's confirmation sheet once more, and we use the one-time code it returns to ask Apple to revoke HAVIT's sign-in authorization for your Apple Account. We do not store that code or any token. If Apple does not complete the revocation (for example you close Apple's confirmation or Apple cannot be reached), we still delete your account and data, and we record only that the revocation did not complete (in a server log). If your account is deleted at your email request, we cannot collect Apple's confirmation, so no revocation request is made. You can remove HAVIT's access yourself in your Apple Account settings under Sign in with Apple. The 30-day trace blocks a new sign-up when the same Apple identifier (or the same email address) is used again; it cannot connect a deletion made with Google to a later sign-up with a hidden Apple email, because we hold nothing that links the two.

8. Notifications and device permissions

PermissionWhy
NotificationsReminders, wake-up alarm screen, and server notifications
Alarm-related permission (where your device asks for one)So the wake-up alarm rings at the time you set
Alarm permission on iOS 26 or later (AlarmKit)So HAVIT can schedule the wake-up alarm with the iOS alarm facility, which can ring when the app is closed. Without it the alarm is not scheduled and does not ring. iOS asks for this separately from notifications
Tracking permission on iOS (App Tracking Transparency)Lets the ad SDK use your advertising identifier (Section 3.3)

We do not read personal information through these permissions. You can change permissions in your device settings.

Notifications our server sends. There are five of them, and you can turn them off in the app:

NotificationHow you turn it off
Reward received, inquiry reply, announcements, and the daily plan reminder — at 09:00 in your device's local time, inviting you to set up today's detox plan; it is not sent on a day when you have already set up a planOne switch for the four together, in the app's notification settings
Note reminder — on a day when a plan window of yours has ended and you have not written a note about it, at 21:00 in your device's local timeIts own, separate switch in the app's notification settings. It is on to begin with

The note reminder is part of the notes feature you use, not an advertisement: it reminds you about the thing you asked the app to help you do. It is sent at most once a day, it is not sent on a day when no plan window of yours ended or when you have already written a note, and it is not sent at all if you have not granted notification permission or you have turned it off. Turning it off leaves the other four on, and turning the other four off leaves it on.

The daily plan reminder is also part of the service you use, not an advertisement: it invites you to plan the detox time you asked the app to help you keep. It is sent at most once a day, and not at all if you have not granted notification permission or you have turned the switch off.

We do not send marketing notifications; if we ever do, we will ask for your separate consent first.

9. Your choices and rights

  • Access and correct: you can see and edit your nickname, plans, sleep habit and records in the app. You can open a note you wrote and change its text and its photos at any time, with no time limit. You cannot open or change an item request you sent from the shop: there is no screen for it, and we do not reply to requests.
  • Delete: My page → Settings → Delete my account and data. This erases your data right away. If you cannot access the app (you uninstalled it, lost your device, or cannot sign in), email mindknoll@mindknoll.com from the email address of the account you signed up with (the address of your Google account, or, if you signed in with Apple and chose to share your email, that address). We check that an account was signed up with that address and delete it within 30 days. If you signed up with Sign in with Apple and hid your email, the address on the account is Apple's relay address, which you cannot send from; in that case reinstall HAVIT, sign in with Sign in with Apple using the same Apple Account, and delete the account in the app. We do not delete such an account on an email request alone. Details are on the account deletion page (/legal/delete-account).
  • Notifications: turn off in the app, or in device settings.
  • Ads: manage ad personalisation through your device's advertising settings. Where consent is required, you can also change your choice in the "Ad privacy choices" row in Settings. You can also reset or delete your Android advertising ID in your device settings. On iOS you can change your tracking choice for HAVIT in your iOS settings.
  • Sign in with Apple: you can see and remove HAVIT's access in your Apple Account settings.
  • Other requests (for example a copy of your data, objection or restriction): email mindknoll@mindknoll.com. You may have additional rights under applicable law; contact us.

10. Security

We use encrypted connections (HTTPS), per-user access rules in the database so that you can read and write only your own records, a private file store for note photos that is not open to the public and from which a photo is shown to you only through a link that works for a limited time, a secured deletion process, and a server-only secret for hashing. We rely on our service providers' security measures. No system is perfectly secure, and we cannot guarantee absolute security.

11. Children

You must be at least 14 years old to use HAVIT. By creating an account you confirm that you meet this requirement. Children under 14 may not sign up, and we have no parental-consent route. We do not treat HAVIT as directed to children, and ads are not requested as child-directed. If we learn that we collected information from a child under 14, we will delete it. Parents can contact mindknoll@mindknoll.com.

12. Changes to this policy

We will post updates here and in the app with the effective date. We announce changes in the app at least 7 days before they take effect, and at least 30 days before changes that are to your disadvantage.

13. Contact and complaints

Privacy officer: Dong-ho Won (원동호). Email: mindknoll@mindknoll.com. If you believe your rights were infringed, you may also contact the data protection authority where you live. In the Republic of Korea you can also contact:

BodyContact
Personal Information Dispute Mediation Committee (개인정보 분쟁조정위원회)1833-6972 · https://www.kopico.go.kr
Cyber Crime Reporting System, Korean National Police Agency (경찰청 사이버범죄 신고시스템)182 · https://ecrm.police.go.kr
Personal Information Infringement Report Center, KISA (개인정보침해 신고센터)118 (no area code) · https://privacy.kisa.or.kr