سياسة الخصوصيةPrivacy Policy
كفو/راضي تطبيق التزام بالنادي الرياضي في الكويت. هذه الصفحة تشرح بالضبط أي بيانات نجمعها، لماذا، ومن يستطيع رؤيتها.
1. من نحن
كفو/راضي تطبيق يديره فرد مستقل من الكويت. المسؤول عن البيانات يمكن الوصول إليه على alhallafb@gmail.com. لا نبيع البيانات ولا نستخدمها في الإعلانات.
2. البيانات التي نجمعها
- بيانات الحساب: الاسم المستعار الذي تختاره (٢–٢٤ حرفاً)، هدفك الأسبوعي (٣–٧ أيام)، ونادي البيت الذي تختاره (معرّف Google Place وإحداثياته). عند تسجيل الدخول عبر Apple نخزّن معرّف Apple الخاص بك والبريد الذي ترسله Apple (وقد يكون بريد إخفاء خاص). إذا شاركت Apple اسمك فنستخدمه فقط لاقتراح اسم مستعار ولا نخزّنه.
- موقعك عند تسجيل الحضور: كل مرة تسجّل حضورك يرسل التطبيق خط العرض وخط الطول ودقة القياس وعلامة إن كان الموقع مزيّفاً ووقت القراءة. يقبل الخادم التسجيل فقط إذا كنت على بعد ١٠٠ متر أو أقل من نادي بيتك، وبدقة ٥٠ متراً أو أفضل، وبقراءة عمرها ٦٠ ثانية أو أقل، وغير مزيّفة، وبسرعة انتقال منطقية منذ آخر تسجيل مقبول. كل محاولة — مقبولة أو مرفوضة — تُحفظ في سجل تدقيق يتضمن الإحداثيات والمسافة والنتيجة.
- تذكير الوصول للنادي (اختياري): إذا فعّلته، يستخدم التطبيق إذن الموقع في الخلفية لمراقبة نطاق جغرافي واحد بقطر ٢٠٠ متر حول نادي بيتك. المراقبة تتم داخل جهازك عبر نظام iOS والتذكير إشعار محلي. لا يُرسل أي موقع إلى خوادمنا من هذه الميزة.
- بيانات النشاط: سجلات الحضور اليومية، حالة الأسبوع (PENDING / KAFU / RADI)، السلاسل، النقاط، فئة الدوري ونتائج الأسبوع، أحداث الـfeed والتفاعلات (KAFU / STRONG / PUSH)، وسجل النشاط.
- الشبكة الاجتماعية: طلبات الصداقة والصداقات والحظر، عضوية المجموعة (Squad)، ومن دعاك إن انضممت عبر رابط دعوة.
- التحديات والجلسات: تحديات القوة (التمرين، الهدف بالوزن/التكرارات/الوحدة، الحكم، النتيجة)، المبارزات، وجلسات «تمرّن معي» (العنوان، النوع، الوسوم، اسم النادي، الوقت، الملاحظة) ومن دُعي ومن شارك.
- المحادثات: لكل تحدٍ وكل جلسة محادثة خاصة به. الرسائل النصية (حتى ١٠٠٠ حرف) والوسوم السريعة ورسائل النظام تُخزَّن على خوادمنا وتُسلَّم مباشرة لأعضاء النشاط.
- الإشعارات: إذا سمحت بها نخزّن رمز Expo push ونوع المنصة.
- البلاغات: البلاغات التي ترسلها أو التي تُرسل ضدك (السبب وتفاصيل اختيارية).
يبقى على جهازك فقط ولا يصلنا: رمز الجلسة، لغة الواجهة، بصمة تثبيت محلية تكتشف إعادة التثبيت، وإعدادات تذكير الوصول.
3. ما لا نجمعه
لا نطلب ولا نجمع: جهات الاتصال، الكاميرا أو الصور، الميكروفون، بيانات صحية، رقم الهاتف، بيانات دفع، أو معرّفات إعلانية. لا يوجد تتبع عبر التطبيقات (لا نطلب إذن ATT)، ولا توجد أي أدوات تحليلات أو تتبع أعطال من طرف ثالث داخل التطبيق. قد نطّلع على إحصاءات مجمّعة وتقارير أعطال توفرها Apple إذا اخترت أنت مشاركتها مع المطورين.
4. كيف نستخدم البيانات
- تشغيل التطبيق: التحقق من الحضور، حساب حالة الأسبوع والدوري، عرض النشاط والأصدقاء، تشغيل التحديات والمحادثات، وإرسال الإشعارات.
- منع التلاعب: سجل التدقيق (بما فيه المحاولات المرفوضة) يُستخدم لكشف تزييف الموقع.
- السلامة: مراجعة البلاغات وتطبيق الحظر وإزالة الأسماء المخالفة.
الأساس القانوني هو تنفيذ الخدمة التي طلبتها ومصلحتنا المشروعة في إبقائها آمنة.
5. من يرى ماذا
| البيان | من يراه |
|---|---|
| الاسم المستعار | أي مستخدم مسجّل |
| أحداث الحضور و«راضي» والتفاعلات عليها | أي مستخدم مسجّل عبر شاشة النشاط |
| هدفك الأسبوعي، السلاسل، النقاط، تقويم الالتزام (٩٠ يوماً)، آخر ١٠ نتائج تحديات | أي مستخدم مسجّل يفتح ملفك |
| ترتيب الدوري والتصنيف العام | لا تظهر فيه إلا إذا فُعّل خيار «الظهور العام» في حسابك، وهو مغلق افتراضياً |
| «موجود الآن» بعد تسجيل حضورك (٤٥ دقيقة) | أصدقاؤك المقبولون فقط |
| رسائل المحادثة | أعضاء ذلك التحدي أو الجلسة فقط |
| إحداثيات نادي بيتك، إحداثيات الحضور وسجل التدقيق، بريد Apple، رمز الإشعارات | لا أحد — بيانات داخلية فقط |
الحظر يلغي هذه الرؤية في الاتجاهين: عند حظر مستخدم يختفي كل منكما عن الآخر في البحث والملفات الشخصية وشاشة النشاط والتفاعلات وجداول الدوري والترتيب العام وقوائم أعضاء المجموعات (Squad) وسجل الإشعارات وكل المحادثات المشتركة. التفاصيل في خيارات الخصوصية.
6. المشاركة مع مزوّدي الخدمة
- Cloudflare — الاستضافة وقاعدة البيانات (D1) والمحادثات اللحظية والمهام المجدولة.
- Google Places — فقط عند البحث عن نادٍ؛ الطلب مقيّد بالكويت (
components=country:kw) ويحتوي نص بحثك فقط. - Expo Push / Apple APNs — لتسليم الإشعارات لجهازك.
- Apple — تسجيل الدخول عبر Apple وتوزيع التطبيق.
قد نكشف البيانات إذا فرض القانون ذلك. لا نبيع البيانات ولا نشاركها مع المعلنين.
7. الاحتفاظ والحذف
نحتفظ ببياناتك ما دام حسابك قائماً. عند حذف الحساب يُحذف سجلك من قاعدة البيانات الحية فوراً، وتُحذف معه — عبر الحذف المتسلسل — سجلات الأيام وسجل التدقيق وأحداث النشاط والتفاعلات والصداقات وعضوية المجموعة ورموز الإشعارات ورسائلك والبلاغات المرتبطة بك. قد تبقى نسخة في النسخ الاحتياطية التلقائية لقاعدة بيانات Cloudflare حتى ٣٠ يوماً قبل أن تنتهي صلاحيتها. للتفاصيل: صفحة حذف الحساب.
8. حقوقك
يمكنك طلب الاطلاع على بياناتك أو تصحيحها أو تصديرها أو حذفها بمراسلتنا على alhallafb@gmail.com. نرد خلال ٣٠ يوماً كحد أقصى. راجع أيضاً خيارات الخصوصية.
9. الأطفال
التطبيق غير موجّه لمن هم دون ١٣ عاماً ولا نجمع بياناتهم عن قصد. إذا علمنا بحساب لطفل دون هذا السن نحذفه.
10. التغييرات والتواصل
عند أي تغيير جوهري نحدّث تاريخ «آخر تحديث» أعلى الصفحة. للأسئلة: alhallafb@gmail.com
Kafu/Radi is a gym-accountability app for Kuwait. This page states exactly what we collect, why, and who can see it.
1. Who we are
Kafu/Radi is operated by an independent developer in Kuwait. The data controller can be reached at alhallafb@gmail.com. We do not sell data and we do not use it for advertising.
2. Data we collect
- Account data: the nickname you choose (2–24 characters), your weekly goal (3–7 days), and the gym you set as your home gym (a Google Place ID and its coordinates). When you use Sign in with Apple we store your Apple user identifier and the email Apple returns, which may be a private-relay address. If Apple shares your name at sign-in it is used only to suggest a nickname and is not stored.
- Check-in location: each time you check in, the app sends latitude, longitude, GPS accuracy, a flag for whether the OS reported the location as mocked, and the time of the reading. The server accepts a check-in only if you are within 100 m of your home gym, accuracy is 50 m or better, the reading is 60 seconds old or less, it is not mocked, and your travel speed since the last accepted check-in is plausible. Every attempt — accepted or rejected — is written to an audit record with the coordinates, the computed distance, and the outcome.
- Gym Arrival Reminder (optional): if you turn it on, the app uses background location permission to monitor a single 200 m enter-only geofence around your home gym. iOS performs that monitoring on your device and the reminder is a local notification. No location from this feature is sent to our servers.
- Activity data: daily check-in records, weekly status (PENDING / KAFU / RADI), streaks, points, league tier and weekly results, activity-feed events and reactions (KAFU / STRONG / PUSH), and your activity log.
- Social graph: friend requests, friendships and blocks, squad membership, and — if you joined through an invite link — who invited you.
- Challenges and sessions: feat challenges (exercise, target weight/reps/unit, judge, settlement), duels, and train-with-me sessions (title, template, tags, gym name, time, note), together with invitations and participation.
- Conversations: every feat challenge and every train-with-me session has its own conversation. Free-text messages (up to 1,000 characters), quick tags and system messages are stored on our servers and delivered live to the other members of that activity.
- Push notifications: if you allow them we store your Expo push token and platform.
- Reports: reports you file or that are filed about you (reason and optional details).
Kept on your device only, never sent to us: your sign-in token, interface language, a local install fingerprint used to detect a reinstall, and your arrival-reminder settings.
3. What we do not collect
We never request or collect contacts, camera or photo library access, microphone, health data, your phone number, payment details, or advertising identifiers. There is no cross-app tracking (the app does not present an App Tracking Transparency prompt) and no third-party analytics or crash-reporting SDK is embedded in the app. We may see aggregate App Store metrics and crash reports that Apple provides when you choose to share them with developers.
4. How we use data
- Running the app: verifying check-ins, computing weekly and league status, showing activity and friends, running challenges and their conversations, and sending notifications.
- Anti-abuse: the audit log — including rejected attempts — is used to detect location spoofing.
- Safety: reviewing reports, enforcing blocks, and removing offending nicknames.
Our legal basis is performing the service you asked for, plus our legitimate interest in keeping it safe.
5. Who can see what
| Data | Visible to |
|---|---|
| Your nickname | Any signed-in user |
| Your check-in and RADI events, and reactions to them | Any signed-in user, through the shared activity feed |
| Weekly goal, streaks, points, 90-day commitment calendar, last 10 challenge results | Any signed-in user who opens your profile |
| League table and public rankings | You appear only if public visibility is enabled on your account — it is off by default |
| "Live now" for 45 minutes after a check-in | Your accepted friends only |
| Conversation messages | Members of that challenge or session only |
| Home gym coordinates, check-in coordinates and audit log, Apple email, push token | Nobody — internal only |
Blocking cancels this visibility in both directions: once you block someone, each of you disappears from the other in search, profiles, the activity feed and its reactions, league tables, public rankings, squad member lists, your activity log, and every shared conversation. See Privacy Choices.
6. Service providers
- Cloudflare — hosting, database (D1), realtime conversations, and scheduled jobs.
- Google Places — used only while you search for a gym; the request is restricted to Kuwait (
components=country:kw) and contains only your search text. - Expo Push / Apple APNs — to deliver notifications to your device.
- Apple — Sign in with Apple and app distribution.
We may disclose data where the law requires it. We do not sell data and we do not share it with advertisers.
7. Retention and deletion
We keep your data while your account exists. When your account is deleted, your user record is removed from the live database immediately, and database cascades remove your day logs, check-in audit records, activity events and reactions, friendships, squad membership, push tokens, your messages, and reports linked to you. A copy may remain in Cloudflare's automatic database backups for up to 30 days before it ages out. See the account deletion page for the full process.
8. Your rights
You can request access, correction, export, or deletion of your data by emailing alhallafb@gmail.com. We respond within 30 days at the latest. See also Privacy Choices.
9. Children
The app is not directed to children under 13 and we do not knowingly collect their data. If we learn of such an account we delete it.
10. Changes and contact
If this policy changes materially we update the "Last updated" date at the top of this page. Questions: alhallafb@gmail.com