Privacy policy
Draft: highlighted items in square brackets await the founder's confirmation.
mlkyh (ملكية) is a personal portfolio tracker for investors in the Middle East. You type in what you own; the app values it with end-of-day market prices and shows totals, history and an optional zakat estimate. This policy explains, in plain language, what data the app and this website handle, why, who else is involved, and how you delete it.
The service is operated by AbdelRahman Atif, Cairo, Egypt ("we"). Questions: support@mlkyh.com.
1. What we collect
We collect only what the app needs to work:
- Account: your e-mail address and, if you sign in with Apple or Google, the identifier and e-mail those services give us (Apple's "Hide My Email" relay address counts as your e-mail). There are no passwords anywhere in the system: sign-in is by Apple, Google or a 6-digit code sent to your e-mail.
- Profile and settings: country, base currency, language, time zone, notification choices, and your zakat settings.
- Your holdings: the assets you enter — names, categories, quantities, dates, the prices you typed, bank-certificate or deposit terms, property values and notes — and the buy/sell/adjust events you record. This is financial information and it is the product itself; we store it so the app can value it.
- Subscription status: whether your free trial is running, when it ends, and whether you have an active subscription. We receive this from Apple through RevenueCat. We never see your card number or Apple ID password.
- Push token: if you turn on the weekly digest or zakat reminders, Apple's device token for notifications.
- Product analytics: anonymous usage events (for example "asset added", "paywall viewed") sent to PostHog's EU cloud with a random install identifier that is not your account id or e-mail. Events carry no names, no asset names, no notes and no amounts — only categories and size buckets such as "1–3 assets". Session recording is off.
- Crash reports: when the app crashes, Sentry receives a technical report (device model, iOS version, stack trace). It is configured not to send your e-mail or IP address.
- Support: what you write to us at support@mlkyh.com.
- This website: the pages you load. If analytics is enabled it uses PostHog EU without cookies and honours your browser's "Do Not Track" setting. The calculator runs in your browser and sends nothing.
2. What we do not collect
- No bank, broker or wallet connections — you enter holdings yourself; we never ask for account credentials.
- No precise location, contacts, photos or microphone.
- No advertising identifiers and no cross-app tracking; we do not sell or rent your data, ever.
- No card details: payment is handled by Apple.
3. Why we use it (legal bases)
- To provide the service you asked for (contract): storing your holdings, valuing them, showing history, sending the digest you opted into, running your trial and subscription.
- To keep the service secure and working (legitimate interest): sign-in codes and rate limits, crash reports, aggregate usage.
- With your consent where the law requires it: notifications, analytics where you can turn it off, marketing e-mail (we send none unless you ask).
- To meet legal obligations, such as tax and accounting records of subscriptions held by Apple.
4. Where your data lives and who processes it
We use a small number of service providers (processors). Each receives only what its job needs:
- Supabase — database and sign-in (account, settings, holdings, subscription status). Hosted in the European Union (Paris, France).
- Apple — Sign in with Apple, App Store billing, push notifications.
- Google — Sign in with Google (only if you choose it).
- RevenueCat — subscription entitlements and receipt validation (an app user id and purchase status, no card data).
- Cloudflare (Email Service) — sends the sign-in codes and the weekly digest e-mail to your address.
- PostHog (EU) — anonymous product analytics as described above.
- Sentry — crash reports.
- Cloudflare — delivers the daily market-price files to the app. Those files contain market prices only, never anything about you.
Price-data providers (section 5) receive no user data: the server fetches market prices once a day for a fixed list of instruments, not per user.
Some providers are outside your country. Where required we rely on their standard contractual safeguards. We do not transfer your holdings to any third party for its own purposes.
5. Market prices and attribution
Prices are end-of-day values fetched after each market closes, and three times a day for gold, silver and currencies. Every price in the app shows the date it refers to. Data is provided by:
- Marketstack (APILayer) — EGX and US equity closing prices.
- SAHMK — Saudi Exchange (Tadawul) closing prices.
- MetalpriceAPI — global gold and silver spot prices (per ounce).
- Open Exchange Rates (APILayer) — foreign-exchange rates.
- iSagha — local gold and silver gram prices in Egypt.
- Ta3weem — local gold gram prices in Egypt.
These companies own their data; we display it under their terms. Prices may be delayed, estimated or wrong; see the Terms of Use.
6. Retention and deletion
- Your holdings and settings are kept for as long as your account exists. If your trial or subscription lapses the app becomes read-only, and your data is kept — nothing is deleted because you stopped paying.
- You can delete your account inside the app (Settings → Delete account). Your account and all your data are removed from our systems within 30 days; you are signed out immediately. Encrypted backups are rotated within 7 days after that.
- Sign-in attempt records are deleted after 24 hours. Server logs are kept for up to 30 days.
- Anonymous analytics and crash reports are kept by PostHog and Sentry according to their retention settings (at most 12 months) and cannot be linked back to you.
- Apple keeps its own purchase records under its policies; RevenueCat retains billing records as required for accounting.
7. Your rights
Depending on where you live (including the EU/UK GDPR, Saudi PDPL and Egypt's data-protection law) you may have the right to access, correct, export, restrict or delete your data, and to object or withdraw consent. In the app you can:
- export everything as CSV (Settings → Export data);
- edit or delete any holding;
- turn the digest, reminders and push off (Settings → Notifications);
- delete your account entirely (Settings → Delete account).
For anything else, write to support@mlkyh.com and we answer within 30 days. You may also complain to your local data-protection authority.
8. Security
All traffic is encrypted in transit (TLS) and stored encrypted at rest. Access to your rows is enforced inside the database for every request, not just in the app. Secrets never ship in the app. On your device the cache is protected by iOS file protection and, if you enable it, Face ID / Touch ID lock. No system is perfectly secure; if we learn of a breach affecting you we will tell you without undue delay.
9. Children
mlkyh is not directed to children. You must be at least 18 (or the age of majority where you live) to create an account. We do not knowingly collect data from children; if you believe a child has an account, contact us and we will delete it.
10. Changes to this policy
When we change this policy we update the date above and, for material changes, tell you in the app before they take effect. Earlier versions are available on request.
11. Contact
AbdelRahman Atif, Cairo, Egypt — support@mlkyh.com.
Apple's standard end-user licence applies to the app: https://www.apple.com/legal/internet-services/itunes/dev/stdeula/