Dosehue

Dose tracking with a visual site log

iOS app

Privacy policy

Last updated: October 22, 2026. Dosehue 1.6.5 shortened setup, moved the tracking prompt to after your first dose, added an install-source event, and now shares the random analytics identifier with RevenueCat while analytics runs; calories and protein (1.6) and opt-in consent in Turkey are also described below.

Dosehue is made by Giray Batıtürk. Your medication plan and dose history stay in the app's storage on your device. The app does not send those records to the developer or another server, sell them, or use them for advertising.

This policy distinguishes the iPhone app from the support and privacy web pages and any email you choose to send.

Your plan and records

Dosehue stores the medication name, dose, unit, schedule, reminder time, injection sites, dates, and other record details you enter locally on your iPhone. There is no account to create.

Dosehue shows no ads inside the app and does not access location, contacts, camera, or microphone. It uses Apple Health only after a separate permission request, RevenueCat for Dosehue Plus purchases, Meta's and Google's SDKs for ad measurement as described below, and first-party PostHog product analytics as described below.

Apple Health

Apple Health connection is optional. If you grant access, Dosehue can read the weight you chose to share, and medication information on supported iOS versions. Dosehue never writes medication or injection records to Health. If you separately turn on “Save my new weights to Health” in Weight, new weight entries you type into Dosehue are also written to Health. Weight auto-import turns on automatically, once, the next time you open Dosehue whenever it has already asked for weight-read access, including a new install that asked for that access during setup, not only an existing user, you can turn it off again in Weight settings, and it does not turn back on by itself afterward. Once on, Dosehue reads your weight history from Apple Health automatically, including through background delivery, so new weigh-ins can appear without opening the app. Apple does not tell the app whether read access was denied, so an empty value may mean either no matching data or no permission.

Side-effect entries you log in Dosehue (1.4) are stored only on your device. If you separately turn on saving symptoms to Apple Health, each logged symptom is written to Health as a symptom sample, but only for the 11 symptom types Dosehue's catalog maps to a Health symptom type (nausea, vomiting, diarrhea, constipation, stomach pain, heartburn, bloating, decreased appetite, tiredness, headache, dizziness). Injection site reaction and anything you enter as your own custom wording have no Health equivalent and always stay in Dosehue only. Deleting a symptom entry in Dosehue deletes the matching sample Dosehue wrote to Health. Using “Delete all data” in Privacy removes Dosehue's on-device records but does not delete symptom or weight samples already saved to Apple Health; remove those directly in the Health app.

Dosehue reads only weight, medications and dose events from Health, plus daily calories and protein if you separately turn that on (see Calories and protein below); it does not read other Health categories. Health data is processed on your device. Dosehue does not include Apple Health data in its encrypted export, send it to PostHog, RevenueCat, Meta or Google, use it for advertising, or sell it.

Calories and protein

You can type the calories and protein for any day. These values are stored only on your device, like your dose records, and are never sent to the developer or another server.

Separately, “Import from Apple Health” in Settings is off by default. Only when you turn it on does Dosehue ask Apple Health for permission to read two types: dietary energy (calories) and dietary protein. It then reads the daily totals for the last 180 days, and each time you open Dosehue it refreshes the most recent days, so values that a food app saved to Health late, or that you changed or deleted there, are brought up to date. Dosehue never writes calories or protein to Apple Health and asks for no permission to do so. Apple does not tell an app whether read access was refused, so an empty result can mean there was nothing to read or that nothing was shared; you can change access at any time in the Health app under Sharing, Apps, Dosehue.

Imported values appear beside what you type for the same day; what you type takes priority, value by value. Calories and protein, typed or imported, are processed on your device. They are not sent to PostHog, RevenueCat, Meta or Google, no analytics event carries a calorie or protein value, and they are never used for advertising. Imported values are not included in Dosehue's encrypted backup; the backup holds only the values you typed. Turning the import off stops new imports and keeps the days already imported; Privacy's “Delete all data” removes both typed and imported values from your device. Neither action changes anything inside Apple Health.

