The Irab (إعراب) app is developed and operated by Mansoor Hassan, an independent developer. This Privacy Policy explains how we collect, use, and protect your personal information when you use the Irab app on iOS or Android.
For applicable data protection law (including GDPR), Mansoor Hassan is the data controller for personal data collected through this app.
Questions? Contact us at mansourshakla@gmail.com
تطبيق إعراب (Irab) مطوَّر ومُدار من قِبَل منصور حسن، مطوّر مستقل. تشرح سياسة الخصوصية هذه كيفية جمع معلوماتك الشخصية واستخدامها وحمايتها.
لأغراض قوانين حماية البيانات (بما فيها GDPR)، يُعدّ منصور حسن مسؤول معالجة البيانات.
للتواصل: mansourshakla@gmail.com
Account & Identity
- Email address — provided during sign-up
- Display name — chosen by you, shown on leaderboards
- Profile photo URL — optional, from Google if using Google Sign-In
- Firebase UID — anonymous internal identifier
Learning Progress
- XP points, ranks, badges, streak records
- Practice session results (accuracy, correct/incorrect counts)
- Challenge history, power-up counts, stage stars
- Daily challenge attempts and scores
- Saved favorites, Irab Library entries, Grammar Certificates
Usage & Analytics
- Feature usage events (practice started, challenge completed, premium gate hit)
- Daily usage counts per feature (for free-tier limits)
- Session metadata collected by Firebase Analytics (app version, OS, device type)
- Crash reports and performance diagnostics
Search History
- Arabic words and sentences submitted for irab/dictionary analysis
- Timestamps of each query
Device & Technical
- FCM push token (for notifications you opt into)
- Firebase Installation ID and Android Device ID (for analytics)
- IP address — processed transiently by Cloudflare, not stored by us
| Data Category | Linked to Account | Retention |
|---|---|---|
| Email, Display Name, Photo | Yes | Until account deletion |
| XP, Ranks, Streaks, Badges | Yes | Until account deletion |
| Practice & Challenge History | Yes | Until account deletion |
| Search History, Favorites | Yes | Until account deletion |
| Daily Usage Counters | Yes | 30 days, auto-deleted |
| XP Award Logs | Yes | 60 days, auto-deleted |
| FCM Token | Yes | Deleted on logout |
| Analytics Events | Pseudonymised | 26 months (Firebase) |
| Guest Usage Counters | Device only | Until app uninstall |
بيانات الحساب والهوية
- البريد الإلكتروني — المُقدَّم عند التسجيل
- اسم العرض — تختاره أنت ويظهر في قوائم المتصدّرين
- رابط الصورة الشخصية — اختياري
- معرّف Firebase (UID) — معرّف داخلي مجهول
بيانات التعلّم والتقدّم
- نقاط XP والرتب والشارات وسجلات التسلسل اليومي
- نتائج جلسات التدرّب، سجل التحديات، النجوم، مساعدات اللعب
- محاولات التحدّي اليومي ودرجاته
- المحفوظات، مكتبة الإعراب، الشهادات
بيانات الاستخدام والتحليلات
- أحداث استخدام الميزات وعدّادات الاستخدام اليومية
- بيانات الجلسة من Firebase Analytics (إصدار التطبيق، النظام، الجهاز)
- تقارير الأعطال ومعلومات الأداء
سجل البحث والاستعلام
- الكلمات والجمل العربية التي ترسلها للتحليل
- الطوابع الزمنية لكل استعلام
We use data solely to provide, maintain, and improve the Irab app:
- Core service: Authenticate your account, process grammar analysis, store your progress, serve content
- Gamification: Award XP, calculate rank, maintain streaks, display leaderboards
- Personalization: Show saved favorites, library entries, practice history
- Notifications: Send daily reminders and streak alerts (opt-in only)
- Subscription: Verify premium entitlement and gate features
- Abuse prevention: Enforce usage limits via Cloudflare rate limiting
- App improvement: Analyze aggregated, anonymized analytics to identify issues
- Legal compliance: Maintain records required by law
نستخدم البيانات حصرًا لتقديم تطبيق إعراب وصيانته وتحسينه:
- الخدمة الأساسية: مصادقة حسابك ومعالجة طلبات التحليل وتخزين تقدّمك وعرض المحتوى
- عناصر اللعب: منح XP وحساب الرتبة والحفاظ على السلسلة وعرض قوائم المتصدّرين
- التخصيص: عرض المحفوظات وإدخالات المكتبة وسجل التدرّب
- الإشعارات: إرسال تذكيرات وتنبيهات السلسلة (بموافقتك فقط)
- الاشتراك: التحقق من الاستحقاق المميز وتفعيل الميزات
- منع الإساءة: تطبيق حدود الاستخدام عبر Cloudflare
- تحسين التطبيق: تحليل بيانات مجمَّعة ومجهولة الهوية
What Is Sent to Gemini
- Arabic sentences submitted for irab analysis
- Arabic words for dictionary lookups
- Images (base64) when using OCR / camera
- Sentences and user analysis during practice grading
- Wrong words for explanation generation (premium)
How We Protect Your Data in AI Calls
- All requests route through our Cloudflare Workers proxy — Gemini API keys are never exposed to your device
- Firebase ID tokens are verified server-side on every request
- All communication is encrypted via HTTPS/TLS
What Gemini Does NOT Do
- Does not use your text to train or improve AI models (per Google's API Terms)
- Images sent for OCR are not stored after processing
- We do not store raw images on our servers
See Google's privacy policy at policies.google.com/privacy
ما الذي يُرسَل إلى Gemini
- الجمل العربية للتحليل النحوي
- الكلمات للبحث في القاموس
- الصور (base64) عند استخدام OCR/الكاميرا
- الجمل وتحليلاتك في جلسات التقييم
- الكلمات الخاطئة لإنشاء الشروح (ميزة مميزة)
كيف نحمي بياناتك
- جميع الطلبات تمرّ عبر وكيل Cloudflare Workers — لا تُكشف مفاتيح Gemini لجهازك
- يُتحقَّق من رمز Firebase ID على الخادم في كل طلب
- جميع الاتصالات مشفّرة بـHTTPS/TLS
ما لا يفعله Gemini ببياناتك
- لا يستخدم نصوصك لتدريب نماذجه (وفق شروط Gemini API)
- الصور المُرسَلة للـOCR لا تُخزَّن بعد المعالجة
- لا نخزّن الصور الخام على خوادمنا
| Service | Purpose | Data Shared | Privacy Policy |
|---|---|---|---|
| Firebase (Google) | Auth, database, analytics, push notifications, cloud functions | Email, UID, usage data, analytics | firebase.google.com/support/privacy |
| Google Gemini AI | Grammar analysis, OCR, dictionary, practice grading | Text, images (ephemeral) | policies.google.com/privacy |
| RevenueCat | Subscription management | Purchase tokens, User ID, subscription status | revenuecat.com/privacy |
| Cloudflare | API gateway, rate limiting, R2 certificate storage | Request metadata (IP transient) | cloudflare.com/privacypolicy |
| Apple / Google Play | App distribution, in-app purchases | Payment (handled by platform) | Apple / Google policies |
| الخدمة | الغرض | البيانات المشتركة |
|---|---|---|
| Firebase (Google) | المصادقة، قاعدة البيانات، التحليلات، الإشعارات | البريد، المعرّف، بيانات الاستخدام |
| Google Gemini AI | تحليل النحو، OCR، القاموس، التقييم | النصوص، الصور (مؤقتة) |
| RevenueCat | إدارة الاشتراك | رموز الشراء، المعرّف، حالة الاشتراك |
| Cloudflare | بوابة API، تحديد المعدّل، تخزين الشهادات | بيانات الطلبات (IP مؤقتة) |
| Apple / Google Play | توزيع التطبيق، المشتريات | معلومات الدفع (من المنصة) |
With your explicit permission, we send push notifications via Firebase Cloud Messaging (FCM). We send two types:
- Daily Practice Reminder — sent ~6 PM Gulf Time if you haven't practiced that day
- Streak-at-Risk Alert — sent ~8 PM Gulf Time if your streak is at risk
You can revoke permission any time via device Settings → Notifications or from the app's Settings screen. On logout, your FCM token is removed from our servers. We do not send marketing push notifications.
بإذنك الصريح، نرسل إشعارات فورية عبر Firebase Cloud Messaging (FCM). نرسل نوعين:
- تذكير التدرّب اليومي — نحو الساعة ٦ مساءً بتوقيت الخليج إذا لم تتدرّب اليوم
- تنبيه خطر انقطاع السلسلة — نحو الساعة ٨ مساءً إذا كانت سلسلتك في خطر
يمكنك إلغاء الإذن من إعدادات الجهاز أو شاشة إعدادات التطبيق. عند تسجيل الخروج يُحذف رمز FCM من خوادمنا. لا نرسل إشعارات تسويقية.
| Permission | Used For | Stored? |
|---|---|---|
| Camera | OCR — capture Arabic text from documents | No — sent to Gemini for text extraction, then discarded |
| Photo Library | OCR — select existing image for text extraction | No — same as above |
| Microphone | Voice input — dictate Arabic sentences | No — processed on-device by speech SDK |
| الإذن | الاستخدام | هل تُخزَّن؟ |
|---|---|---|
| الكاميرا | OCR — التقاط نص عربي من المستندات | لا — تُرسَل إلى Gemini وتُتجاهل بعدها |
| مكتبة الصور | OCR — اختيار صورة موجودة | لا — نفس الحالة |
| الميكروفون | إدخال صوتي — إملاء الجمل | لا — يُعالَج على الجهاز |
Irab offers optional premium subscriptions. All purchases are processed by Apple App Store (iOS) or Google Play (Android). We do not receive or store payment card details.
Subscription management is handled by RevenueCat, which receives your purchase receipt and User ID to verify entitlement. When you subscribe, RevenueCat notifies our server via webhook, updating your subscription status in Firestore. This status determines which premium features are unlocked.
Subscription status (tier, plan) is stored in Firestore linked to your account and deleted when you delete your account.
يوفر إعراب اشتراكات مميزة اختيارية. تُعالَج جميع المشتريات من خلال Apple App Store (iOS) أو Google Play (Android). لا نستلم بيانات بطاقتك ولا نخزّنها.
تُدار الاشتراكات بواسطة RevenueCat. عند اشتراكك تُخطر RevenueCat خادمنا لتحديث حالة اشتراكك في Firestore، وهي التي تحدّد الميزات المميزة المتاحة لك.
حالة الاشتراك مخزّنة في Firestore مرتبطة بحسابك وتُحذف عند حذف حسابك.
- Account data (email, display name, profile): until account deletion
- Learning progress, favorites, history: until account deletion
- Daily usage counters: auto-deleted after 30 days
- XP award logs: auto-deleted after 60 days
- Certificates: until account deletion (stored in Cloudflare R2)
- FCM token: deleted on logout
- Firebase Analytics data: up to 26 months (Google's retention)
When you delete your account, a Cloud Function removes all associated data from Firestore and Cloudflare R2 within 24 hours.
- بيانات الحساب: حتى حذف الحساب
- التقدّم والمحفوظات والسجل: حتى حذف الحساب
- عدّادات الاستخدام اليومية: تُحذف تلقائيًا بعد ٣٠ يومًا
- سجلات XP: تُحذف تلقائيًا بعد ٦٠ يومًا
- الشهادات: حتى حذف الحساب (Cloudflare R2)
- رمز FCM: يُحذف فور تسجيل الخروج
- بيانات Firebase Analytics: حتى ٢٦ شهرًا (وفق Google)
عند حذف حسابك، تُزال جميع البيانات من Firestore وCloudflare R2 خلال ٢٤ ساعة.
Request a copy of personal data we hold about you.
Correct inaccurate data (update your display name in-app).
Delete your account and all data via Settings → Delete Account.
Request your data in a machine-readable format (JSON).
Object to processing based on legitimate interest.
Withdraw AI processing, notification, or camera consent anytime.
To exercise rights, delete your account via Settings → Account → Delete Account or email mansourshakla@gmail.com. We respond within 30 days.
طلب نسخة من البيانات التي نحتفظ بها عنك.
تصحيح البيانات غير الدقيقة في التطبيق.
حذف حسابك وجميع بياناتك من الإعدادات.
طلب بياناتك بصيغة JSON.
الاعتراض على المعالجة المبنية على المصلحة المشروعة.
سحب موافقتك على AI أو الإشعارات أو الكاميرا في أي وقت.
لممارسة حقوقك، احذف حسابك من الإعدادات ← الحساب ← حذف الحساب أو راسلنا على mansourshakla@gmail.com. نردّ خلال ٣٠ يومًا.
The Irab app is not directed at children under 13. We do not knowingly collect personal information from children under 13. If you are a parent and believe your child has provided us with personal information, contact us immediately at mansourshakla@gmail.com and we will delete it promptly.
Users aged 13–17 should use the app with parental knowledge where required by law.
تطبيق إعراب غير موجَّه للأطفال دون سن ١٣ عامًا. لا نجمع معلومات شخصية من الأطفال دون ١٣ عامًا عن قصد. إذا كنت وليَّ أمر وتعتقد أن طفلك أرسل لنا معلومات، تواصل معنا فورًا على mansourshakla@gmail.com.
يجب على المستخدمين بين ١٣ و١٧ عامًا استخدام التطبيق بعلم والديهم حيثما يقتضي ذلك القانون.
Our primary Firestore database is in asia-southeast1 (Singapore). Services including Firebase, Gemini, RevenueCat, and Cloudflare are operated primarily in the United States.
If you are in the EEA, your data may be transferred outside the EEA. These transfers are made under appropriate safeguards: Standard Contractual Clauses (SCCs) with Google, RevenueCat, and Cloudflare.
قاعدة بيانات Firestore الأساسية في منطقة جنوب شرق آسيا (سنغافورة). خدمات Firebase وGemini وRevenueCat وCloudflare تعمل أساسًا في الولايات المتحدة.
إن كنت في المنطقة الاقتصادية الأوروبية، قد تُنقل بياناتك خارجها بموجب بنود العقد القياسية (SCCs) مع Google وRevenueCat وCloudflare.
- Encryption in transit: All data uses HTTPS/TLS
- Authentication: All API endpoints require a valid Firebase ID token verified server-side
- API key security: AI API keys stored as Cloudflare Workers secrets, never exposed to devices
- Firestore rules: Users can only read/write their own data
- Firebase App Check: Protects against unauthorized access and bots
- Rate limiting: Per-user limits on all AI features
While we take reasonable precautions, no Internet transmission is 100% secure.
- التشفير أثناء الإرسال: جميع البيانات مشفّرة بـHTTPS/TLS
- المصادقة: جميع نقاط API تتطلب رمز Firebase ID صالحًا يُتحقَّق منه على الخادم
- أمان مفاتيح API: مفاتيح AI مخزّنة كأسرار في Cloudflare Workers
- قواعد Firestore: المستخدمون يقرؤون ويكتبون بياناتهم فقط
- Firebase App Check: حماية من الوصول غير المصرَّح والروبوتات
- تحديد المعدّل: حدود استخدام لكل مستخدم على ميزات AI
We may update this policy from time to time. Material changes will be communicated via push notification or in-app banner, and the "Last Updated" date will be updated. Continued use of the app after changes constitutes acceptance.
قد نحدّث هذه السياسة من وقت لآخر. ستُبلَّغ بالتغييرات الجوهرية عبر إشعار فوري أو بانر داخل التطبيق. استمرار استخدامك يُعدّ قبولًا للسياسة المعدَّلة.
Privacy Questions & Data Requests
استفسارات الخصوصية وطلبات البيانات
For privacy questions, data access/deletion requests, or GDPR/CCPA inquiries:
لأسئلة الخصوصية وطلبات الوصول/الحذف أو استفسارات GDPR/CCPA:
We respond to all privacy inquiries within 30 days.نردّ على جميع استفسارات الخصوصية خلال ٣٠ يومًا.