Qisma
Privacy Policy
Last updated November 2026
Qisma helps groups of friends, roommates, and colleagues track shared expenses and settle balances fairly. We believe financial tools should respect personal privacy: you can use Qisma in Guest Mode without creating an account, or sign in to enable optional cloud synchronization for collaborating across devices.
Developer and Application Identity
- Application Name: Qisma (قِسمة)
- Developer & Publisher: HSM Software (independent software project)
- Technical Application ID (Android):
com.hsmsoftware.splitly - Technical Bundle Identifier (iOS):
com.hsmsoftware.splitly - Privacy & Support Contact: hussein.mohamed.software@gmail.com
Qisma is published by HSM Software as an independent developer project. For any questions, data access requests, or privacy inquiries regarding the application, you can reach the developer directly at the contact address listed above.
Operating Modes and Data Processing
2.1 Guest Mode (Unauthenticated)
Qisma is engineered so that its core ledger and expense-settlement features work without registering an account or providing an email address:
- Local Financial Ledger Storage: The application generates client-side UUIDv7 identifiers for local groups, members, expenses, itemized bill items, and settlements. These records are stored locally in an SQLite database (
splitly.sqlite) inside the operating system's private application sandbox on your physical device. In Guest Mode, your financial ledger records, expense amounts, split shares, settlements, group names, and member names are not uploaded or synchronized as part of the application's financial synchronization flow. - Technical Network & Platform SDK Activity: While your financial ledger records remain local, the application incorporates native platform SDKs (Google Firebase Core, Firebase Installations, Firebase App Check, and Firebase Crashlytics) that initialize at startup in staging and production builds. Depending on platform configuration and operating system behavior, these SDKs may generate technical network requests for anti-abuse verification (such as App Check device integrity attestation tokens via Google Play Integrity on Android or Apple App Attest on iOS) and app stability monitoring (such as Firebase Installation identifiers and sanitized crash telemetry if an unhandled crash occurs). Guest Mode keeps your financial data local, but it does not represent an offline-only or zero-network-traffic environment.
2.2 Authenticated Mode (Signed-In with Cloud Synchronization)
If you choose to create an account or sign in to synchronize shared groups across devices:
- Authentication Credentials: Firebase Authentication handles your email address and password (for email/password accounts) or Google OAuth tokens (for Google Sign-In). Passwords and OAuth tokens are handled exclusively by provider SDKs and in-memory workflows; they are never stored in the application's local SQLite database.
- Explicit Cloud Synchronization: Cloud synchronization occurs when you explicitly initiate synchronization for shared groups. When triggered:
- Group metadata, member display names, accepted expense descriptions, monetary amounts (represented strictly as integer minor units to eliminate floating-point rounding errors), split allocations, and settlement records are transmitted over TLS (TLS 1.2/1.3) to Google Cloud Firestore and Cloud Functions.
- Itemized Bill Line Items Exception: Detailed bill line items, individual item names, quantities, and per-item assignments remain local on your device. Only the resulting net split totals and expense summaries are synchronized to the shared cloud group.
- Foreground Synchronization: Cloud synchronization executes upon user interaction in the foreground. Qisma does not employ background sync workers or periodic background polling services.
Receipt Scanning and Optical Character Recognition (OCR)
When you use the receipt scanner to extract line items from paper receipts:
- On-Device Machine Learning: Receipt OCR executes locally on your physical device. Receipt images and extracted text are not uploaded to remote cloud servers or remote storage for text extraction.
- Platform Recognition Capabilities:
- Android: Uses Google ML Kit's bundled on-device Latin text recognition model. This model does not provide general Arabic-script OCR support; receipts with Arabic text require manual verification and entry in the review screen.
- iOS: Uses Apple's Vision framework (
VNRecognizeTextRequest) where supported by the underlying iOS version. Recognition capabilities depend on the operating system's installed language support.
- Image Lifecycle & Temporary File Cleanup:
- Photographs captured with the camera or selected from the photo picker are scaled and cached in the operating system's temporary directory cache solely to perform text detection.
- Temporary intermediate scaled image files are deleted from application cache upon completion, cancellation, or failure of the scanning process.
- Original photos stored in your device's photo gallery (such as
/DCIM/,/Pictures/, or Apple Photos) are not modified or deleted by the application.
Diagnostics, Telemetry, and Third-Party Processors
- Advertising: Qisma contains no advertising SDKs. Advertising ID permissions (
AD_ID,ACCESS_ADSERVICES_*) are explicitly excluded from the Android manifest. - Analytics: No behavioral analytics SDKs (such as Google Analytics for Firebase, Mixpanel, or AppsFlyer) are integrated.
- Crash Reporting (Firebase Crashlytics):
- Active in staging and production builds; disabled in development builds.
- Collects technical telemetry including stack traces, device model, operating system version, free storage/memory, and pseudonymous Firebase Installation identifiers.
- Qisma does not associate your personal user account identity (such as user email or user ID) with crash reports (the application does not invoke
setUserIdentifier). - Application error messages are sanitized: error payloads report runtime exception types and a restricted allow-list of technical parameters.
- Diagnostic records and crash reports are managed by Google Firebase according to standard platform operational retention and logging configurations rather than a guaranteed custom fixed period.
| Processor | Purpose | Data Transmitted |
|---|---|---|
| Google Firebase Authentication | User identity, session management, and authentication | Email address, password hash (provider-managed), OAuth tokens |
| Google Cloud Firestore | Cloud synchronization of shared group ledgers | Group metadata, accepted expenses, net splits, settlements |
| Cloud Functions for Firebase | Backend group promotion, sync validation, and account deletion | Sync batches, deletion triggers, ownership transfers |
| Firebase App Check / Play Integrity / Apple App Attest | Device attestation and anti-abuse verification | Device integrity signals, attestation tokens |
| Google Firebase Crashlytics | Application stability monitoring and crash triage | Sanitized stack traces, device model, OS version, technical installation ID |
| Google Identity Services | Optional federated Google Sign-In | OAuth credentials, profile display name, email address |
Storage Security and Platform Backup Controls
- Local Sandbox: Financial records reside in
splitly.sqlitein the operating system's application support directory. - Android Backup Controls:
- Declares
android:allowBackup="false". - Configures
android:dataExtractionRulesto exclude application data from cloud backups and device-to-device transfers on Android 12+ (API 31+). - Configures
android:fullBackupContentto exclude application data on Android 11 and earlier.
- Declares
- iOS Data Protection & Backup Exclusion: During application launch, the application enforces:
FileProtectionType.completeUntilFirstUserAuthenticationon the application support directory and database files.URLResourceValues.isExcludedFromBackup = trueon the directory and database files, preventing inclusion in iTunes or iCloud backups.
- Device Security Boundary: SQLite database files rely on the host device's operating system sandbox and hardware-backed storage encryption. Devices with compromised operating systems (such as rooted Android or jailbroken iOS devices) bypass standard platform protections.
Account Deletion and Data Retention
Signed-in users can permanently delete their account at any time via Settings > Account > Delete account. Deletion requires recent re-authentication with your original sign-in method (Email/Password or Google Sign-In).
6.1 Immediate Deletion Effects:
- The user identity record is permanently erased from Firebase Authentication servers.
- Cloud access permissions to shared groups are revoked.
- Local account identity records in SQLite are marked as deleted, and the user session returns to unauthenticated Guest Mode.
6.2 Retained Information and Accounting Integrity:
- Shared Financial History: Accepted historical expenses, split shares, settlements, and member display names in shared groups remain preserved in Cloud Firestore and in the local databases of surviving group members.
Accounting Integrity Rationale: In shared group ledgers, participant balances, running debts, and settlement obligations depend directly on the collective transaction history. Unilaterally erasing past transactions upon one member's account deletion would distort running balances and deprive surviving group members of their verifiable financial ledger and settlement records. - Local Device Data: Deleting your cloud account removes your credentials and signs you out. Because Qisma uses an offline-first architecture, local copies of records on your physical device remain stored in local application storage until you clear application data in device settings or uninstall the app.
- Security Tombstones & Operational Logs: Administrative tombstone records (retaining technical IDs without personal names or emails) may be maintained server-side to prevent identity resurrection, replay attacks, or synchronization hijacking. Retention of administrative records, service logs, and disaster-recovery backups depends on Google Cloud and Firebase operational configurations and security requirements rather than a guaranteed custom fixed period.
6.3 Sole-Owner Guard:
A user who is the sole owner of an active shared group cannot delete their account until group ownership is transferred to another active member or the group is settled and deleted.
User Rights and Data Inquiries
Users may inquire about their personal data, request account deletion, or ask privacy-related questions by emailing hussein.mohamed.software@gmail.com.
- In-App Self-Service: Signed-in users can immediately and permanently delete their account from inside the application under
Settings > Account > Delete accountwithout manual review. - Support Inquiries: If you are unable to access the application or have questions regarding personal data associated with your account, contact customer support. To protect user accounts against unauthorized access or fraudulent deletion, inquiries submitted via email require ownership verification confirming that the requester controls the registered email address before account actions are performed.
Contact Us
If you have questions or requests regarding this Privacy Policy, please contact:
Qisma can be used in Guest Mode without creating an account. Until you create an account, sections describing account credentials and cloud synchronization do not apply to you.
قِسمة
سياسة الخصوصية
آخر تحديث نوفمبر ٢٠٢٦
يساعد تطبيق «قِسمة» مجموعات الأصدقاء وزملاء السكن وفرق العمل على تتبّع المصروفات المشتركة وتسوية الأرصدة بإنصاف. ونحن نؤمن بأن الأدوات المالية يجب أن تحترم الخصوصية الشخصية: يمكنك استخدام «قِسمة» في وضع الضيف دون إنشاء حساب، أو اختيار تسجيل الدخول لتفعيل المزامنة السحابية الاختيارية للتعاون عبر أجهزة متعددة.
هوية المطور والتطبيق
- اسم التطبيق: قِسمة (Qisma)
- المطور والناشر: HSM Software (مشروع برمجي مستقل)
- المعرّف التقني للتطبيق (Android):
com.hsmsoftware.splitly - المعرّف التقني للحزمة (iOS):
com.hsmsoftware.splitly - جهة الاتصال للخصوصية والدعم: hussein.mohamed.software@gmail.com
يُنشر تطبيق «قِسمة» بواسطة HSM Software كمشروع تطوير مستقل. لأي استفسارات أو طلبات وصول للبيانات أو أسئلة تتعلق بالخصوصية، يمكنك التواصل مباشرة مع المطور عبر البريد الإلكتروني الموضح أعلاه.
أوضاع التشغيل ومعالجة البيانات
٢.١ وضع الضيف (دون تسجيل دخول)
صُمم تطبيق «قِسمة» ليعمل بكامل وظائف إدارة الدفاتر والتسويات المالية محليًا دون الحاجة لإنشاء حساب أو تقديم عنوان بريد إلكتروني:
- التخزين المحلي للدفاتر المالية: يُنشئ التطبيق محليًا معرّفات من نوع UUIDv7 للمجموعات والأعضاء والمصروفات وبنود الفواتير المفصلة والتسويات. وتُخزن هذه السجلات حصريًا في قاعدة بيانات SQLite محلية (
splitly.sqlite) داخل بيئة التطبيق المعزولة (Sandbox) على جهاز المستخدم. وفي وضع الضيف، لا يتم رفع أو مزامنة أي سجلات مالية أو مبالغ أو حصص أو تسويات أو أسماء مجموعات أو أعضاء ضمن مسار المزامنة المالية للتطبيق. - نشاط الشبكة وحزم المنصة البرمجية: بينما تظل الدفاتر المالية محلية بالكامل على الجهاز، يحتوي التطبيق على حزم منصة التشغيل الأساسية (Google Firebase Core و Firebase Installations و Firebase App Check و Firebase Crashlytics) التي تبدأ تلقائيًا عند بدء التشغيل في نسختي التجربة والإنتاج. وتبعًا لإعدادات المنصة وسلوك نظام التشغيل، قد تُرسل هذه الحزم طلبات شبكة تقنية للتحقق من سلامة بيئة التشغيل ومكافحة التلاعب (مثل رموز أمان App Check عبر Google Play Integrity على Android أو Apple App Attest على iOS) ومتابعة استقرار التطبيق (مثل معرّف التثبيت وبيانات تشخيص الانهيارات المنقاة في حال حدوث خطأ غير معالج). وضع الضيف يحفظ بياناتك المالية محليًا، ولكنه لا يمثل انعدامًا كليًا لاتصال الشبكة.
٢.٢ الوضع الموثق (تسجيل الدخول مع المزامنة السحابية)
إذا اخترت إنشاء حساب أو تسجيل الدخول لمزامنة المجموعات المشتركة عبر أجهزتك:
- بيانات الاعتماد: يعالج Firebase Authentication عنوان البريد الإلكتروني وكلمة المرور (للحسابات المسجلة بالبريد)، أو رموز مصادقة Google Sign-In. وتُعالج هذه الرموز حصريًا عبر حزم المزود وفي الذاكرة المؤقتة، ولا تُحفظ إطلاقًا في قاعدة بيانات التطبيق المحلية.
- المزامنة السحابية الصريحة: تبدأ المزامنة السحابية عندما تختار مزامنة المجموعات يدويًا وصراحة. وعند تفعيل ذلك:
- تُنقل بيانات المجموعة وأسماء الأعضاء المعروضة وتفاصيل المصروفات المعتمدة والمبالغ المالية (المحسوبة حصريًا بالوحدات الصغرى الصحيحة لمنع أخطاء التقريب الحسابي) وحصص التقسيم والتسويات عبر اتصال مشفر (TLS 1.2/1.3) إلى Google Cloud Firestore و Cloud Functions.
- استثناء بنود الفواتير المفصلة: تبقى التفاصيل الدقيقة لبنود الفواتير والكميات والأسعار الفردية وتخصيص البنود محلية بالكامل على جهازك؛ ولا يُزامن إلى المجموعة المشتركة في السحابة سوى صافي الحصص ومجاميع المصروفات النهائية.
- المزامنة في الواجهة الأمامية: تعمل المزامنة السحابية استجابةً لتفاعل المستخدم في الواجهة الأمامية، ولا يعتمد التطبيق على مهام مزامنة خلفية أو خدمات فحص دوري في الخلفية.
مسح الفواتير والتعرف الضوئي على الحروف (OCR)
عند استخدام ماسح الفواتير لاستخراج البنود من الإيصالات الورقية:
- المعالجة المدمجة على الجهاز: تتم معالجة قراءة الفواتير بالكامل محليًا على جهازك الفعلي. ولا تُرفع صور الفواتير أو النصوص المستخرجة إلى خوادم سحابية أو وسائط تخزين خارجية لإجراء المعالجة.
- قدرات التعرف حسب منصة التشغيل:
- نظام Android: يستخدم نموذج التعرف على النصوص اللاتينية المدمج على الجهاز من Google ML Kit. ولا يوفر هذا النموذج دعمًا عامًا لقراءة النصوص العربية، مما يتطلب مراجعة الفواتير ذات النصوص العربية وإدخال بنودها يدويًا في شاشة المراجعة.
- نظام iOS: يستخدم إطار عمل Apple Vision (
VNRecognizeTextRequest) في الإصدارات المدعومة من النظام، وتعتمد دقة التعرف واللغات المتاحة على قدرات نظام التشغيل المثبت على جهازك.
- دورة حياة الصور وتنظيف الملفات المؤقتة:
- تُحفظ الصور الملتقطة بالكاميرا أو المختارة من المعرض مؤقتًا بعد تحجيمها في مجلد الذاكرة المؤقتة لنظام التشغيل بغرض إجراء المعالجة وقراءة النصوص فقط.
- تُحذف ملفات الصور المؤقتة فور انتهاء المعالجة أو إلغائها أو فشلها من الذاكرة المؤقتة للتطبيق.
- لا يتم المساس بالصور الأصلية للمستخدم الموجودة في معرض الصور بالهاتف (مثل
/DCIM/أو/Pictures/أو صور آبل)، ولا يتم تعديلها أو حذفها نهائيًا.
التشخيص والبيانات التقنية وخدمات الأطراف الثالثة
- الإعلانات: لا يحتوي تطبيق «قِسمة» على أي حزم برمجية إعلانية، وقد حُذفت أذونات المعرف الإعلاني (
AD_IDوACCESS_ADSERVICES_*) صراحة من ملف إعدادات Android. - التحليلات: لا توجد أي حزم تحليلات سلوكية للمستخدم (مثل Google Analytics أو Mixpanel أو AppsFlyer).
- تقارير الأعطال (Firebase Crashlytics):
- تعمل في نسختي التجربة والإنتاج لمتابعة استقرار التطبيق، ومعطلة في نسخة التطوير.
- تجمع بيانات تقنية تشمل سجل استدعاءات الانهيار، وطراز الجهاز، وإصدار النظام، ومساحة الذاكرة المتاحة، ومعرّف تثبيت عشوائي لدى Firebase.
- لا يربط التطبيق هوية حساب المستخدم الشخصية (مثل البريد الإلكتروني أو معرّف الحساب) بتقارير الانهيار (لا يتم استدعاء
setUserIdentifier). - تُنقى رسائل الأخطاء بحيث لا يُرسل سوى نوع الاستثناء البرمجي ضمن قائمة محددة من المعايير التقنية.
- تخضع مدد الاحتفاظ بتقارير التشخيص وسجلات الأعطال لإعدادات وسياسات منصة Google Firebase التشغيلية القياسية، دون تقديم وعود بمدد زمنية مخصصة أو ثابتة.
| جهة المعالجة | الغرض | البيانات المنقولة |
|---|---|---|
| Google Firebase Authentication | إدارة الهوية وجلسات المستخدم وتسجيل الدخول | عنوان البريد الإلكتروني، تجزئة كلمة المرور (لدى المزود)، رموز OAuth |
| Google Cloud Firestore | مزامنة دفاتر المجموعات المشتركة سحابيًا | بيانات المجموعة، المصروفات المعتمدة، صافي الحصص، التسويات |
| Cloud Functions for Firebase | إدارة المجموعات، والتحقق من المزامنة، وتنفيذ حذف الحساب | دفعات المزامنة، محفزات الحذف، طلبات نقل الملكية |
| Firebase App Check / Play Integrity / Apple App Attest | التحقق من أصالة بيئة التشغيل ومكافحة التلاعب والاحتيال | إشارات سلامة نظام التشغيل، رموز التحقق والأصالة |
| Google Firebase Crashlytics | متابعة استقرار التطبيق وتحليل أسباب الانهيار | سلاسل استدعاء الأخطاء المنقاة، طراز الجهاز، إصدار النظام، معرّف التثبيت |
| Google Identity Services | تسجيل الدخول الاختياري بحساب Google | رموز الاعتماد، الاسم المعروض للملف الشخصي، البريد الإلكتروني |
أمان التخزين وحماية النسخ الاحتياطي
- بيئة التخزين المعزولة: تُحفظ السجلات المالية محليًا في قاعدة بيانات
splitly.sqliteداخل مجلد دعم التطبيق المعزول في نظام التشغيل. - حماية النسخ الاحتياطي في Android:
- يُعلن التطبيق عن تعطيل النسخ التلقائي عبر
android:allowBackup="false". - تحدد إعدادات
android:dataExtractionRulesاستثناء بيانات التطبيق من النسخ السحابي والنقل المباشر على Android 12+ (API 31+). - تحدد إعدادات
android:fullBackupContentاستثناء البيانات على Android 11 والإصدارات الأقدم.
- يُعلن التطبيق عن تعطيل النسخ التلقائي عبر
- حماية البيانات في iOS: يُطبّق التطبيق عند الإقلاع:
- حماية كاملة للملفات حتى أول فتح للجهاز (
completeUntilFirstUserAuthentication) على مجلد التطبيق وقاعدة البيانات. - استبعاد البيانات من النسخ الاحتياطي (
isExcludedFromBackup = true) لمنع رفعها إلى iCloud أو iTunes.
- حماية كاملة للملفات حتى أول فتح للجهاز (
- حدود حماية الجهاز: يعتمد أمان البيانات المحلية على عزل نظام التشغيل والتشفير العتادي المدمج بالجهاز. وتفقد الأجهزة المعدلة برمجياً (Rooted / Jailbroken) هذه الحماية المضمنة.
حذف الحساب والاحتفاظ بالبيانات
يمكن للمستخدم المسجل حذف حسابه نهائيًا في أي وقت من داخل التطبيق عبر الإعدادات > الحساب > حذف الحساب. ويتطلب الحذف مصادقة حديثة بوسيلة الدخول الأصلية (البريد وكلمة المرور أو حساب Google).
٦.١ آثار الحذف الفورية:
- يُحذف سجل هوية المستخدم نهائيًا من خوادم Firebase Authentication.
- تُلغى كافة صلاحيات الوصول السحابية للمجموعات المشتركة.
- تُحدد السجلات المحلية للحساب في قاعدة بيانات SQLite كحساب محذوف، وتعود الجلسة إلى وضع الضيف دون حساب.
٦.٢ البيانات المحتفظ بها وأسباب النزاهة المحاسبية:
- السجل المالي المشترك: تبقى المصروفات السابقة المعتمدة وحصص التقسيم والتسويات وأسماء الأعضاء المعروضة في المجموعات المشتركة محفوظة في سحابة Firestore ولدى بقية أعضاء المجموعة المتبقين.
سبب النزاهة المحاسبية: في الدفاتر المالية للمجموعات المشتركة، ترتبط أرصدة الأعضاء والتزامات التسوية والديون الجارية ارتباطًا مباشرًا بالسجل التاريخي التراكمي للمعاملات. ويؤدي الحذف الأحادي للمعاملات عند حذف حساب أحد الأعضاء إلى تشويه الأرصدة الجارية وحرمان بقية المشاركين من سجلاتهم المالية وقسائم التسوية القابلة للإثبات. - البيانات المحلية على الجهاز: يؤدي حذف الحساب السحابي إلى محو بيانات اعتمادك وتسجيل خروجك. ونظرًا لأن «قِسمة» يعتمد بنية تعمل محليًا أولًا، فإن النسخ المحلية للسجلات المحفوظة على جهازك الفعلي تبقى مخزنة في بيئة هاتفك حتى تمسح بيانات التطبيق يدويًا من إعدادات جهازك أو تلغي تثبيت التطبيق.
- سجلات الأمان الإجرائية والتشغيلية: قد تُحفظ سجلات تقنية إجرائية (Tombstones) تحتوي على معرّفات تقنية دون أسماء أو بريد إلكتروني لمنع إعادة استخدام المعرّفات أو هجمات إعادة الإرسال أو تعارض المزامنة. وتعتمد مدد الاحتفاظ بالسجلات التشغيلية والنسخ الاحتياطية للكوارث على إعدادات منصات Google Cloud و Firebase والمتطلبات الأمنية دون جدول زمني مخصص أو محدد سلفًا.
٦.٣ قيد المالك الوحيد للمجموعة:
لا يمكن للمستخدم الذي يمثل المالك الوحيد لمجموعة نشطة حذف حسابه قبل نقل ملكية المجموعة إلى عضو آخر نشط أو تسوية أرصدتها وحذفها.
حقوق المستخدم والاستفسار عن البيانات
يحق للمستخدمين الاستفسار عن بياناتهم الشخصية أو طلب حذف الحساب أو توجيه أي أسئلة متعلقة بالخصوصية عبر مراسلتنا على: hussein.mohamed.software@gmail.com.
- الخدمة الذاتية الفورية من التطبيق: يمكن للمستخدمين المسجلين حذف حساباتهم نهائيًا ومباشرة من داخل التطبيق عبر
الإعدادات > الحساب > حذف الحسابدون الحاجة لمراجعة يدوية. - طلبات الدعم الفني: في حال تعذر الوصول إلى التطبيق أو وجود استفسار بشأن البيانات الشخصية المرتبطة بالحساب، يمكنك التواصل مع فريق الدعم. ولحماية الحسابات من الوصول غير المصرح به أو طلبات الحذف الاحتيالية، تتطلب الطلبات المقدمة عبر البريد الإلكتروني التحقق من ملكية الحساب والتأكد من سيطرة مقدم الطلب على البريد المسجل قبل اتخاذ أي إجراء.
للتواصل معنا
إذا كانت لديك أي استفسارات أو طلبات بخصوص سياسة الخصوصية هذه، يُرجى مراسلتنا على:
البريد الإلكتروني: hussein.mohamed.software@gmail.com
يمكن استخدام «قِسمة» في وضع الضيف دون إنشاء حساب. وإلى أن تُنشئ حساباً، لا تنطبق عليك الأقسام المتعلقة ببيانات الحساب والمزامنة السحابية.