Supply reminders and widgets

Pen/needle supply setup and refill reminders (1.4) are local notifications scheduled on your device; Dosehue does not send this information anywhere.

Home Screen and Lock Screen widgets show your next dose from a snapshot kept on your device; nothing is sent to build or refresh a widget. By default, a widget shows the suggested injection site along with the countdown to your next dose. The Privacy screen's “Hide details in widgets” option hides the injection site only; the countdown still shows. The Control Center button only opens “Log dose”, it never shows your next dose or a countdown. Asking Siri to log a dose, and tapping “Log dose” on a Dosehue notification or from Control Center, write the dose itself on your device only, but, like logging from the app, they also send a coarse analytics event (see Product analytics below), subject to the usage-data switch.

Notifications

Notification permission is requested only to show local reminders, once, right after you log your first dose (not during setup), and only while you have not yet answered iOS's notification prompt. Neither the title nor the body of any Dosehue notification ever names your medication or dose. This covers the dose reminder, its “Snooze 1 hour” repeat, the pen/needle refill reminder (1.4), and the “Couldn't log your dose” failure notice shown when the reminder's “Log dose” action cannot write the dose. Notifications are scheduled on your device, not routed through a developer server. You can manage Lock Screen previews or disable Dosehue notifications in iOS Settings. You can use your plan and history without notification permission.

Backups and deletion

If iCloud device backup is enabled, app data may be included in Apple's device backup. Dosehue does not provide automatic cloud sync.

You can manually export a password-protected encrypted backup and choose where to save it, including a Files location you control. The backup includes your medication plan, dose history (with any pain level and note you added), logged symptoms, pen/needle supply tracking, day notes, and the calories and protein you typed. It never includes Apple Health data (including calories and protein imported from Health), purchase information, or an analytics identifier. Dosehue does not receive the file or password and cannot recover a forgotten password.

You can delete individual dose records in the app, and Privacy's “Delete all data” removes your plan, dose history, side effects, weight records, day notes, and calories and protein (typed and imported) from your device and cancels reminders. It does not remove symptom or weight data already saved to Apple Health; calories and protein in Apple Health are never touched, because Dosehue does not write them. Choosing “Delete App” in iOS removes local app data; “Offload App” retains documents and data. Existing Apple backups are managed through your Apple and iCloud settings. Deleting the app does not cancel an Apple subscription or itself delete RevenueCat or PostHog records those services already received. See Apple's iPhone storage guide.

Dosehue Plus and purchases

Dose tracking, reminders, injection-site rotation, history, Apple Health connection, and encrypted backup remain available without a subscription. Dosehue Plus is an auto-renewing subscription, billed monthly or yearly, that unlocks advanced monthly charts, injection-site distribution, and PDF reports.

Apple processes payment. RevenueCat is used to show the paywall, verify purchase status, restore purchases, and manage access to Plus. For those purposes RevenueCat may process a random app user identifier, purchase and subscription history, transaction identifiers, app and device information, and interactions with its payment screen. Dosehue does not send your medication plan, dose records, injection sites, notes, encrypted backup, or Apple Health data to RevenueCat.

From version 1.0.1, Dosehue asks Apple for an AdServices attribution token at launch and passes it to RevenueCat. Apple issues this token; it carries no name, email, account or device identity, and it does not require App Tracking Transparency permission. It is used only to attribute an install or a subscription to an Apple Search Ads campaign, not for advertising inside the app, cross-app tracking or profiling, and the token itself is not sent to PostHog. From version 1.6.5 the app also reads a token of its own and resolves it with Apple's attribution service; the campaign result it gets back (not the token) is sent to PostHog once per install, as described under “Product analytics” below.

RevenueCat's server-to-PostHog integration is not enabled. Optional purchase-step events come from the app on your device, only while analytics is running, not from an automatic renewal feed.

