Privacy Policy
This policy explains what the Doseline iPhone app and its chat assistant, Doseline AI, do with your information. “Doseline”, “we” and “us” mean the developer of Doseline.
The short version
- No account. We never ask for your name, email or phone number.
- Your prescriptions, reminders and dose history are stored on your iPhone, not on our servers.
- Doseline AI runs in the cloud. When you use it, your message and the Doseline data it needs to answer are sent through our server to an AI model provider. Our server doesn’t store or log what you send.
- Prescription photos are read on your iPhone. The photo is never uploaded; only its text is sent, after names, addresses, phone and ID numbers are automatically removed.
- No ads, no tracking. Anonymous crash reports and app usage statistics help us fix bugs; they never include your medicines, and you can turn them off in Settings. Your health information is never sold or used for advertising.
1. What is stored on your iPhone
Doseline keeps your data in one file in the app’s private storage on your iPhone:
- the prescriptions you save: their name or title, the doctor’s name if you keep it, start date, course length, and each medicine’s name, strength, form, amount and schedule;
- the people whose medicines you look after, by the names you give them (such as “Mom”), and which prescriptions are theirs;
- your dose history: doses taken or skipped, and when-needed doses, with times;
- your meal times and reminder settings;
- the name you’d like to be greeted by, if you enter one, and your avatar colour;
- the kinds of medicines you picked during setup;
- whether you agreed to Doseline AI, and how many Doseline AI messages and photos you’ve used this month.
The file is encrypted by iOS Data Protection and can be read once your iPhone has been unlocked after a restart, so you can tap “Taken” on a Lock Screen reminder. We don’t have a copy. If you back up your iPhone to iCloud or a computer, the file is included in that backup, which Apple and your backup settings control.
Reminders are local notifications scheduled by iOS on your iPhone. There is no push server. Reminders show medicine names, so anyone who can see your Lock Screen may see them; you can hide previews in iOS Settings → Notifications.
Camera and photos. Doseline uses the camera or your photo library only when you choose to send a prescription or label. Its text is read on your iPhone with Apple’s Vision framework. The photo itself is never uploaded and isn’t saved by Doseline; it is shown in the chat only while the chat is open.
Exports. The CSV history and the PDF report for your doctor are made on your iPhone and only go where you send them from the share sheet.
2. Doseline AI
Doseline AI is the chat that reads prescriptions, answers questions about your medicines and schedule, and suggests reminders. It runs on remote servers, not on your iPhone.
Your consent
Before you can use Doseline AI, the app explains what it processes and asks you to agree, during setup or on the first chat screen. Nothing is sent to Doseline AI until you send a message or a photo in the chat. When you open the chat, the summary of today’s doses is worked out on your iPhone without contacting our server.
What is sent
Each time you send a message, and for the assistant’s follow-up steps while it answers, the app sends:
- The conversation in this chat so far: what you type, the assistant’s replies, and short notes the app adds, such as the greeting it showed you (which includes your name if you set one) or “logged as taken”. What you type is sent as you write it.
- Text from a photo, after the app removes lines that look like a patient name, address, phone, ID or insurance number, date of birth, age, sex, weight, diagnosis, doctor, signature or date, and masks email addresses, long numbers and dates. This removal is automatic and can miss something.
- The Doseline data the assistant asks for, read on your iPhone: the current date and time; your meal times and reminder settings; whether you use Free or Plus; the names of the people you look after; your prescriptions (name or title, whose they are, status, start date, course progress, the doctor’s name if saved, and each medicine’s name, strength, amount, schedule and reminder times); today’s doses, whose they are, and whether each was taken, skipped or missed; and, when your question needs it, your history for up to the last 90 days (share of doses taken, missed doses with day, time and medicine, skipped doses and each day’s result).
- Your device’s language and region setting, such as “vi-VN”.
- Technical identifiers described in section 3.
Doseline AI can’t change your data. It shows suggestions as cards, nothing changes until you tap to apply or save, and the change is made on your iPhone. When you close the chat, the conversation is not kept.
Where it goes
Your iPhone sends the request over HTTPS to the Doseline API, which runs on Cloudflare Workers. The API passes the conversation to OpenRouter, which sends it to an AI model provider. Today we use a model from OpenAI, with models from Anthropic and Google as fallbacks; OpenRouter may run them through those companies or through cloud companies that host their models. OpenRouter and the model provider receive the content of the request, but not your IP address, install ID or RevenueCat ID, because the request comes from our server.
What is kept
- Our server doesn’t store or log the content of your messages, photo text or Doseline data. It passes the request to the model and drops it once the answer is returned. For each request our code logs only the endpoint, response status, time taken, the number of medicines found when reading a prescription, and the model’s token counts and cost. Cloudflare may add standard request details, such as the time and IP address, to the same short-lived logs.
- OpenRouter: we ask OpenRouter to use only providers that don’t collect your data, for example to train models. OpenRouter doesn’t store the content of prompts and replies for our account because prompt logging is off; it keeps request metadata, such as time, model and token counts, for billing.
- Model providers: zero-data-retention routing is not switched on today, so a provider may keep a request for a limited time (often up to 30 days) to monitor for abuse, under its own terms. We will update this policy if that changes.
3. Identifiers and usage limits
- Install ID. A random ID the app creates the first time you use Doseline AI and keeps in the app’s settings. It is sent with each Doseline AI request. It is not your Apple Account, advertising identifier (IDFA) or vendor identifier. We use it to limit request rates and count monthly use. It is deleted with the app; reinstalling creates a new one.
- RevenueCat ID. An anonymous ID created by RevenueCat, our subscription service. It is sent with Doseline AI requests so our server can ask RevenueCat whether it has Plus. Our server caches the answer for up to 10 minutes.
- Monthly counter. On Cloudflare we keep one small record per install ID: the month, and how many messages, photo messages and assistant follow-up steps were used. It has no content and starts again from zero each month. It is not deleted automatically today. It isn’t linked to your name, and once you delete the app nothing links it to your iPhone.
- Rate limit. Cloudflare counts requests per install ID per minute to stop abuse.
- App key. Every copy of the app sends the same key so our server can tell requests come from Doseline. It doesn’t identify you.
4. Purchases
Apple processes payments for Doseline Plus. We never receive your card details, Apple Account email or name. We use RevenueCat to manage purchases and check Plus. RevenueCat receives App Store purchase information (product, purchase and renewal dates, trial and renewal status, transaction IDs, storefront country and currency), the anonymous RevenueCat ID, and basic device and app information from its SDK, such as iOS and app version.
Apple Ads attribution. The app lets RevenueCat collect an attribution token from Apple’s AdServices framework. If you installed Doseline after tapping an Apple Ads ad, Apple tells RevenueCat which campaign, ad group and keyword it was, and we use this to see which ads work. It doesn’t use the advertising identifier (IDFA), doesn’t need tracking permission, and we don’t use it to track you across other companies’ apps or websites.
If you start a free trial, the app schedules a local reminder for the day before it ends.
5. Crash reports and usage statistics
The app uses Firebase Crashlytics and Google Analytics for Firebase, both from Google, to find crashes and see which steps of the app people complete.
- Crash reports: what the app was doing when it crashed (the code location, iOS and app version, device model, free memory and disk space).
- Usage statistics: which screens are opened and anonymous events about the steps people take: each setup screen and whether notifications, camera and photos are allowed; starting to add medicines, whether reading a photo or text worked and how many medicines it found, how many details were edited before saving; logging a dose (taken, skipped or as needed) from the app, a notification or a widget, and putting a reminder off; opening Doseline AI, sending it a message and applying or dismissing a suggested change; seeing the Plus offer, choosing a plan and whether a purchase or restore went through; exporting history and changing a setting. Events say only that a step happened, how, and small counts, never which medicine, dose, diagnosis, person or anything you typed or photographed.
- Both use a random Firebase installation ID, plus device model, iOS version, app version, language and approximate country (from the IP address, which Google doesn’t store). The advertising identifier (IDFA) is not read, ad personalization is off, and the data is not linked to you or used for tracking.
- Turn it off in Settings → Share Usage Statistics. Nothing is sent from that moment.
6. This website
On doseline.dinoboy.co we use Google Analytics for Firebase (Google) to count visits and see which parts of the site help people.
- What it records: the pages viewed and their language, which App Store button, menu link or language was clicked, which question in the FAQ was opened, which sections were seen and how far the page was scrolled, plus browser, device type, approximate country (from the IP address, which Google doesn’t store) and the site that sent you. The site never asks for health information.
- Cookies: first-party Google Analytics cookies (
_ga,_ga_…) that keep a random ID for up to 13 months, and your choice in this browser’s local storage. - In the EEA, the UK and Switzerland nothing is stored until you choose Accept in the banner. Elsewhere it is on by default. Anywhere, you can change your choice with Cookie settings at the bottom of the home page (in any language), or block it in your browser.
- Google signals and ad personalization are off, the site shows no ads, and website statistics are not combined with the app’s.
7. What we don’t do
- We don’t have accounts and don’t collect your name, email address or phone number.
- The app has no advertising SDKs, doesn’t read the advertising identifier and doesn’t ask for tracking permission. Its only analytics are the anonymous crash reports and usage statistics in section 5. If you turned on “Share With App Developers” in iOS, Apple may also share crash reports and diagnostics with us.
- We don’t sell or rent your personal information, and don’t share it for advertising.
- We never use your health information for advertising or marketing, and we don’t train AI models on it.
- Doseline doesn’t use Apple Health, your contacts or your location.
8. Service providers
- Apple
- App Store and payments, on-device text recognition, notifications, iCloud Backup if you use it, Apple Ads attribution.
- Cloudflare, Inc.
- Hosts the Doseline API; rate limits, monthly counters and short-lived request logs. Global network.
- OpenRouter, Inc.
- Routes Doseline AI requests to model providers. United States.
- AI model providers
- Generate Doseline AI replies: today OpenAI, Anthropic and Google, and cloud companies that host their models.
- RevenueCat, Inc.
- Manages purchases and Plus status; Apple Ads attribution. United States.
- Google LLC
- Firebase Crashlytics and Google Analytics for Firebase: crash reports and anonymous usage statistics in the app (section 5) and visit statistics on this website (section 6). United States.
Each provider processes data under its own terms and privacy policy, only to provide its service to us.
9. How long we keep it
- Data on your iPhone
- Until you delete it in the app or delete the app (and any backups that include it).
- Chat conversations
- On your iPhone only while the chat is open. Not stored on our server or by OpenRouter. Model providers may keep them for a limited time (section 2).
- Server request logs
- Metadata only, no content. Up to 7 days, under Cloudflare’s log retention.
- Monthly counter
- Counts only, reset each month. Not deleted automatically today.
- Plus status cache
- Up to 10 minutes.
- Purchase records
- Kept by Apple and RevenueCat for as long as needed to provide your purchases and meet tax and accounting rules.
- Crash reports and usage statistics
- Crash reports 90 days; usage statistics 2 months (the shortest Google Analytics allows).
- Website statistics
- 2 months in Google Analytics; the cookies in your browser up to 13 months, or until you clear them.
10. Why we process it
- Your consent: to process your medicines, schedule, history and photo text with Doseline AI. You can stop at any time by not using the chat.
- Providing the app and Plus you asked for.
- Legitimate interests: keeping the service secure and running, fixing crashes, understanding which parts of the app work, preventing abuse, and measuring which ads work. You can turn crash reports and usage statistics off at any time.
- Your consent for website statistics in the EEA, the UK and Switzerland; elsewhere, our legitimate interest in knowing which parts of the site help.
- Legal obligations, such as tax records for purchases.
Health information is sensitive. We process it only with your consent and only for the purposes in this policy.
11. International transfers
Our providers process data in the United States and other countries, and Cloudflare runs a global network. When you use Doseline AI, your request is processed outside your country, protected by our providers’ terms.
12. Your choices and rights
- Use Doseline without AI. Reminders, logging, history and export work on your iPhone without Doseline AI. Nothing is sent unless you send a message or photo in the chat.
- See and correct your data in the app at any time. Export your history as CSV from Settings.
- Delete. Deleting a prescription also deletes its history. Settings → Delete All Data removes all prescriptions, history and people you look after; your meal times, settings and name stay until you change them or delete the app. Deleting the app removes everything Doseline stored on your iPhone, including the install ID.
- Crash reports and usage statistics. Turn them off in Settings → Share Usage Statistics.
- Website statistics. Use Cookie settings at the bottom of the doseline.dinoboy.co home page.
- On our server there is no content to delete, and the monthly counter can’t be linked to you.
- Purchases. To have your RevenueCat record deleted, email us your Apple order ID from your purchase receipt.
Depending on where you live, you may have the right to access, correct, delete or move your data, to restrict or object to processing, to withdraw consent, and to complain to your data protection authority. Email privacy@dinoboy.co and we will reply within 30 days. Because we have no account, we may ask for details such as an Apple order ID to find your records.
13. Security
Requests to Doseline AI are encrypted in transit (HTTPS). Data on your iPhone is protected by iOS Data Protection. Our server holds no conversation content, and requests are rate-limited. No system is perfectly secure, so keep your iPhone protected with a passcode.
14. Children
Doseline is meant for adults managing their own medicines or a family member’s. It is not directed to children under 13, and people under 16 should use it only with a parent’s or guardian’s permission. We don’t knowingly collect information from children. If you believe a child has used Doseline AI without permission, contact us.
15. Changes
If we change this policy, we will update it here with a new effective date. For significant changes, such as a new kind of data sent from your iPhone, we will tell you in the app before the change applies.
16. Contact
Questions or requests: privacy@dinoboy.co.