Privacy Policy for Masareef
Masareef is a spending tracker that can read your bank's payment notifications on your device, sort your money into wallets, budgets and insights, and find ATMs near you. This page explains exactly what it stores, what it sends, and to whom.
The short version
Masareef needs an account, so your transactions, wallets, budgets, categories and bills are synced to our own server and stored there. Everything auto-track reads from your notifications stays on your phone. No ads, no data selling, no third-party advertising, and analytics never receive a single amount, merchant or balance.
Auto-track stays local
Notification text is parsed on your device. Drafts live in a local inbox and are never uploaded, even while sync is running.
Location is optional
Requested only for Nearby ATMs and one-time country detection, only while the app is open, never in the background.
No SMS, no call logs
The Google Play build does not declare or hold the SMS permission and cannot read your messages or call history.
You can wipe it
Uninstalling clears everything stored on the device. Account deletion removes your synced rows from our database.
1. Who we are and what this covers
Masareef (com.mohamedgado.masareef) is built and operated by one person,
Mohamed Gado. This policy covers the Masareef Android app, any future iOS release, the
backend the app talks to (masareef-server.vercel.app), and this page itself.
The page sets no cookies and loads nothing from another host.
You can open this policy from inside the app at any time: Settings, then Privacy policy. The in-app How it works page describes the same behaviour in plain language.
One design rule drives everything below: the raw material stays local. Your bank's notification text, the drafts parsed from it, and the diagnostics about that parsing never leave your phone. What does leave is the finished record you kept, so your own devices can agree on it.
2. Your account
Masareef requires an account, so signing in is not optional. You can sign up with an email address and password, or sign in with Google. Authentication runs on our backend using better-auth.
Stored on our server for your account:
- Your display name and email address, and whether that email is verified.
- A one-way hash of your password (never the password itself). Google sign-in stores no password at all.
- Sessions: an opaque session token, creation and expiry times, and the user agent of the device that signed in.
- For Google sign-in: the account link Google gives us (a provider account id and the tokens needed to verify it), plus the email, name and profile picture URL from your Google profile. We never see your Google password.
- An optional profile photo, if you upload one (section 9).
Account emails (verify your address, reset your password) are sent through Resend, which processes your email address to deliver them. We do not run newsletters and do not send marketing email.
3. What stays on your device
The app keeps a local SQLite database, a key-value store (MMKV), an app-private files directory, and an encrypted keystore (Android Keystore, through expo-secure-store) for your session. The following lives in those and is never uploaded:
- Auto-track captures: the pending review inbox and the record of already-handled messages, including the message text a capture came from.
- Trusted senders you marked, and the auto-track diagnostics trace (a redacted, truncated snippet per money-shaped message, so you can see what the reader did).
- Every setting: theme, language, currency, country, default wallet, notification preferences, haptics, App Lock and its grace period, screen privacy, hidden balance cards, dismissed hints.
- Your last known coordinates, cached so the ATM screen need not ask again.
- Travel mode trips: trip name, country, currency and the rate you locked.
- Your profile photo's local copy, and the session cookie in the encrypted store.
- Everything derived: insights, subscription radar, duplicate-charge and refund detection, price-creep and personal-inflation numbers, net worth and cash-flow trends, safe-to-spend, no-spend streaks, Wrapped. All of it is computed on your device from your local data. None of it is computed on a server.
4. What syncs to our server
Because the app is account-based, the records you keep are synchronised so your phone, a replacement phone, and a reinstall all see the same data. Sync is automatic and offline first: it runs after sign-in, when the app comes to the foreground, and on a slow background heartbeat while the app is open. There is no manual "sync now" button, and conflicts resolve by last write wins.
| Record | What it contains |
|---|---|
| Transactions | Amount, currency, type (expense, income, transfer), date and time, note, merchant name, category, wallet, and the balance a bank message reported, when there was one |
| Wallets | Name, kind (cash, bank, card, wallet), currency, balance, archived flag |
| Categories | Name, icon, colour, type |
| Budgets | Category, period and the limit you set |
| Spend targets | The monthly "safe to spend" target you set, and its currency |
| Recurring items | Subscriptions and bills: name, amount, cadence, next due date, reminder setting |
| Planned items | Expected one-off income or expense, until you confirm or cancel it |
| Merchant rules | The merchant-to-category corrections you made, so categorisation learns from you |
So yes: amounts and merchant names are stored on our server. Being straight about that matters more than a nicer sentence. They are sent over TLS, scoped to your user id, and held in a PostgreSQL database (Neon) reached through our Vercel backend. They are never used for advertising, never sold, never shared with a data broker, and never forwarded to the analytics services in section 12.
Never synced, by design: auto-track captures and their message text, trusted senders, the diagnostics trace, all app settings, your coordinates, and Travel mode trips. Deleting a record in the app deletes it on the server too: the deletion propagates as a tombstone on the next sync pass rather than lingering as a hidden row.
5. Auto-track and notification access
Auto-track is the feature that saves you daily typing: it reads incoming payment notifications and turns them into transactions. It is enabled in Settings by default but completely inert until you grant Android's notification-access special permission yourself, in the system settings screen the app sends you to. Until then it reads nothing.
What it does once you grant access
- An allowlist decides what is even looked at. A notification is considered only when its sender or package matches a known bank, card issuer or payment wallet, and it is dropped when it matches a denylist (promotions, one-time codes, airtime top-ups). Notifications from chat apps, email, social apps and everything else are never parsed. There is no "any message with a number in it" fallback: that fallback existed once, leaked a non-bank message, and was removed.
- Parsing happens entirely on your device. Amount, currency, direction, merchant, card tail, timestamp and balance are extracted by code inside the app. The message text is never sent anywhere.
- The result is a draft in a local inbox. You review it and confirm, edit or discard it. If you turn on auto-accept, high-confidence captures post themselves and you get an optional confirmation notification. Senders you explicitly mark as trusted post without review until you revoke that trust in Settings.
- It survives the app being closed. A message that arrives while Masareef is killed is written to a durable on-device spool first, then parsed by a background task, so nothing is lost. The spool holds the message only until it has been handled.
- Diagnostics are redacted. Settings has a diagnostics screen listing what the reader did with each money-shaped message. Card numbers and similar identifiers are masked, snippets are truncated, and messages that are not money-shaped are not logged at all. It is a local log; it is never uploaded.
Turning Auto-track off in Settings stops all of it, and revoking notification access in Android settings stops it at the OS level. Neither affects the transactions you already kept.
SMS and call logs: the Google Play build of Masareef does not declare
RECEIVE_SMS, contains no SMS receiver, and cannot read your messages or call
history. Bank SMS is picked up only in the form Android shows it as a notification. A
separate sideload-only build behind a compile-time flag can read SMS directly; that build
is never published to Google Play.
6. Typing, pasting and sharing a message
Three manual paths exist, and all three parse on the device:
- Quick add: an optional persistent notification with a reply box, so you can log an expense by typing one line. What you type becomes a local transaction.
- Paste: you paste a bank message into the app and the same on-device parser proposes a transaction.
- Share into Masareef: you share a message's text from another app through Android's share sheet. Masareef receives that text, parses it locally, and proposes a draft. Nothing is uploaded by the act of sharing.
A transaction you then save syncs like any other record (section 4). The original message text does not.
7. Location
Location is optional and requested only while you are using the app. Two features ask for it:
- Nearby ATMs: your coordinates are used to look up cash machines around you.
- Region and currency: once during setup, or when you tap it in Settings, your coordinates are turned into a country and city name so the app can pick a sensible currency and bank list. Only the resulting country, city and currency are saved; if you picked a region by hand, GPS never overwrites it.
Coordinates go to two places: our ATM endpoint (section 8) and BigDataCloud for reverse geocoding into a place name. Your last coordinates are cached on your device so the ATM screen does not have to ask again. There is no background location, no location history, no movement profile, and no advertising use.
Deny the permission and the app still works: pick your country by hand in Settings, and search for ATMs at any pinned point on the map or by searching a city name (which is sent to Open-Meteo's geocoding search as the text you typed).
8. Nearby ATMs and the map
The map is rendered natively with MapLibre using vector tiles from OpenFreeMap. As with any map, the tile server sees the tiles your device requests and its IP address. No account, no key and no identifier is attached to those requests.
ATM pins are fetched like this:
- The app asks our own endpoint with a latitude, longitude and radius. That endpoint requires no sign-in and receives nothing that identifies you or your money.
- On a cache miss, the endpoint rounds the point into a coarse cell of roughly a kilometre and queries commercial and open map sources with keys that stay on the server: TomTom, Foursquare and Geoapify, with the public OpenStreetMap Overpass mirrors as a keyless last resort. Only that coarse cell is cached, shared by everyone who looks near the same place, so a repeat search hits our database and no upstream service at all.
- If our backend is unreachable, the app queries the public Overpass mirrors directly. In that fallback the mirror sees your coordinates and your IP address, because it is answering your device directly.
- Tapping Directions hands the ATM's coordinates to Google Maps or whichever maps app you choose. That is a normal deep link, and Google's policy applies from there.
Bank logos and pin artwork are bundled inside the app. No logo is fetched at runtime.
9. Profile photo
A profile photo is optional. Masareef uses Android's system photo picker, so the app never receives photo-library permission and never sees any image other than the one you pick. The chosen image is copied into the app's private directory so it survives.
When you are signed in, that image is uploaded to our backend and stored as a file on Vercel Blob, so the same avatar appears after a reinstall or on another device. The stored URL is not guessable but it is not access-controlled either: treat it as a photo published at an unlisted address, and do not use a picture you would not want at a public URL. Clear the photo in the app to stop using it, and email us to have the stored file deleted.
10. Notifications and reminders
Every notification Masareef shows is a local notification, scheduled and fired on your device: budget alerts, the weekly or monthly spending digest, bill reminders a few days before a recurring item is due, the weekly "count your cash" nudge, auto-track confirmations, and the quick-add reply box.
There is no push server. The app never registers a push token, and nothing about your spending is sent anywhere in order to produce a reminder. Push plumbing ships inside the notification library we depend on, and we send no messages through it.
11. Exchange rates and Travel mode
Travel mode records a trip and converts spending in a foreign currency back to your home currency. Trips are stored on your device only. To get a rate the app calls the public ExchangeRate-API endpoint with a currency code and nothing else. No amounts, no trip details and no identifiers are sent.
12. Analytics and crash reporting
To see which screens are actually used, whether sync and auto-track are working in the
field, and where the app crashes, Masareef sends usage events to
PostHog (EU region, eu.i.posthog.com) and performance data to
Expo EAS (Insights and Observe).
What is sent
-
Event names from a fixed list defined in the app's source, for example
screen_view,txn_added,sync_completed,autotrack_toggled,capture_reviewed,atm_search,theme_changed,app_lock_toggled. - Low-cardinality properties beside the event: counts, enums, booleans, a currency or country code, a reason code such as why a capture was held for review.
- Technical context: app version, platform and OS version, device model, launch and navigation timings, and whether an update was downloaded.
- Errors: uncaught JavaScript exceptions and unhandled promise rejections, with stack traces.
- An identifier: while you are signed in, events are attached to your account's random id so one person's events are not counted as many. That id is the internal UUID from our auth system, never your email address. The events are pseudonymous rather than anonymous, and we say so plainly.
What is never sent
- Any amount, balance, running total, merchant name or account number.
- Any notification, SMS or pasted message text, and any parsed draft.
- Your coordinates, your name, your email address, your contacts or your app list.
- No session replay, no screen recording, no keystroke capture, no console capture, no advertising identifier, and no third-party advertising or attribution SDK. The app contains none.
This version has no in-app switch to turn analytics off. If you want yours stopped or deleted, email the address in section 23 and it will be done.
13. Exports, backups and restore
You can export your data as a file and restore from one. An export is written to the app's own cache directory and handed to Android's share sheet, so the file goes only where you send it: your drive, a chat, your file manager. We never receive a copy, and after that the receiving app's privacy policy applies.
Restoring reads a file you pick with the system document picker and applies it on the device. An export is deliberately unencrypted so you can read and restore it, which also means it contains your financial detail in plain form. Keep it somewhere you trust.
14. App updates, rating and sharing
- Over-the-air updates: the app can fetch a JavaScript update from Expo's update service. The request carries the app version, the release channel, the runtime version and the platform. No personal or financial data is involved.
- Store updates: when a new version is on Google Play, the app can show Play's own in-app update prompt. That exchange is between your device and Google Play.
- Rating: the rate row opens Google Play's rating dialog. We never see what you type there beyond the public review anyone can read.
- Sharing the app: the share sheet sends a Play Store link, as plain text, to whoever you choose. Nothing about your data is attached.
15. Privacy features inside the app
- App Lock: optional fingerprint, face or device-PIN gate on opening the app, with a grace period you choose. The check is performed by Android; the app receives a yes or no and never any biometric data. If a device cannot satisfy the lock any more, the setting disables itself rather than locking you out.
- Screen privacy: on by default. It blocks screenshots and screen recording and blanks the app's preview in the recent-apps switcher, using Android's secure-window flag. Turn it off in Settings if you need to take a screenshot.
- Hide balances: mask every amount on the dashboard, or hide individual money cards.
- Session storage: your session lives in the encrypted keystore and is excluded from Android's cloud backup, so it cannot travel to another device inside a device backup.
16. Android permissions
| Permission | Asked? | Why |
|---|---|---|
| Location, coarse and fine | Asked | Nearby ATMs, and detecting your country once. Foreground only |
| Notifications | Asked | Budget alerts, bill reminders, digests, auto-track confirmations, quick add |
| Notification access (special access) | Asked in system settings | Auto-track reading payment notifications. Inert until you grant it |
| Biometrics and fingerprint | Used on demand | App Lock. No biometric data reaches the app |
| Detect screen capture (Android 14 and later) | Automatic | Comes with the screen-privacy module. Required by the OS for the secure-window feature |
| Internet, network state, Wi-Fi state | Automatic | Sync, maps, rates, analytics, and knowing when you are offline |
| Vibrate | Automatic | Haptic feedback, which you can switch off in Settings |
| Wake lock and foreground service | Automatic | Finishing a scheduled notification or a capture before the device sleeps |
| Run after restart | Automatic | Rescheduling your reminders after a reboot |
| Read storage (Android 12 and earlier) | Legacy | Old-Android file access inside libraries we depend on |
| Launcher badge permissions | Automatic | Drawing an unread count on the app icon on launchers that support it. Cosmetic only |
That is the complete list. Masareef does not request SMS, call logs, contacts, camera, microphone, photo or media library access, your installed-app list, background location, or the ability to draw over other apps. Permissions that arrived through libraries and were not actually used, including camera, microphone, media images and draw-over-apps, are stripped from the manifest at build time rather than shipped and left unexplained.
17. How we secure data
- All network traffic uses HTTPS with certificate validation. The release build permits no cleartext traffic.
- On the device, your database, settings and files live in app-private storage that Android isolates from other apps. Your session token sits in the OS keystore.
- On the server, passwords are stored only as one-way hashes by better-auth, every sync query is scoped to your own user id, and the API keys for the map and place services stay server side, never inside the app.
- The message text that auto-track reads is the most sensitive material the app touches, which is exactly why it never leaves the device and why the diagnostics log redacts it.
- A file you export yourself is unencrypted by design, so its safety is in your hands (section 13).
No absolute guarantee is honest for any service. What we can say is that the categories of data most likely to hurt you if leaked, message text and raw captures, are not in our database at all. If you find a vulnerability, email us before disclosing it publicly.
18. Retention and deletion
- On-device data is kept until you delete it, uninstall the app, or clear its storage in Android settings. Any of those removes it permanently, including the capture inbox and the diagnostics log.
- Synced records are kept while your account exists. Deleting a record in the app deletes it on the server on the next sync pass.
- Your account and everything synced under it are deleted on request, within 30 days. See the account deletion page.
- Analytics events are held by PostHog and Expo under their own retention windows, keyed to the random account id described in section 12, and deleted on request.
- The ATM cache on our server holds map data for coarse geographic cells. It contains no user id and nothing personal, so there is nothing in it to delete.
19. Your rights
If you are in the EU, the UK, or California, you have rights of access, correction, deletion, portability and objection. In practice:
- Ask us and you get a copy of the rows stored under your account, or their deletion.
- Most of what the app knows about you never reaches us at all, so you can inspect and delete it yourself, on the device.
- We do not sell your personal information, do not share it for advertising, and do not build advertising or credit profiles from it.
- Legal bases: performing the service you asked for (your account and sync), your consent (location, notification access, notifications, uploading a photo), and legitimate interests (keeping the app working, fixing crashes, preventing abuse), which is where the pseudonymous analytics in section 12 sit.
20. Children's privacy
Masareef is a personal finance app intended for adults. It is not directed at children under 13, and we do not knowingly collect their data. If you believe a child created an account, email us and it will be deleted.
21. Third-party services
These are every outside party involved, and the ones your device contacts directly are marked as such:
- Vercel hosts our backend and stores uploaded profile photos on Vercel Blob (device contacts it)
- Neon hosts the PostgreSQL database behind our backend (server side only)
- Resend delivers account emails (server side only)
- Google for optional Google sign-in, Google Play distribution and updates, and Maps directions when you tap them (device contacts it)
- PostHog for usage analytics and error tracking, EU region (device contacts it)
- Expo for over-the-air updates and performance metrics (device contacts it)
- OpenFreeMap for map tiles, built on OpenStreetMap data (device contacts it)
- Overpass API mirrors for ATM data as a keyless fallback (device contacts them only when our backend is unreachable)
- TomTom, Foursquare and Geoapify for ATM and place data (server side only, queried with a coarse location cell)
- BigDataCloud turns coordinates into a country and city name (device contacts it, only with your permission)
- Open-Meteo for city search by name (device contacts it, sends the text you typed)
- ExchangeRate-API for currency rates (device contacts it, sends a currency code)
There is no advertising network, no attribution SDK and no data broker in this list, and none in the app.
22. Changes to this policy
We update this page whenever a feature or a data flow changes. The date at the top reflects the current version, the full history is public in this page's GitHub repository, and material changes are called out in the app's release notes.
23. Contact
For any privacy question, a copy of your data, or a deletion request: boogado@yahoo.com
Deleting your account: how to request deletion
Developer: Mohamed Gado · App: Masareef (com.mohamedgado.masareef)
سياسة الخصوصية لتطبيق مصاريف
مصاريف تطبيق لتتبّع المصروفات، يقرأ إشعارات المدفوعات من بنكك على جهازك، ويرتّب أموالك في محافظ وميزانيات وتحليلات، ويجد ماكينات الصرف القريبة منك. هذه الصفحة توضّح بدقة ما يخزّنه التطبيق، وما يرسله، وإلى مَن.
باختصار
مصاريف يتطلّب حسابًا، لذلك تُزامَن معاملاتك ومحافظك وميزانياتك وفئاتك وفواتيرك مع خادمنا وتُخزَّن عليه. أما كل ما يقرأه التتبّع التلقائي من إشعاراتك فيبقى على هاتفك. لا إعلانات، ولا بيع بيانات، ولا أي شبكة إعلانية، وقياسات الاستخدام لا تستلم أي مبلغ أو اسم تاجر أو رصيد.
التتبّع التلقائي محلي
نص الإشعار يُحلَّل على جهازك، والمسوّدات تبقى في صندوق مراجعة محلي ولا تُرفع أبدًا، حتى أثناء المزامنة.
الموقع اختياري
يُطلب فقط لماكينات الصرف القريبة وتحديد دولتك مرة واحدة، وفقط أثناء استخدام التطبيق، وأبدًا في الخلفية.
لا رسائل ولا سجل مكالمات
نسخة جوجل بلاي لا تُعلن إذن الرسائل ولا تملكه، ولا يمكنها قراءة رسائلك أو سجل مكالماتك.
يمكنك محو كل شيء
حذف التطبيق يمحو كل ما خُزِّن على الجهاز، وحذف الحساب يمسح صفوفك المزامَنة من قاعدة بياناتنا.
١. من نحن ونطاق السياسة
مصاريف (com.mohamedgado.masareef) يطوّره ويشغّله فرد واحد: محمد جادو. تغطي هذه
السياسة تطبيق مصاريف على أندرويد، وأي إصدار مستقبلي على iOS، والخادم الذي يتصل به التطبيق
(masareef-server.vercel.app)، وتغطي كذلك هذه الصفحة نفسها. الصفحة لا تضع كوكيز
ولا تحمّل أي ملف من خادم آخر.
يمكنك فتح هذه السياسة من داخل التطبيق في أي وقت: الإعدادات ← سياسة الخصوصية. وصفحة كيف يعمل التطبيق بالداخل تشرح نفس السلوك بلغة مبسّطة.
قاعدة واحدة تحكم كل ما يأتي بعدها: المادة الخام تبقى محليًا. نص إشعار بنكك، والمسوّدات المستخرَجة منه، وسجل تشخيص هذا التحليل، لا تغادر هاتفك. الذي يغادر هو السجل النهائي الذي احتفظتَ به أنت، حتى تتفق عليه أجهزتك.
٢. حسابك
مصاريف يتطلّب حسابًا، فتسجيل الدخول ليس اختياريًا. يمكنك التسجيل ببريد إلكتروني وكلمة مرور، أو الدخول بحساب جوجل. المصادقة تعمل على خادمنا عبر better-auth.
ما يُخزَّن على خادمنا لحسابك:
- اسم العرض وبريدك الإلكتروني، وما إذا كان البريد مُوثَّقًا.
- بصمة أحادية الاتجاه (hash) لكلمة المرور، وليس كلمة المرور نفسها. والدخول بجوجل لا يخزّن كلمة مرور من الأصل.
- الجلسات: رمز جلسة غير مقروء، ووقت الإنشاء والانتهاء، ومعرّف عميل الجهاز الذي سجّل الدخول.
- في حالة الدخول بجوجل: رابط الحساب الذي تمنحه جوجل (معرّف الحساب لدى المزوّد والرموز اللازمة للتحقق)، مع البريد والاسم ورابط صورة الملف الشخصي من حسابك في جوجل. نحن لا نرى كلمة مرور جوجل إطلاقًا.
- صورة ملف شخصي اختيارية إن رفعتَها (القسم ٩).
رسائل الحساب (توثيق البريد، إعادة تعيين كلمة المرور) تُرسل عبر Resend، وهي تعالج بريدك الإلكتروني لتوصيلها. لا نرسل قوائم بريدية ولا رسائل تسويقية.
٣. ما يبقى على جهازك
يحفظ التطبيق قاعدة بيانات SQLite محلية، ومخزن مفاتيح وقيم (MMKV)، ومجلد ملفات خاصًا بالتطبيق، ومخزنًا مشفّرًا (Android Keystore عبر expo-secure-store) لجلستك. ما يلي يوجد في هذه المخازن ولا يُرفع أبدًا:
- عناصر التتبّع التلقائي: صندوق المراجعة المعلّق وسجل الرسائل التي جرى التعامل معها، بما في ذلك نص الرسالة التي جاء منها العنصر.
- المرسِلون الموثوقون الذين اخترتهم، وسجل تشخيص التتبّع التلقائي (مقتطف مُنقّح ومقتصر لكل رسالة ذات شكل مالي، لتعرف ما فعله القارئ).
- كل الإعدادات: السمة، اللغة، العملة، الدولة، المحفظة الافتراضية، تفضيلات الإشعارات، الاهتزاز، قفل التطبيق ومدة السماح، خصوصية الشاشة، البطاقات المخفية، التلميحات المستبعدة.
- آخر إحداثيات معروفة، محفوظة كي لا تسأل شاشة ماكينات الصرف مرة أخرى.
- رحلات وضع السفر: اسم الرحلة والدولة والعملة وسعر الصرف الذي ثبّتَه.
- النسخة المحلية من صورتك الشخصية، وكوكي الجلسة في المخزن المشفّر.
- كل ما هو مُستخرَج بالحساب: التحليلات، ورادار الاشتراكات، وكشف الخصم المزدوج والمبالغ المرتجعة، وأرقام زحف الأسعار والتضخّم الشخصي، واتجاه الثروة والتدفّق النقدي، وحد الإنفاق الآمن، وسلاسل الأيام بلا إنفاق، والملخّص السنوي. كل ذلك يُحسب على جهازك من بياناتك المحلية، ولا يُحسب على أي خادم.
٤. ما يُزامَن مع خادمنا
لأن التطبيق قائم على حساب، تُزامَن السجلات التي تحتفظ بها كي يرى هاتفك، وهاتفك البديل، وإعادة التثبيت، البيانات نفسها. المزامنة تلقائية وتعمل بمنطق «الجهاز أولًا»: تجري بعد تسجيل الدخول، وعند عودة التطبيق للمقدمة، وعلى نبضة خلفية بطيئة أثناء فتح التطبيق. لا يوجد زر «زامِن الآن»، والتعارضات تُحسم بمبدأ «آخر كتابة تفوز».
| السجل | ما يحتويه |
|---|---|
| المعاملات | المبلغ والعملة والنوع (مصروف، دخل، تحويل) والتاريخ والوقت والملاحظة واسم التاجر والفئة والمحفظة، والرصيد الذي ذكرته رسالة البنك إن وُجد |
| المحافظ | الاسم والنوع (نقدي، بنك، بطاقة، محفظة) والعملة والرصيد وحالة الأرشفة |
| الفئات | الاسم والأيقونة واللون والنوع |
| الميزانيات | الفئة والمدة والحد الذي ضبطتَه |
| حدود الإنفاق | هدف «الإنفاق الآمن» الشهري الذي ضبطتَه وعملته |
| العناصر المتكرّرة | الاشتراكات والفواتير: الاسم والمبلغ والدورية وتاريخ الاستحقاق القادم والتنبيه |
| العناصر المتوقّعة | دخل أو مصروف لمرة واحدة متوقّع، حتى تؤكّده أو تلغيه |
| قواعد التجّار | تصحيحاتك لربط تاجر بفئة، حتى يتعلّم التصنيف منك |
إذن نعم: المبالغ وأسماء التجّار تُخزَّن على خادمنا. الصراحة في هذه الجزئية أهم من جملة ألطف. تُرسل عبر TLS، ومحصورة بمعرّف المستخدم الخاص بك، ومحفوظة في قاعدة بيانات PostgreSQL (Neon) يجري الوصول إليها عبر خادمنا على Vercel. لا تُستخدم للإعلانات، ولا تُباع، ولا تُشارَك مع أي وسيط بيانات، ولا تُمرَّر إلى خدمات القياس في القسم ١٢.
ما لا يُزامَن أبدًا بحكم التصميم: عناصر التتبّع التلقائي ونصوص رسائلها، والمرسِلون الموثوقون، وسجل التشخيص، وكل إعدادات التطبيق، وإحداثياتك، ورحلات وضع السفر. وحذف سجل داخل التطبيق يحذفه على الخادم أيضًا: ينتقل الحذف كعلامة قبر في أول دورة مزامنة، ولا يبقى صفًّا مخفيًا.
٥. التتبّع التلقائي والوصول للإشعارات
التتبّع التلقائي هو الميزة التي توفّر عليك الإدخال اليومي: يقرأ إشعارات المدفوعات الواردة ويحوّلها إلى معاملات. وهو مفعّل في الإعدادات افتراضيًا، لكنه خامل تمامًا حتى تمنح بنفسك إذن الوصول للإشعارات من شاشة إعدادات النظام التي يوجّهك التطبيق إليها. قبل ذلك لا يقرأ شيئًا.
ماذا يفعل بعد منح الإذن
- قائمة سماح تحدّد ما يُنظر إليه أصلًا. لا يُفحص الإشعار إلا إذا طابق مُرسِله أو حزمته بنكًا معروفًا أو مُصدِر بطاقة أو محفظة دفع، ويُستبعد إذا طابق قائمة منع (العروض الترويجية، رموز التحقق، شحن الرصيد). إشعارات تطبيقات المحادثة والبريد والتطبيقات الاجتماعية وكل ما عداها لا تُحلَّل أبدًا. ولا يوجد بديل من نوع «أي رسالة فيها رقم»: هذا البديل كان موجودًا مرة، وسرّب رسالة غير بنكية، فأُزيل.
- التحليل يجري بالكامل على جهازك. المبلغ والعملة والاتجاه واسم التاجر وآخر أرقام البطاقة والوقت والرصيد تُستخرج بكود داخل التطبيق. نص الرسالة لا يُرسل إلى أي مكان.
- الناتج مسوّدة في صندوق محلي. تراجعها فتؤكّدها أو تعدّلها أو تحذفها. وإن فعّلتَ القبول التلقائي، تُسجَّل العناصر عالية الثقة وحدها مع إشعار تأكيد اختياري. والمرسِلون الذين تعلّمهم كموثوقين يسجّلون بلا مراجعة حتى تسحب هذه الثقة من الإعدادات.
- يعمل حتى لو أُغلق التطبيق. الرسالة التي تصل ومصاريف مُغلَق تُكتب أولًا في مخزن دائم على الجهاز، ثم تحلّلها مهمة خلفية، فلا يُفقد شيء. ويحتفظ المخزن بالرسالة فقط حتى يتم التعامل معها.
- التشخيص مُنقّح. في الإعدادات شاشة تشخيص تسرد ما فعله القارئ بكل رسالة ذات شكل مالي. أرقام البطاقات والمعرّفات المشابهة مُقنّعة، والمقتطفات مقتصرة، والرسائل غير المالية لا تُسجَّل من الأصل. وهو سجل محلي لا يُرفع أبدًا.
إيقاف التتبّع التلقائي من الإعدادات يوقف كل ذلك، وسحب إذن الإشعارات من إعدادات أندرويد يوقفه على مستوى النظام. وأيٌّ منهما لا يمسّ المعاملات التي احتفظتَ بها.
الرسائل النصية وسجل المكالمات: نسخة جوجل بلاي من مصاريف لا تُعلن إذن
RECEIVE_SMS، ولا تحتوي أي مستقبِل رسائل، ولا تستطيع قراءة رسائلك أو سجل
مكالماتك. رسائل البنك تُلتقط فقط بالشكل الذي يعرضه أندرويد كإشعار. وتوجد نسخة تُثبَّت
يدويًا خلف مفتاح في وقت البناء تستطيع قراءة الرسائل مباشرة، وهذه النسخة لا تُنشر على جوجل
بلاي أبدًا.
٦. الكتابة واللصق والمشاركة
توجد ثلاثة مسارات يدوية، وكلها تُحلَّل على الجهاز:
- الإضافة السريعة: إشعار ثابت اختياري فيه مربع رد، لتسجيل مصروف بسطر واحد. وما تكتبه يصبح معاملة محلية.
- اللصق: تلصق رسالة بنكية في التطبيق، فيقترح المحلّل نفسه على الجهاز معاملة.
- المشاركة إلى مصاريف: تشارك نص رسالة من تطبيق آخر عبر قائمة المشاركة في أندرويد. يستلم مصاريف النص ويحلّله محليًا ويقترح مسوّدة. ولا يُرفع أي شيء بمجرد المشاركة.
المعاملة التي تحفظها بعد ذلك تُزامَن مثل أي سجل آخر (القسم ٤). أما نص الرسالة الأصلي فلا.
٧. الموقع
إذن الموقع اختياري ويُطلب فقط أثناء استخدامك للتطبيق، وميزتان تطلبانه:
- ماكينات الصرف القريبة: تُستخدم إحداثياتك للبحث عن ماكينات حولك.
- المنطقة والعملة: مرة واحدة في التهيئة، أو عند طلبك من الإعدادات، تُحوَّل إحداثياتك إلى اسم دولة ومدينة ليختار التطبيق عملة وقائمة بنوك مناسبة. ولا يُحفظ سوى الدولة والمدينة والعملة الناتجة، وإن اخترت المنطقة يدويًا فلن يستبدلها الـ GPS.
تذهب الإحداثيات إلى جهتين: نقطة نهاية ماكينات الصرف الخاصة بنا (القسم ٨)، و BigDataCloud لتحويلها إلى اسم مكان. وتُحفظ آخر إحداثيات على جهازك كي لا تسأل شاشة الماكينات مرة أخرى. لا يوجد تتبّع موقع في الخلفية، ولا سجل مواقع، ولا ملف تحرّكات، ولا أي استخدام إعلاني.
وإن رفضت الإذن يعمل التطبيق كاملًا: اختر دولتك يدويًا من الإعدادات، وابحث عن الماكينات عند أي نقطة تثبّتها على الخريطة، أو بالبحث باسم مدينة (يُرسل النص الذي كتبته إلى خدمة البحث الجغرافي في Open-Meteo).
٨. ماكينات الصرف والخريطة
تُرسم الخريطة أصليًا عبر MapLibre ببلاطات متجهية من OpenFreeMap. وكما في أي خريطة، يرى خادم البلاطات ما يطلبه جهازك وعنوان الـ IP الخاص به. ولا يُرفق بهذه الطلبات أي حساب أو مفتاح أو معرّف.
وتُجلب نقاط الماكينات هكذا:
- يسأل التطبيق نقطة النهاية الخاصة بنا بخط عرض وخط طول ونطاق. وهذه النقطة لا تتطلّب تسجيل دخول، ولا تستلم ما يعرّفك أو يعرّف أموالك.
- وعند عدم وجود نسخة مخزّنة، تُقرِّب النقطة إلى خلية خشنة بحدود كيلومتر، ثم تسأل مصادر خرائط تجارية ومفتوحة بمفاتيح تبقى على الخادم: TomTom وFoursquare وGeoapify، وتُستخدم مرايا Overpass العامة (OpenStreetMap) كملاذ أخير بلا مفاتيح. ولا يُخزَّن سوى تلك الخلية الخشنة، مشتركة بين كل من يبحث قرب المكان نفسه، فيُخدَم البحث المتكرّر من قاعدة بياناتنا دون أي طلب خارجي.
- وإن كان خادمنا غير متاح، يسأل التطبيق مرايا Overpass العامة مباشرة. في هذا البديل ترى المرآة إحداثياتك وعنوان الـ IP، لأنها تجيب جهازك مباشرة.
- وعند الضغط على الاتجاهات تُسلَّم إحداثيات الماكينة إلى خرائط جوجل أو أي تطبيق خرائط تختاره. وهذا رابط عادي، وتنطبق سياسة جوجل من تلك اللحظة.
شعارات البنوك وصور النقاط مُضمَّنة داخل التطبيق، ولا يُجلب أي شعار من الشبكة.
٩. صورة الملف الشخصي
صورة الملف الشخصي اختيارية. يستخدم مصاريف منتقي الصور في نظام أندرويد، فلا يحصل التطبيق على إذن مكتبة الصور ولا يرى أي صورة غير التي اخترتها. وتُنسخ الصورة المختارة إلى مجلد التطبيق الخاص لتبقى.
وأثناء تسجيل دخولك، تُرفع الصورة إلى خادمنا وتُخزَّن كملف على Vercel Blob، لتظهر الصورة نفسها بعد إعادة التثبيت أو على جهاز آخر. الرابط المخزَّن لا يمكن تخمينه، لكنه غير محمي بصلاحية أيضًا: اعتبرها صورة منشورة على عنوان غير معلن، ولا تستخدم صورة تكره وجودها على رابط عام. امسح الصورة من التطبيق للتوقّف عن استخدامها، وراسلنا لحذف الملف المخزَّن.
١٠. الإشعارات والتنبيهات
كل إشعار يعرضه مصاريف هو إشعار محلي يُجدَّل ويُطلق على جهازك: تنبيهات الميزانية، والملخّص الأسبوعي أو الشهري، وتنبيه الفاتورة قبل استحقاقها بأيام، وتذكير «اعدد النقد» الأسبوعي، وتأكيدات التتبّع التلقائي، ومربع الإضافة السريعة.
لا يوجد خادم إشعارات دفع. التطبيق لا يسجّل رمز دفع (push token) أبدًا، ولا يُرسل أي شيء عن إنفاقك إلى أي مكان من أجل إنتاج تنبيه. وبنية الدفع تأتي داخل مكتبة الإشعارات التي نعتمد عليها، ونحن لا نرسل أي رسالة عبرها.
١١. أسعار الصرف ووضع السفر
يسجّل وضع السفر رحلة ويحوّل الإنفاق بعملة أجنبية إلى عملتك الأساسية. والرحلات محفوظة على جهازك فقط. ولجلب السعر يستدعي التطبيق نقطة ExchangeRate-API العامة برمز عملة ولا شيء غيره. لا مبالغ، ولا تفاصيل رحلة، ولا معرّفات.
١٢. قياسات الاستخدام وتقارير الأعطال
لمعرفة الشاشات المستخدمة فعلًا، وهل تعمل المزامنة والتتبّع التلقائي على أجهزة الناس، وأين
يتعطّل التطبيق، يرسل مصاريف أحداث استخدام إلى PostHog (منطقة الاتحاد
الأوروبي، eu.i.posthog.com) وبيانات أداء إلى Expo EAS
(Insights وObserve).
ما يُرسل
-
أسماء أحداث من قائمة ثابتة معرّفة في كود التطبيق، مثل
screen_viewوtxn_addedوsync_completedوautotrack_toggledوcapture_reviewedوatm_searchوtheme_changedوapp_lock_toggled. - خصائص منخفضة التنوّع مع الحدث: أعداد، وقيم محدّدة مسبقًا، وقيم منطقية، ورمز عملة أو دولة، وسبب مثل لماذا احتُجز عنصر للمراجعة.
- سياق تقني: إصدار التطبيق والمنصّة وإصدار النظام وطراز الجهاز وأزمنة الإقلاع والتنقّل، وهل نُزّل تحديث.
- الأخطاء: استثناءات JavaScript غير المعالَجة ورفض الوعود، مع أثر التنفيذ.
- معرّف: أثناء تسجيل دخولك تُربط الأحداث بالمعرّف العشوائي لحسابك كي لا يُحسب شخص واحد كعدة أشخاص. وهذا المعرّف هو الـ UUID الداخلي من نظام المصادقة، وليس بريدك الإلكتروني أبدًا. أي أن الأحداث مستعارة الهوية لا مجهولة تمامًا، ونقول ذلك بصراحة.
ما لا يُرسل أبدًا
- أي مبلغ أو رصيد أو مجموع أو اسم تاجر أو رقم حساب.
- أي نص إشعار أو رسالة نصية أو نص ملصوق، وأي مسوّدة مستخرَجة.
- إحداثياتك أو اسمك أو بريدك أو جهات اتصالك أو قائمة تطبيقاتك.
- لا تسجيل للجلسة، ولا تسجيل للشاشة، ولا التقاط لما تكتبه، ولا التقاط لسجل الأخطاء النصي، ولا معرّف إعلاني، ولا أي حزمة إعلانات أو إحالة. التطبيق لا يحتوي أيًّا منها.
لا يوجد في هذا الإصدار مفتاح داخلي لإيقاف القياسات. إن رغبت في إيقافها أو حذف بياناتك، راسلنا على البريد في القسم ٢٣ وسننفّذ ذلك.
١٣. التصدير والنسخ الاحتياطي والاستعادة
يمكنك تصدير بياناتك في ملف والاستعادة من ملف. يُكتب الملف في مجلد التخزين المؤقت الخاص بالتطبيق ثم يُسلَّم لقائمة المشاركة في أندرويد، فيذهب حيث ترسله أنت فقط: سحابتك، أو محادثة، أو مدير الملفات. نحن لا نستلم نسخة، وبعد ذلك تحكمه سياسة التطبيق الذي اخترته.
والاستعادة تقرأ ملفًا تختاره بمنتقي المستندات وتطبّقه على الجهاز. والتصدير غير مشفّر بشكل مقصود لتبقى قراءته واستعادته ممكنة، وهذا يعني أنه يحتوي تفاصيلك المالية بشكل صريح. احفظه في مكان تثق به.
١٤. التحديثات والتقييم والمشاركة
- التحديثات الفورية: يمكن للتطبيق جلب تحديث JavaScript من خدمة تحديثات Expo. ويحمل الطلب إصدار التطبيق وقناة الإصدار وإصدار وقت التشغيل والمنصّة. ولا تدخل فيه أي بيانات شخصية أو مالية.
- تحديثات المتجر: عند وجود إصدار جديد على جوجل بلاي يمكن للتطبيق عرض نافذة التحديث الخاصة ببلاي. وهذا تبادل بين جهازك وجوجل بلاي.
- التقييم: يفتح صف التقييم نافذة التقييم الخاصة بجوجل بلاي. ولا نرى ما تكتبه هناك إلا التقييم العام الذي يراه الجميع.
- مشاركة التطبيق: ترسل قائمة المشاركة رابط المتجر كنص عادي لمن تختاره، ولا يُرفق أي شيء من بياناتك.
١٥. ميزات الخصوصية داخل التطبيق
- قفل التطبيق: بوابة اختيارية ببصمة الإصبع أو الوجه أو رمز الجهاز عند فتح التطبيق، مع مدة سماح تختارها. أندرويد هو من يتحقق، والتطبيق يستلم موافقة أو رفضًا ولا يرى أي بيانات حيوية. وإن لم يعد الجهاز قادرًا على تلبية القفل، يُعطّل الإعداد نفسه بدلًا من حجزك خارج تطبيقك.
- خصوصية الشاشة: مفعّلة افتراضيًا. تمنع لقطات الشاشة وتسجيلها، وتُفرّغ معاينة التطبيق في قائمة التطبيقات الأخيرة، عبر علامة النافذة الآمنة في أندرويد. أوقفها من الإعدادات إن احتجت لقطة شاشة.
- إخفاء الأرصدة: تقنيع كل المبالغ في الشاشة الرئيسية، أو إخفاء بطاقات مالية بعينها.
- تخزين الجلسة: جلستك في المخزن المشفّر، ومستثناة من النسخ الاحتياطي السحابي لأندرويد، فلا تنتقل إلى جهاز آخر داخل نسخة احتياطية للجهاز.
١٦. أذونات أندرويد
| الإذن | يُطلب منك؟ | السبب |
|---|---|---|
| الموقع، التقريبي والدقيق | يُطلب منك | ماكينات الصرف القريبة، وتحديد دولتك مرة واحدة. أثناء الاستخدام فقط |
| الإشعارات | يُطلب منك | تنبيهات الميزانية وتذكير الفواتير والملخّصات وتأكيدات التتبّع التلقائي والإضافة السريعة |
| الوصول للإشعارات (وصول خاص) | يُطلب من إعدادات النظام | قراءة التتبّع التلقائي لإشعارات المدفوعات. خامل حتى تمنحه |
| البصمة والمقاييس الحيوية | يُستخدم عند الطلب | قفل التطبيق. ولا تصل أي بيانات حيوية إلى التطبيق |
| كشف تصوير الشاشة (أندرويد ١٤ وأحدث) | تلقائي | يأتي مع وحدة خصوصية الشاشة، ويطلبه النظام لميزة النافذة الآمنة |
| الإنترنت وحالة الشبكة والواي فاي | تلقائي | المزامنة والخرائط والأسعار والقياسات، ومعرفة أنك دون اتصال |
| الاهتزاز | تلقائي | الاستجابة اللمسية، ويمكنك إيقافها من الإعدادات |
| إبقاء المعالج مستيقظًا وخدمة في المقدمة | تلقائي | إتمام إشعار مجدول أو معالجة رسالة قبل أن ينام الجهاز |
| التشغيل بعد إعادة التشغيل | تلقائي | إعادة جدولة تنبيهاتك بعد إعادة تشغيل الجهاز |
| قراءة التخزين (أندرويد ١٢ فأقل) | قديم | وصول الملفات في الإصدارات القديمة داخل مكتبات نعتمد عليها |
| أذونات شارة المشغّل | تلقائي | رسم عدد غير المقروء على أيقونة التطبيق في المشغّلات التي تدعمه. شكلي فقط |
هذه هي القائمة الكاملة. لا يطلب مصاريف الرسائل النصية ولا سجل المكالمات ولا جهات الاتصال ولا الكاميرا ولا الميكروفون ولا مكتبة الصور ولا قائمة تطبيقاتك المثبّتة ولا الموقع في الخلفية ولا الرسم فوق التطبيقات الأخرى. والأذونات التي دخلت مع المكتبات ولم تُستخدم فعليًا، ومنها الكاميرا والميكروفون وصور الوسائط والرسم فوق التطبيقات، تُزال من ملف البيان وقت البناء بدلًا من شحنها بلا تفسير.
١٧. تأمين البيانات
- كل حركة الشبكة تجري عبر HTTPS مع التحقق من الشهادات، ونسخة الإنتاج لا تسمح بأي اتصال غير مشفّر.
- على الجهاز، قاعدة بياناتك وإعداداتك وملفاتك في تخزين خاص بالتطبيق يعزله أندرويد عن بقية التطبيقات، ورمز جلستك في مخزن مفاتيح النظام.
- على الخادم، تُحفظ كلمات المرور كبصمات أحادية الاتجاه فقط عبر better-auth، وكل استعلام مزامنة محصور بمعرّف المستخدم الخاص بك، ومفاتيح خدمات الخرائط والأماكن تبقى على الخادم ولا توجد داخل التطبيق أبدًا.
- نص الرسائل الذي يقرأه التتبّع التلقائي هو أخطر مادة يلمسها التطبيق، ولهذا بالتحديد لا يغادر الجهاز، ولهذا يُنقّحه سجل التشخيص.
- والملف الذي تصدّره أنت غير مشفّر بحكم التصميم، فسلامته في يديك (القسم ١٣).
لا يصحّ لأي خدمة أن تقدّم ضمانًا مطلقًا. ما يمكننا قوله إن أخطر أنواع البيانات عليك لو تسرّبت، أي نصوص الرسائل والمسوّدات الخام، غير موجودة في قاعدة بياناتنا من الأصل. وإن وجدت ثغرة أمنية، راسلنا قبل نشرها.
١٨. الاحتفاظ بالبيانات وحذفها
- بيانات الجهاز تبقى حتى تحذفها، أو تحذف التطبيق، أو تمسح بياناته من إعدادات أندرويد. وأيٌّ من ذلك يمحوها نهائيًا، بما فيها صندوق المراجعة وسجل التشخيص.
- السجلات المزامَنة تبقى ما دام حسابك موجودًا. وحذف سجل في التطبيق يحذفه على الخادم في أول دورة مزامنة.
- حسابك وكل ما زُومن تحته يُحذف بناءً على طلبك خلال ٣٠ يومًا. راجع صفحة حذف الحساب.
- أحداث القياس تحتفظ بها PostHog وExpo وفق سياساتهما، مرتبطة بالمعرّف العشوائي المذكور في القسم ١٢، وتُحذف بناءً على طلبك.
- مخزن ماكينات الصرف على خادمنا يحتوي بيانات خرائط لخلايا جغرافية خشنة، ولا يحتوي أي معرّف مستخدم ولا أي بيانات شخصية، فلا يوجد فيه ما يُحذف.
١٩. حقوقك
إن كنت في الاتحاد الأوروبي أو المملكة المتحدة أو كاليفورنيا، فلك حقوق الوصول والتصحيح والحذف والنقل والاعتراض. عمليًا:
- راسلنا فتحصل على نسخة من الصفوف المخزّنة تحت حسابك، أو على حذفها.
- ومعظم ما يعرفه التطبيق عنك لا يصلنا من الأصل، فيمكنك مراجعته وحذفه بنفسك على الجهاز.
- لا نبيع بياناتك الشخصية، ولا نشاركها لأغراض إعلانية، ولا نبني منها ملفات إعلانية أو ائتمانية.
- الأسس القانونية: تنفيذ الخدمة التي طلبتها (حسابك والمزامنة)، وموافقتك (الموقع، والوصول للإشعارات، والإشعارات، ورفع صورة)، والمصلحة المشروعة (إبقاء التطبيق عاملًا، وإصلاح الأعطال، ومنع الإساءة)، وهنا تقع قياسات القسم ١٢ مستعارة الهوية.
٢٠. خصوصية الأطفال
مصاريف تطبيق مالي شخصي موجّه للبالغين، وهو غير مخصص للأطفال دون ١٣ عامًا، ولا نجمع بياناتهم عن قصد. وإن اعتقدت أن طفلًا أنشأ حسابًا، راسلنا ليُحذف.
٢١. خدمات الغير
هذه كل الأطراف الخارجية، ومكتوب أمام ما يتصل به جهازك مباشرة:
- Vercel تستضيف خادمنا وتخزّن صور الملف الشخصي المرفوعة على Vercel Blob (جهازك يتصل بها)
- Neon تستضيف قاعدة بيانات PostgreSQL خلف خادمنا (على الخادم فقط)
- Resend توصّل رسائل الحساب (على الخادم فقط)
- Google للدخول الاختياري بجوجل، والتوزيع والتحديث عبر جوجل بلاي، والاتجاهات في الخرائط عند طلبك (جهازك يتصل بها)
- PostHog لقياسات الاستخدام وتتبّع الأخطاء، منطقة الاتحاد الأوروبي (جهازك يتصل بها)
- Expo للتحديثات الفورية ومقاييس الأداء (جهازك يتصل بها)
- OpenFreeMap لبلاطات الخريطة، وهي مبنية على بيانات OpenStreetMap (جهازك يتصل بها)
- مرايا Overpass API لبيانات الماكينات كبديل بلا مفاتيح (جهازك يتصل بها فقط عند تعذّر خادمنا)
- TomTom و Foursquare و Geoapify لبيانات الماكينات والأماكن (على الخادم فقط، وتُسأل بخلية موقع خشنة)
- BigDataCloud تحوّل الإحداثيات إلى اسم دولة ومدينة (جهازك يتصل بها، وبإذنك فقط)
- Open-Meteo للبحث عن مدينة بالاسم (جهازك يتصل بها ويرسل النص الذي كتبته)
- ExchangeRate-API لأسعار العملات (جهازك يتصل بها ويرسل رمز عملة)
لا توجد في هذه القائمة أي شبكة إعلانات، ولا حزمة إحالة، ولا وسيط بيانات، ولا شيء منها داخل التطبيق.
٢٢. تعديلات السياسة
نحدّث هذه الصفحة كلما تغيّرت ميزة أو مسار بيانات. التاريخ في الأعلى يعبّر عن النسخة الحالية، والسجل الكامل للتغييرات علني في مستودع هذه الصفحة على GitHub، والتغييرات الجوهرية تُذكر في ملاحظات إصدار التطبيق.
٢٣. التواصل
لأي سؤال عن الخصوصية، أو للحصول على نسخة من بياناتك، أو لطلب حذفها: boogado@yahoo.com
حذف حسابك: طريقة تقديم الطلب
المطوّر: محمد جادو · التطبيق: مصاريف (com.mohamedgado.masareef)