Since 1.6.5, while product analytics is running, Dosehue gives RevenueCat the random analytics identifier described under “Product analytics” below, as RevenueCat's $posthogUserId subscriber attribute, so that purchases can be linked to analytics. RevenueCat therefore holds this identifier on the same customer record as your random app user identifier and your purchase history, and the two are linked there. It is the only customer attribute Dosehue sets, and the only thing sent for this link: no health data, medication, dose, name, email or advertising identifier. It is sent only while analytics runs: outside Turkey while “Share anonymous usage data” is on, in Turkey only after you opt in to product analytics, and not at all while analytics is off. When you turn sharing off, Dosehue deletes the local identifier and asks RevenueCat to clear the attribute; if you opt in again, a new identifier is created and sent. Asking RevenueCat to clear the attribute does not undo what it already received or delete its other customer records.

You can manage or cancel the subscription in your Apple Account subscription settings.

Product analytics

The Privacy screen's “Share anonymous usage data” switch controls this. It is on by default, an install that never opens Privacy keeps analytics running, and turning it off stops sending to PostHog immediately and removes the local random identifier. In Turkey analytics starts only after you opt in (see “Consent and transfers abroad (Turkey)” below).

While it is on, each event carries a random analytics identifier, a separate random event identifier, its timestamp, and fixed app_version/build/distribution/environment fields (the app's own version and how it was installed, App Store, TestFlight, or debug, never your device model or OS version). Since 1.6.2 each event also carries storefront, the country code of your App Store storefront (for example TUR or USA); it is not your device location or your device region setting, and it is left out when StoreKit has none. The analytics identifier is saved on your device and stays the same across app launches while sharing is on. It is not derived from your RevenueCat customer identifier, an Apple account, a device ID or a health record; since 1.6.5 Dosehue also gives it to RevenueCat while analytics is on (see “Dosehue Plus and purchases” above). PostHog purchase events do not contain product identifiers, prices, currency, receipts or transaction identifiers.

The event names cover: app open, onboarding start and completion (with how long setup took, in whole seconds) and each of the five setup screens being viewed or stepped back from (with its position in setup, 1 to 5, never an answer), everyday screens (Today, History, Settings, site picker), a dose being logged (with which entry point, the app, Siri, a widget, or a notification action, never the dose itself) and, when it is your first one, that fact, a dose being edited or deleted, plan edits, your next dose day being moved during setup or when editing your plan (never the date), reminders being turned on or their settings opened, weight being added, its history viewed, or its goal set, a symptom being logged or deleted (never which symptom, severity or note), pen/needle supply being set up, a new pen started, or a refill reminder turned on (never the stock count), the Apple Health permission prompt being completed, saving symptoms to Apple Health or weight auto-import being turned on/off and whether a Health write or sync succeeded or failed, a widget or the Control Center button opening the app, “Hide details in widgets” being switched on/off, viewing the Reports screen or the “Estimated medication level” chart (with whether that section was shown locked or unlocked) and its info sheet, exporting a Reports PDF, the Dosehue Plus paywall/purchase/restore funnel (with where it was opened from, and whether a purchase started a free trial), a backup being exported or restored, and the value-upsell sheet. Test builds are marked separately.

A few more events: the Calendar tab being opened and a day's calories or protein being saved by hand (neither carries a date or a calorie or protein value); Dosehue asking iOS to show its App Store review prompt (iOS decides whether it appears, and the event has no properties); your answer to the iOS notification prompt, as a single yes or no (nothing is sent if you never answer it); and, on the first welcome screen, continuing, sending the app to the background, or choosing to restore a backup. The first two carry how long that screen was open, in four coarse buckets (under 3, under 15, under 60 or over 60 seconds), never a timestamp.

Once per install (since 1.6.5), the app reads Apple's AdServices attribution token, sends it to Apple's attribution service (api-adservices.apple.com) and sends PostHog the answer as an install_attributed event: attribution_source (apple_search_ads when Apple has a record that an Apple Search Ads ad led to the install, organic when Apple has none, unknown when the token or the answer could not be read) and, for an Apple Search Ads install, the ids Apple returns for that ad (asa_campaign_id, asa_ad_group_id, asa_keyword_id, sent as text; there is no keyword id when the ad group uses Search Match) and the download type (asa_conversion_type: download, redownload or pre_order). These ids identify the advertiser's campaign, which is the same for every install it produced, not you or your device. organic means “no Apple Search Ads record”; installs that came from other ads land there too. The token itself, the click date, the advertiser account, an advertising identifier and any device identifier are not sent. This runs only while product analytics is on (in Turkey, after you opt in) and only for an install made in the last seven days, so updating the app does not report an old install as new. It is used only to measure which Apple Search Ads campaign brought an install, not to target ads, track you across apps or build a profile.

A failure event (for example a failed paywall load, purchase, restore, Health write, or weight sync) also sends a closed diagnostic shape: which step failed, an allowlisted error domain, its integer code, and a closed error category (such as network, timeout, configuration or unknown), never an error message, product, receipt, customer identifier, or symptom/weight value.

Dosehue does not send medication names, dose amounts, dates, injection sites, notes, notification settings (other than your yes or no to the iOS notification prompt), exported reports, encrypted backups, Apple Health data, advertising identifiers, precise location, or screen recordings to PostHog. Analytics is not used for advertising or cross-app tracking.

Dosehue sends analytics to PostHog directly, without the PostHog iOS SDK, screen recordings, automatic screen or tap capture, or person profiles, so the install source is an event property, never a stored person property. It asks PostHog to skip geographic enrichment; PostHog's servers and network infrastructure still receive connection information such as IP addresses and request times.

You can turn sharing off without losing any feature. Dosehue then removes the local analytics identifier, cancels its pending analytics requests, clears unsent events and asks RevenueCat to clear its copy of the identifier. If you opt in again later, a new identifier is created. Turning sharing off cannot retract events PostHog has already received and does not automatically delete server records.

To request deletion of analytics associated with your current installation, contact merhaba@tasarim.io before deleting the app so we can explain the available identification steps. Deleting the app removes its local random identifier. PostHog processes analytics in its European Union cloud environment.

Advertising measurement (Meta)

Dosehue uses the Meta (Facebook) SDK for one purpose: measuring which Meta ads bring people to install the app. On every launch it automatically sends Meta standard events: app install/first open, app launch, and App Store purchase or subscription events for Dosehue Plus, along with device and app information (device model, OS version, app version, SDK data). Dosehue never sends Meta a custom event.

Meta's automatic app-events logging is on, so the events above are sent regardless of your tracking choice. After you log your first dose in the app (not during setup, and after the iOS notification prompt and any Dosehue Plus offer), Dosehue shows a short explanation screen once, and then iOS asks whether Dosehue can track you (the App Tracking Transparency prompt). If you tap "Allow", your advertising identifier (IDFA) is included with those events. If you choose "Ask App Not to Track", the same events are still sent, but without the IDFA, and Meta separately receives aggregated, privacy-preserving measurement (Aggregated Event Measurement / SKAdNetwork). Dosehue works identically either way, your choice never unlocks or hides any feature, and you can change it anytime in iOS Settings → Privacy & Security → Tracking. See Meta's data policy.

Dosehue never sends Meta your medication name, dose, injection sites, schedule, notes, encrypted backup, or any Apple Health data. Health information is never used for advertising and is never shared with Meta, under any circumstance.

Advertising measurement (Google Analytics for Firebase)

Dosehue also uses Google Analytics for Firebase to measure which Google ads bring people to install the app. It automatically collects Firebase's standard events: app install/first open, app sessions, app updates, and App Store purchase or subscription events for Dosehue Plus, plus device and app information. Dosehue does not report screen names to Google.

The same App Tracking Transparency choice above controls Google's ad-related signals: if you tap "Allow", ad-related consent (ad storage, ad user data, ad personalization) is granted; if you choose "Ask App Not to Track", those signals stay off and only basic analytics consent is granted. Firebase Installations (its own random installation identifier) and Firebase's automatic events work regardless of your tracking choice; only the IDFA and Google's ad-related consent signals depend on your ATT choice. Consistent with that, Dosehue's privacy manifest declares Firebase's app-measurement.com a tracking domain. See Google's data policy.

Dosehue never sends Google your medication name, dose, injection sites, schedule, notes, encrypted backup, or any Apple Health data. Health information is never used for advertising and is never shared with Google, under any circumstance.

Consent and transfers abroad (Turkey)

If your App Store storefront is Turkey (or, when StoreKit gives no storefront, your device region is Turkey), Dosehue starts nothing that measures you until you opt in: PostHog is not started, the Meta SDK is not initialized and Google Analytics collects nothing. On first launch, before you set up your plan, a “How your data is used” screen appears once (if you already had a plan when you updated, it appears when you open the app). It has two independent switches, product analytics (PostHog) and ad measurement (Meta and Google), both off, no pre-checked box, and one “Continue” button that saves whatever you set. You can continue with both off and Dosehue works the same. If you leave ad measurement off, the iOS tracking prompt is never shown; if you turn it on, the tracking explanation and prompt appear after you log your first dose in the app. Outside Turkey the behavior described in the sections above applies.

Your doses, medication, injection sites and Apple Health data never leave your phone. Only the following goes to these recipients, for these purposes and on this legal basis (KVKK is Turkey's personal data protection law):

Under switch 1, the one-time install source also calls Apple's attribution service (Apple Inc., api-adservices.apple.com) to resolve a token Apple itself issued. Nothing is sent to Apple for this before you switch product analytics on, and no health data or Dosehue identifier is part of that request.

Under switch 1, the analytics identifier is also given to RevenueCat (United States, see above) so that purchases can be linked to analytics. Nothing is sent to RevenueCat for this before you switch product analytics on, and no health data is part of it.

RevenueCat's purchase processing is not covered by the switches because the purchase itself is a contract; only the analytics identifier link described above follows switch 1.

Withdrawing consent: turn either switch off at any time in Settings → Privacy. That measurement stops immediately and the local random analytics identifier is deleted (for switch 1, Dosehue also asks RevenueCat to clear its copy). Withdrawal works going forward; data already sent cannot be recalled. You can turn a switch back on later, and you can change your tracking decision in iOS Settings → Privacy & Security → Tracking. The date you consented or withdrew stays on your device and is never sent anywhere. For your rights under KVKK article 11, write to merhaba@tasarim.io.

Support email

If you email merhaba@tasarim.io, we receive the sender name and email address provided by your email service, your message, and any attachments you choose to include. This is a voluntary submission, not an automatic transfer of your local medication records.

Email reaches the developer's mailbox through Cloudflare Email Routing. We use support correspondence to answer your request and follow up on the reported issue, not for advertising or a mailing list.

Avoid including sensitive health details unless needed. You can ask about or request deletion of your support correspondence by writing to the same address. We do not have access to your local Dosehue records and cannot delete them remotely.

These web pages

Dosehue's support and privacy pages open in your browser. The app does not attach your medication plan or dose history to these links.

These pages do not load analytics, advertising tags, tracking scripts, or the site's contact form. They do not set analytics or advertising cookies. Other pages on tasarim.io may use different website features, described in the website privacy policy.

The pages are hosted on Cloudflare Pages. Serving them involves normal web requests; Cloudflare may process IP addresses and browser information for delivery and infrastructure security. This is separate from the app's local health records.

The pages use the Instrument Sans typeface to match the site's typography. The font files are served from tasarim.io itself; the pages make no request to Google Fonts or any other third-party font service.

App purpose

Dosehue does not provide medical advice, diagnosis, treatment, or dose recommendations. It helps you record the plan supplied by your healthcare professional.

Changes and contact

If the app or these support services change how they handle information, this policy and its update date will be revised. Service providers may retain operational records for the periods needed to provide their services, meet legal obligations, prevent fraud, and resolve disputes.

For privacy or app-support questions, contact Giray Batıtürk at merhaba@tasarim.io. Help with app features is on the support page.