SANABEL

سياسة الخصوصية — سنابل

Privacy Policy — Sanabel · Política de privacidad — Sanabel · net.amigoslab.kids.sanabel

العربية English Español

باختصار: «سنابل» تطبيق تعليمي للأطفال، بلا إعلانات، ويعمل كله دون حساب: يشتري الطفل من سوق التطبيق بعملات يكسبها بالتعلّم، لا بالمال. لا يغادر الجهازَ شيءٌ مما يكتبه الطفل أو يقوله، ولا يغادره تقدّمه إلا مع «سنابل+»، في الحفظ اليومي لرحلة كل طفل إلى حساب الوالد (القسم ٧)، دون اسمه وتسجيلاته. و«سنابل+» اشتراك اختياري يشتريه الوالد وحده عبر Google Play، من قسم الوالدين المقفل برمز، ويحتاج إلى تسجيل دخوله بحساب Google؛ وعندها يحفظ خادمنا حساب الوالد وهواتفه ومشترياته، ولكل طفل رقمًا عشوائيًّا وآخر حفظين يوميين لرحلته (القسم ٧). وما سوى ذلك مما يغادر الجهاز: بيانات تقنية تصل إلى Firebase Crashlytics من Google لاكتشاف الأعطال، وطلبات تنزيل ملفات التلاوة، وأصوات «سنابل+» لمشتركيه. أما أوراق الحروف والحساب للطباعة فلا تغادره إلا عند طباعتها أو مشاركتها، إلى الطابعة أو التطبيق المختار، وليس فيها شيء عن الطفل.

١. من نحن

هذا التطبيق تُصدره Amigos-lab، الجهة الناشرة لتطبيقات «رفيقي» و«سنابل». للتواصل بخصوص الخصوصية: sanabel.amigoslab@gmail.com.

٢. البيانات التي لا نجمعها

لا يجمع التطبيق ولا يرسل أيًّا مما يلي:

أما الميكروفون فيُستخدم في ميزة واحدة يبدأها الطفل بنفسه — انظر القسم ٤.

٣. ما يُحفظ على جهازك

يحفظ التطبيق ما يلي داخل الجهاز، لكل طفل على حدة إن كان في العائلة أكثر من طفل (أربعة على الأكثر)، ولا يرسل منه شيئًا إلى أي خادم، إلا أن الحفظ اليومي لـ«سنابل+» يحمل البندين الأولين، وإعدادات الطفل وصورته (القسم ٧):

وإذا سجّل الوالد دخوله لـ«سنابل+» حفظ التطبيق على الجهاز أيضًا: بريد حساب Google ليُعرض في قسم الوالدين، والتصريح الموقَّع من خادمنا الذي يفتح «سنابل+»، وأصوات «سنابل+» المنزَّلة (القسم ٥)، ورمز جلسة تسجيل الدخول ومعرّف تثبيت عشوائيًّا يصنعه التطبيق، وهذان الأخيران مشفّران بمفتاح في مخزن مفاتيح أندرويد، ويُرسَلان إلى خادمنا مع كل طلب (القسم ٧).

النسخ الاحتياطي: قد يضيف أندرويد التقدّم والإعدادات إلى النسخة الاحتياطية في حساب Google الخاص بالعائلة. هذه ميزة من أندرويد نفسه تخضع لشروط Google، ولا يرسل التطبيق إليها شيئًا بنفسه. ولا يدخل فيها ولا في النقل إلى جهاز جديد: أسماء الأطفال، وتسجيلات التلاوة، وملفات التلاوة والأصوات المنزَّلة، ورمز الجلسة ومعرّف التثبيت؛ فالهاتف المستعاد من نسخة احتياطية يسجّل الدخول من جديد. ولا يدخلها رمز الأمان إلا بصيغته المُعمّاة. أما بريد الوالد والتصريح فقد يدخلانها مع الإعدادات.

تُحذف كل هذه البيانات من الجهاز عند حذف التطبيق أو مسح بياناته من إعدادات النظام.

٤. الميكروفون والتسجيلات والصوت

في شاشة «تسجيلاتي» يسجّل الطفل تلاوته ثم يستمع إلى نفسه. يُطلب إذن الميكروفون لهذه الميزة وحدها، وعندما يبدأ الطفل التسجيل بنفسه.

تبقى التسجيلات على الجهاز ولا تُرفع إلى أي خادم. ولكل طفل تسجيلاته، ولا تدخل في النسخ الاحتياطي السحابي لأندرويد ولا في النقل إلى جهاز جديد. يمكن حذف أي تسجيل من داخل التطبيق، وتُحذف جميعها عند حذف التطبيق.

ويستمع الوالد إلى هذه التسجيلات في قسم الوالدين ليوافق على حفظ السورة، على الجهاز نفسه أيضًا.

كثير مما ينطقه التطبيق ملفات صوتية جاهزة: بعضها داخل التطبيق، وبعضها ينزّله مشتركو «سنابل+» (القسم ٥). وما لا ملف له يقرؤه محرّك تحويل النص إلى كلام في الهاتف نفسه، والتطبيق لا يرسل أي نص بنفسه. وأصوات الحيوانات ملفات داخل التطبيق.

٥. التنزيلات

يحتوي التطبيق على تلاوة خمس سور جاهزة تعمل دون إنترنت: الفاتحة، والكوثر، والإخلاص، والفلق، والناس. وعند اختيار سورة أخرى يُنزّل التطبيق ملفاتها الصوتية مرة واحدة من rafiqi-quran.amigoslab.net، خادم Amigos-lab الذي يستخدمه تطبيق «رفيقي — قرآن» أيضًا، ثم تبقى على الجهاز وتعمل بعدها دون إنترنت.

لا يحمل هذا الطلب أي معرّف: لا حساب، ولا معرّف جهاز، ولا ملفات تعريف ارتباط، ولا أي بيانات عن الطفل، بل مسار ثابت للملف فقط. ويرى مزوّد الاستضافة (Cloudflare) عنوان IP الخاص بالاتصال والمسار المطلوب في سجلاته المعتادة، كما في أي تنزيل. ونحن لا نجمع هذه السجلات ولا نحتفظ بها.

أصوات «سنابل+»: إذا فُتح «سنابل+» وسجّل الوالد دخوله، نزّل التطبيق ملفات الأصوات من خادم «سنابل» api.sanabel.amigoslab.net. يحمل هذا الطلب جلسة الوالد ومعرّف التثبيت (القسم ٧) ليتحقق الخادم من الاشتراك، ولا يحتفظ الخادم بسجلّ لمن ينزّلها. ثم تبقى الأصوات على الجهاز وتعمل دون إنترنت.

يتحقق التطبيق من توقيع رقمي لكل ملف قبل استخدامه، حتى لا يُشغَّل للطفل صوت غير المقصود.

٦. تقارير الأعطال (Firebase)

نستخدم Firebase Crashlytics من Google لمعرفة الأعطال التقنية وإصلاحها، في نسخة التطبيق المنشورة فقط.

عند فتح التطبيق

تنشئ مكتبات Firebase معرّف تثبيت خاصًّا بهذا التطبيق، وتسجّل بدء جلسة: صانع الجهاز وطرازه، ونسخة نظام التشغيل والتطبيق، ونوع الاتصال بالشبكة، ووقت فتح التطبيق. وتستخدم Google ذلك لحساب عدد الأجهزة التي أصابها كل عُطل.

عند حدوث عُطل أو خطأ تقني

لا تحتوي هذه البيانات على اسم الطفل ولا رمز الأمان ولا صوته ولا ما يكتبه، ولا نربطها بأي حساب أو هوية. تُنقل مشفّرة (HTTPS)، ويحتفظ Crashlytics ببيانات الأعطال ونسخته من المعرّفات ٩٠ يومًا ثم يبدأ حذفها. وقد تحتفظ Firebase بمعرّف التثبيت نفسه إلى أن يُحذف؛ وهو يدلّ على نسخة مثبّتة من التطبيق لا على شخص، ويحصل التطبيق على معرّف جديد عند مسح بياناته أو إعادة تثبيته. سياسة خصوصية Google: policies.google.com/privacy، والخصوصية في Firebase: firebase.google.com/support/privacy.

٧. «سنابل+» وحساب Google للوالد

«سنابل+» اشتراك اختياري يفتح بقية الدروس والألعاب، والتطبيق كله يعمل دونه. لا يشتريه إلا الوالد، من قسم الوالدين المقفل برمز الأمان أو من خطوات الإعداد الأولى، عبر Google Play الذي يتولّى الدفع.

تسجيل الدخول: يحتاج «سنابل+» إلى أن يسجّل الوالد دخوله بحساب Google من نافذة تسجيل الدخول في أندرويد، فيتبعه اشتراكه إلى أي هاتف. يرسل الهاتف رمز تسجيل الدخول الذي يصدره Google إلى خادمنا api.sanabel.amigoslab.net، فيتحقق منه مع Google ولا يحفظ منه إلا بصمة مُعمّاة باتجاه واحد (hash) لمعرّف حساب Google، لا البريد الإلكتروني ولا الاسم اللذين يحملهما الرمز أيضًا.

ما يحفظه خادمنا:

ولا يحفظ الخادم أبدًا اسم الطفل ولا صوته ولا تسجيلاته، ولا رمز الأمان ولا إعدادات العائلة.

الحفظ اليومي: مع «سنابل+» يرسل الهاتف رحلة كل طفل لعب منذ آخر حفظ له، مرة في اليوم على الأكثر، حين يخرج التطبيق إلى الخلفية، ليعيده الوالد على هاتف جديد بعد تسجيل الدخول. ويستطيع الوالد جعله يدويًّا (قسم الوالدين ← التطبيق ← الحفظ اليومي)، فلا يُرسَل شيء إلا حين يضغط «احفظ الآن».

متى يتصل التطبيق بخادمنا: بعد أن يسجّل الوالد دخوله: عند تسجيل الدخول والخروج، وعند الشراء أو استعادته، وللتحقق من الاشتراك مرة في اليوم، ولتنزيل أصوات «سنابل+»، وللحفظ اليومي لرحلات الأطفال واستعادتها على هاتف جديد. ويحمل كل طلب رمز الجلسة ومعرّف التثبيت ونسخة التطبيق. وعند تسجيل الدخول والشراء يطلب التطبيق من Google Play أن يؤكد أن التطبيق والهاتف أصليّان (Play Integrity)، فيقرأ الخادم الجواب من Google ولا يحفظه.

وقبل أن يفتح التطبيق شاشات Google، أو إذا تعذّر عرض أسعار الاشتراك، يسأل خادمنا هل يمكن الوصول إليه، ولو قبل تسجيل الدخول، ليُخبر الوالد إن لم يكن الهاتف متصلًا بالإنترنت. ولا يحمل هذا الطلب شيئًا من التطبيق: لا رمز جلسة ولا معرّف تثبيت ولا نسخة التطبيق.

المدة: تنتهي جلسة الهاتف بتسجيل الخروج، أو بعد ١٨٠ يومًا دون استخدام، فتُحذف. ويبقى الحساب ومشترياته حتى يحذفه الوالد (القسم ١١). ويبقى حفظ الطفل حتى يحلّ محلّه حفظ أحدث، أو يُحذف الطفل من الهاتف (فيُحذف حفظه من خادمنا حين يتصل ذلك الهاتف بـ«سنابل+» والوالد مسجّل الدخول)، أو يحذفه الوالد من الحساب في بطاقة الحفظ اليومي، أو يُحذف الحساب. والحفظ الذي لا يُفتح حين يُعاد الطفل يُحذف. وإذا انتهى «سنابل+» بقي آخر حفظين ثلاثة أشهر ثم يُحذفان.

الاستضافة والسجلات: يستضيف Cloudflare خادمنا وقاعدة بياناته وحفظ الأطفال اليومي. وسطور سجلّ الخادم تحمل رمز الخطأ ورقم الطلب، ولا تحمل أبدًا رمزًا ولا بريدًا ولا رقم حساب، ويحتفظ بها Cloudflare سبعة أيام على الأكثر. ويرى Cloudflare عنوان IP للاتصال كأي استضافة، ويستعمله ليحدّ من عدد الطلبات، ونحن لا نحفظه.

٨. الإعلانات والمشتريات والروابط

لا يعرض التطبيق أي إعلانات، ولا يحتوي على حزمة إعلانات، ولا على تحليلات سوى تقارير الأعطال وبدء التشغيل في القسم ٦. والشراء الوحيد فيه اشتراك «سنابل+» (القسم ٧)، ولا يصل إليه الطفل لأنه خلف رمز الأمان؛ ولهذا بين أذونات التطبيق إذن الفوترة في Google Play. ولا يحتوي على محادثة، ولا تواصل مع مستخدمين آخرين. ولا يخرج التطبيق إلى غيره إلا في هذه المواضع: إعدادات الهاتف لتفعيل الميكروفون إن رُفض إذنه؛ وشاشة الطباعة أو قائمة المشاركة في أندرويد عند طباعة ورقة أو مشاركتها (القسم ١٠)؛ ومن قسم الوالدين وخطوات الإعداد الأولى وحدها: نافذة تسجيل الدخول بحساب Google ونافذة الشراء في Google Play، وصفحة الاشتراكات في Google Play لإدارة الاشتراك، وهذه الصفحة في المتصفح، وصفحة سنابل في Google Play لتقييمه، وتطبيق البريد الخاص بالوالد برسالة معنونة إلينا. ولا يرسل سنابل شيئًا بنفسه: لا تخرج الرسالة إلا إذا أرسلها الوالد من تطبيق بريده، ولا نستعمل ما يكتبه إلا للرد عليه وتحسين سنابل، ولا نحتفظ به أكثر من ذلك. ومرة واحدة، داخل قسم الوالدين، قد يعرض Google Play نافذة التقييم الخاصة به فوق التطبيق؛ يتولى Google التقييم، ولا يُعلَم التطبيق هل قيّم الوالد ولا كيف قيّم.

٩. الأطفال

التطبيق موجَّه للأطفال، ونلتزم بسياسات «العائلات» في Google Play وبقانون COPPA واللائحة الأوروبية GDPR بما فيها أحكام حماية الأطفال. لا نجمع من الأطفال أي بيانات شخصية سوى معرّف التثبيت المذكور في القسم ٦، ونستخدمه لاكتشاف الأعطال وإصلاحها فقط، والحفظ اليومي لـ«سنابل+» (القسم ٧): يشترك فيه الوالد ويستطيع جعله يدويًّا، ويحمل تقدّم الطفل وحديقته تحت رقم عشوائي، لا اسمه ولا صوته، ولا يُستخدم إلا لإعادة رحلته على هاتف آخر. وحساب «سنابل+» حساب الوالد دائمًا لا الطفل، وما يحفظه خادمنا عنه في القسم ٧. ولا نعرض إعلانات مخصّصة، ولا نشارك أي بيانات مع أطراف ثالثة لأغراض تسويقية.

١٠. مشاركة البيانات

لا نبيع أي بيانات ولا نشاركها. نستعين بمزوّدَي خدمة فقط: Google لتقارير الأعطال (Firebase Crashlytics)، ولتسجيل الدخول والدفع والتحقق من التطبيق في «سنابل+» (حساب Google وGoogle Play وPlay Integrity)؛ وCloudflare لإيصال ملفات التلاوة والأصوات، ولاستضافة خادم «سنابل» وقاعدة بياناته وحفظ الأطفال اليومي.

أوراق للطباعة: في قسمي الحروف والحساب يمكن طباعة ورقة، أو حفظها صورة ومشاركتها. وليس في الورقة شيء عن الطفل: حرف وكلمات، أو أعداد ومسائل، ورسوم، وسطران فارغان للاسم والتاريخ. يسلّمها التطبيق إلى شاشة الطباعة أو قائمة المشاركة في أندرويد، ولا يرسلها بنفسه إلى أي مكان، فلا تذهب إلا إلى الطابعة أو التطبيق الذي يُختار هناك، ولا تصل إلينا. وتُكتب الصورة أولًا في التخزين المؤقت للتطبيق نفسه.

١١. حذف البيانات

لحذف كل ما يحفظه التطبيق على الجهاز: احذف التطبيق، أو امسح بياناته من إعدادات النظام. أما النسخة الاحتياطية في حساب Google الخاص بالعائلة فتُحذف من إعدادات النسخ الاحتياطي في ذلك الحساب. أما تقارير الأعطال فلا ترتبط باسم ولا بحساب، فلا نستطيع تمييز تقارير عائلة بعينها، ويحذفها Crashlytics بعد ٩٠ يومًا. وقد تحتفظ Firebase بمعرّف التثبيت مدة أطول، ولا يرتبط هو أيضًا باسم ولا بحساب.

حساب «سنابل+»: يحذفه الوالد من التطبيق (قسم الوالدين ← التطبيق ← سنابل+ ← حذف الحساب)، أو دون التطبيق من صفحة api.sanabel.amigoslab.net/account/delete بتسجيل الدخول بحساب Google نفسه. يوقف الحذف تجديد الاشتراك أولًا، ثم يحذف في الحال الحساب وجلسات هواتفه وسجلات مشترياته وحفظ كل أطفاله. ونُبقي بصمة معرّف حساب Google المُعمّاة وحدها ٣٠ يومًا، حتى لا تعيد استعادةٌ من سجلّ قاعدة بياناتنا حسابًا محذوفًا؛ فسجلّ الاستعادة عند Cloudflare يحفظ البيانات المحذوفة ٣٠ يومًا على الأكثر ثم تزول. ويحتفظ Google بسجلّه الخاص للشراء وفق سياسته. وتسجيل الخروج يحذف جلسة ذلك الهاتف، وحذف طفل من الهاتف، أو من الحساب في بطاقة الحفظ اليومي، يحذف حفظه من خادمنا. ولأي سؤال عن بياناتك راسلنا على sanabel.amigoslab@gmail.com.

١٢. تغييرات على هذه السياسة

عند تغيّر ممارساتنا سنحدّث هذه الصفحة ونغيّر تاريخ السريان أدناه.

English

In short: Sanabel is a learning app for children. It shows no ads, and all of it works without an account: the child buys from the app's market with coins earned by learning, never with money. Nothing the child types or says leaves the device. Their progress leaves it only with Sanabel+, in the daily save of each child's journey to the parent's account (section 7), without their name or recordings. Sanabel+ is an optional subscription that only a parent buys, through Google Play, from the passcode-locked parent area; it needs the parent to sign in with a Google account, and then our server keeps the parent's account, phones and purchases, and for each child a random number and their last two daily saves (section 7). Otherwise, what leaves the device is: technical data sent to Google's Firebase Crashlytics to find faults, requests to download recitation audio, and Sanabel+'s voices for its subscribers. A letter or maths sheet to print leaves it only when it is printed or shared, to the printer or app chosen, and holds nothing about the child.

1. Who we are

This app is published by Amigos-lab, publisher of the Rafiqi and Sanabel apps. Privacy contact: sanabel.amigoslab@gmail.com.

2. What we do not collect

The app does not collect or transmit any of the following:

The microphone is used for one feature that the child starts themselves — see section 4.

3. Stored on your device

The app stores the following on the device and sends none of it to a server, except that Sanabel+'s daily save carries the first two, and the child's settings and picture (section 7). With more than one child (four at most), each child's are kept apart:

If a parent signs in for Sanabel+, the app also keeps on the device: the Google account's email, shown in the parent area; the pass our server signs, which opens Sanabel+; Sanabel+'s downloaded voices (section 5); and the sign-in session token and a random installation identifier the app makes. Those last two are encrypted with a key in the Android Keystore and sent to our server with each request (section 7).

Backup: Android may include the progress and settings in the family's own Google account backup. That is Android's own feature, under Google's terms; the app sends nothing to it itself. The children's names, the recitation recordings, downloaded recitation audio and voices, the session token and the installation identifier are kept out of that backup and out of transfers to a new phone, so a phone restored from a backup signs in again. The passcode is in it only as its hash. The parent's email and the pass may be in it with the settings.

All of it is erased from the device when the app is uninstalled or its data is cleared in system settings.

4. Microphone, recordings and speech

On the "My recordings" screen a child records their own recitation and listens back to it. Microphone permission is requested for this feature alone, and only when the child starts a recording.

Recordings stay on the device and are never uploaded to any server. Each child has their own. They are excluded from Android's cloud backup and from device-to-device transfer. Any recording can be deleted from inside the app, and all of them are deleted when the app is uninstalled.

A parent listens to these recordings in the parent area to approve a surah as memorised, on the same device.

Much of what the app says aloud is ready-made audio: some inside the app, some downloaded by Sanabel+ subscribers (section 5). A line with no audio file is read by the phone's own text-to-speech engine; the app sends no text anywhere itself. The animal sounds are files inside the app.

5. Downloads

Five surahs are included in the app and work with no internet connection: Al-Fatiha, Al-Kawthar, Al-Ikhlas, Al-Falaq and An-Nas. When another surah is chosen, the app downloads its audio once from rafiqi-quran.amigoslab.net, Amigos-lab's server that Rafiqi Quran also uses. The audio then stays on the device and works offline.

These requests carry no identifier of any kind — no account, no device ID, no cookies, and no data about the child. Just a fixed file path. Our hosting provider (Cloudflare) sees the connection's IP address and the requested path in its ordinary logs, as for any download. We do not collect or keep those logs.

Sanabel+ voices: when Sanabel+ is open and a parent is signed in, the app downloads the voice files from Sanabel's server, api.sanabel.amigoslab.net. These requests carry the parent's session and the installation identifier (section 7), so the server can check the subscription; the server keeps no record of who downloads them. The voices then stay on the device and work offline.

Every file is checked against a digital signature before it is used, so a child cannot be played audio other than the intended one.

6. Crash reporting (Firebase)

We use Firebase Crashlytics (Google) to find and fix technical faults, in the published version of the app only.

When the app opens, Firebase's libraries create an installation identifier for this app and record the start of a session: the device maker and model, the OS and app versions, the network connection type, and the time the app was opened. Google uses this to count how many devices a fault affects.

When a crash or technical error happens, it sends:

None of this contains the child's name, the passcode, the child's voice or anything they type, and we link it to no account or identity. It is sent encrypted over HTTPS. Crashlytics keeps crash data, and its copy of the identifiers, for 90 days before deleting it. Firebase may keep the installation identifier itself until it is deleted; it names one installation of the app, not a person, and clearing the app's data or reinstalling it gives the app a new one. Google's privacy policy: policies.google.com/privacy; Firebase privacy: firebase.google.com/support/privacy.

7. Sanabel+ and the parent's Google account

Sanabel+ is an optional subscription that opens the rest of the lessons and games; all of the app works without it. Only a parent buys it, from the passcode-locked parent area or the first-launch setup, through Google Play, which takes the payment.

Signing in: Sanabel+ needs the parent to sign in with a Google account, through Android's sign-in sheet, so the subscription follows them to any phone. The phone sends the sign-in token Google issues to our server, api.sanabel.amigoslab.net, which checks it with Google and keeps only a one-way hash of the Google account's identifier, not the email address or the name the token also carries.

What our server keeps:

The server never keeps the child's name, voice or recordings, the passcode or the family's settings.

The daily save: with Sanabel+, the phone sends the journey of each child who played since their last save, at most once a day, as the app goes to the background, so the parent can bring them back on a new phone after signing in. The parent can set it to manual (parent area → App → Daily save), and then nothing is sent until they tap "Save now".

When the app contacts our server: after a parent signs in: to sign in and out, to buy or restore a purchase, to check the subscription once a day, to download Sanabel+'s voices, and for the children's daily saves and bringing them back on a new phone. Each request carries the session token, the installation identifier and the app's version. When signing in and buying, the app asks Google Play to confirm the app and phone are genuine (Play Integrity); the server reads the answer from Google and does not keep it.

Before the app opens Google's screens, or when the subscription's prices cannot be shown, it asks our server whether it can be reached, even before a parent signs in, so it can tell the parent when the phone has no internet connection. That request carries nothing from the app: no session token, no installation identifier and no app version.

How long: a phone's session ends when it signs out, or after 180 days unused, and is then deleted. The account and its purchases stay until the parent deletes the account (section 11). A child's save stays until a newer one replaces it, the child is removed from the phone (their saves then go from our server when that phone next reaches Sanabel+ with the parent signed in), the parent removes them from the account on the daily save's card, or the account is deleted. A save that won't open when a child is brought back is deleted. When Sanabel+ ends, the last two stay 3 months, then are deleted.

Hosting and logs: Cloudflare hosts our server, its database and the children's daily saves. The server's log lines carry an error code and a request number, never a token, an email or an account number, and Cloudflare keeps them for at most 7 days. Like any host, Cloudflare sees the connection's IP address and uses it to limit how often the server can be called; we do not keep it.

8. Ads, purchases and links

The app shows no ads, contains no advertising SDK, and has no analytics beyond the crash and app-start reports in section 6. Its only purchase is the Sanabel+ subscription (section 7), which a child cannot reach behind the passcode; that is why the app's permissions include Google Play billing. It has no chat and no contact with other users. It leaves the app in these places only: the phone's settings, to turn the microphone on if that permission was refused; Android's print screen or share menu, when a sheet is printed or shared (section 10); and, from the parent area and the first-launch setup only, Google's sign-in sheet and Google Play's purchase sheet, Google Play's subscriptions page to manage the subscription, this page in the browser, Sanabel's page on Google Play to rate it, and the parent's own mail app, with a message to us already addressed. Sanabel sends nothing itself: a message leaves only if the parent sends it from their mail app, and we use what a parent writes only to answer them and to improve Sanabel, and keep it no longer than that needs. Once, in the parent area, Google Play may show its own rating sheet over the app; Google handles the rating, and the app is not told whether or how the parent rated.

9. Children

This app is directed to children. We comply with Google Play's Families policies, COPPA, and GDPR including its provisions for children. We collect no personal data from children beyond the installation identifier in section 6, used only to find and fix faults, and Sanabel+'s daily save (section 7): a parent turns it on by subscribing and can set it to manual, and it carries the child's progress and garden under a random number, never their name or voice, used only to bring their journey back on another phone. A Sanabel+ account is always the parent's, never the child's, and what our server keeps about it is in section 7. We do not serve personalised advertising, and do not share data with third parties for marketing.

10. Data sharing

We do not sell or share any data. We use two service providers only: Google, for crash reporting (Firebase Crashlytics) and for Sanabel+'s sign-in, payment and app check (Google account, Google Play, Play Integrity); and Cloudflare, to deliver the recitation audio and the voices and to host Sanabel's server, its database and the children's daily saves.

Sheets to print: in the letters and maths sections, a sheet can be printed, or saved as an image and shared. A sheet holds nothing about the child: a letter and words, or numbers and sums, drawings, and empty lines for a name and a date. The app hands it to Android's print screen or share menu and sends it nowhere itself, so it goes only to the printer or app chosen there, never to us. The image is written to the app's own temporary storage first.

11. Deleting data

To delete everything the app stores on the device, uninstall it or clear its data in system settings. A copy in the family's own Google account backup is deleted from that account's backup settings. Crash reports are tied to no name or account, so we cannot pick out one family's reports; Crashlytics deletes them after 90 days. Firebase may keep the installation identifier for longer; it too is tied to no name or account.

A Sanabel+ account is deleted by the parent in the app (parent area → App → Sanabel+ → Delete account), or without the app at api.sanabel.amigoslab.net/account/delete, by signing in with the same Google account. Deleting first stops the subscription's renewals, then deletes the account, its phones' sessions, its purchase records and every child's saves at once. We keep only the hash of the Google account's identifier for 30 days, so that restoring our database from its history cannot bring a deleted account back; Cloudflare's restore history keeps deleted data for at most 30 days, after which it is gone. Google keeps its own record of the purchase under its policy. Signing out deletes that phone's session, and removing a child, from the phone or from the account on the daily save's card, deletes their saves from our server. For any question about your data, contact sanabel.amigoslab@gmail.com.

12. Changes to this policy

If our practices change we will update this page and the effective date below.

Español

En resumen: Sanabel es una app educativa para niños. No muestra anuncios y funciona entera sin cuenta: el niño compra en el mercado de la app con monedas que gana aprendiendo, nunca con dinero. Nada de lo que el niño escribe o dice sale del dispositivo. Su progreso solo sale con Sanabel+, en la copia diaria del recorrido de cada niño a la cuenta del padre (sección 7), sin su nombre ni sus grabaciones. Sanabel+ es una suscripción opcional que solo compra un padre, con Google Play, desde la zona de padres protegida con código; necesita que el padre inicie sesión con una cuenta de Google, y entonces nuestro servidor guarda la cuenta del padre, sus teléfonos y sus compras, y de cada niño un número aleatorio y sus dos últimas copias diarias (sección 7). Aparte de eso, lo que sale del dispositivo es: datos técnicos que llegan a Firebase Crashlytics, de Google, para detectar fallos, las solicitudes para descargar audio de recitación y las voces de Sanabel+ para sus suscriptores. Las hojas de letras y de matemáticas para imprimir solo salen cuando se imprimen o se comparten, a la impresora o la app que se elija, y no contienen nada sobre el niño.

1. Quiénes somos

Esta app la publica Amigos-lab, editor de las apps Rafiqi y Sanabel. Contacto para cuestiones de privacidad: sanabel.amigoslab@gmail.com.

2. Lo que no recopilamos

La app no recopila ni transmite nada de lo siguiente:

El micrófono se usa en una sola función, que el niño inicia por sí mismo — ver la sección 4.

3. Lo que se guarda en tu dispositivo

La app guarda lo siguiente en el dispositivo y no envía nada de ello a ningún servidor, salvo que la copia diaria de Sanabel+ lleva los dos primeros puntos, y los ajustes y la imagen del niño (sección 7). Con más de un niño (cuatro como máximo), lo de cada uno se guarda aparte:

Si un padre inicia sesión para Sanabel+, la app también guarda en el dispositivo: el correo de la cuenta de Google, que se muestra en la zona de padres; el pase que firma nuestro servidor, que abre Sanabel+; las voces de Sanabel+ descargadas (sección 5); y el token de la sesión y un identificador de instalación aleatorio que crea la app. Estos dos últimos están cifrados con una clave del Android Keystore y se envían a nuestro servidor con cada solicitud (sección 7).

Copia de seguridad: Android puede incluir el progreso y los ajustes en la copia de seguridad de la cuenta de Google de la familia. Es una función del propio Android, sujeta a las condiciones de Google; la app no le envía nada por su cuenta. Los nombres de los niños, las grabaciones, el audio de recitación y las voces descargados, el token de la sesión y el identificador de instalación quedan fuera de esa copia y de la transferencia a un teléfono nuevo, así que un teléfono restaurado desde una copia vuelve a iniciar sesión. El código de los padres solo figura en ella como hash. El correo del padre y el pase pueden figurar en ella con los ajustes.

Todo se borra del dispositivo al desinstalar la app o al borrar sus datos en los ajustes del sistema.

4. Micrófono, grabaciones y voz

En la pantalla «Mis grabaciones» el niño graba su propia recitación y se escucha después. El permiso de micrófono se pide solo para esta función, y únicamente cuando el niño empieza a grabar.

Las grabaciones se quedan en el dispositivo y nunca se suben a ningún servidor. Cada niño tiene las suyas. Quedan fuera de la copia de seguridad en la nube de Android y de la transferencia entre dispositivos. Cualquier grabación se puede borrar desde la app, y todas se borran al desinstalarla.

Un padre escucha estas grabaciones en la zona de padres para aprobar una sura como memorizada, también en el mismo dispositivo.

Mucho de lo que la app dice en voz alta es audio ya grabado: una parte va dentro de la app y otra la descargan los suscriptores de Sanabel+ (sección 5). Una frase sin archivo de audio la lee el motor de texto a voz del propio teléfono; la app no envía ningún texto por su cuenta. Los sonidos de los animales son archivos incluidos en la app.

5. Descargas

La app incluye cinco suras que funcionan sin conexión: Al-Fatiha, Al-Kawthar, Al-Ikhlas, Al-Falaq y An-Nas. Al elegir otra sura, la app descarga su audio una sola vez desde rafiqi-quran.amigoslab.net, el servidor de Amigos-lab que también usa Rafiqi Quran. Después el audio se queda en el dispositivo y funciona sin conexión.

Estas solicitudes no llevan ningún identificador: ni cuenta, ni ID del dispositivo, ni cookies, ni datos del niño. Solo la ruta fija de un archivo. Nuestro proveedor de alojamiento (Cloudflare) ve la dirección IP de la conexión y la ruta solicitada en sus registros habituales, como en cualquier descarga. Nosotros no recopilamos ni conservamos esos registros.

Voces de Sanabel+: cuando Sanabel+ está abierto y un padre ha iniciado sesión, la app descarga los archivos de voz del servidor de Sanabel, api.sanabel.amigoslab.net. Estas solicitudes llevan la sesión del padre y el identificador de instalación (sección 7), para que el servidor compruebe la suscripción; el servidor no guarda ningún registro de quién las descarga. Después las voces se quedan en el dispositivo y funcionan sin conexión.

La app comprueba la firma digital de cada archivo antes de usarlo, para que al niño no se le reproduzca nada distinto de lo previsto.

6. Informes de fallos (Firebase)

Usamos Firebase Crashlytics (Google) para detectar y corregir fallos técnicos, solo en la versión publicada de la app.

Al abrir la app, las bibliotecas de Firebase crean un identificador de instalación para esta app y registran el inicio de una sesión: el fabricante y el modelo del dispositivo, las versiones del sistema y de la app, el tipo de conexión a la red y la hora en que se abrió la app. Google lo usa para contar cuántos dispositivos afecta cada fallo.

Cuando ocurre un fallo o un error técnico, se envía:

Nada de esto contiene el nombre del niño, el código de los padres, la voz del niño ni lo que escribe, y no lo vinculamos a ninguna cuenta ni identidad. Se envía cifrado por HTTPS. Crashlytics conserva los datos de fallos, y su copia de los identificadores, 90 días antes de eliminarlos. Firebase puede conservar el identificador de instalación en sí hasta que se elimine; identifica una instalación de la app, no a una persona, y al borrar los datos de la app o reinstalarla esta recibe uno nuevo. Política de privacidad de Google: policies.google.com/privacy; privacidad en Firebase: firebase.google.com/support/privacy.

7. Sanabel+ y la cuenta de Google del padre

Sanabel+ es una suscripción opcional que abre el resto de las lecciones y los juegos; toda la app funciona sin ella. Solo la compra un padre, desde la zona de padres protegida con código o desde la configuración inicial, con Google Play, que se encarga del pago.

Inicio de sesión: Sanabel+ necesita que el padre inicie sesión con una cuenta de Google, en la ventana de inicio de sesión de Android, para que la suscripción le acompañe en cualquier teléfono. El teléfono envía el token de inicio de sesión que emite Google a nuestro servidor, api.sanabel.amigoslab.net, que lo comprueba con Google y solo guarda un hash de un solo sentido del identificador de la cuenta de Google, no el correo electrónico ni el nombre que el token también lleva.

Lo que guarda nuestro servidor:

El servidor nunca guarda el nombre, la voz ni las grabaciones del niño, ni el código de los padres ni los ajustes de la familia.

La copia diaria: con Sanabel+, el teléfono envía el recorrido de cada niño que ha jugado desde su última copia, como mucho una vez al día, cuando la app pasa a segundo plano, para que el padre pueda recuperarlo en un teléfono nuevo tras iniciar sesión. El padre puede ponerla en manual (zona de padres → App → Copia diaria), y entonces no se envía nada hasta que toque «Guardar ahora».

Cuándo contacta la app con nuestro servidor: después de que un padre inicie sesión: para iniciar y cerrar sesión, para comprar o restaurar una compra, para comprobar la suscripción una vez al día, para descargar las voces de Sanabel+, y para las copias diarias de los niños y su recuperación en un teléfono nuevo. Cada solicitud lleva el token de la sesión, el identificador de instalación y la versión de la app. Al iniciar sesión y al comprar, la app pide a Google Play que confirme que la app y el teléfono son auténticos (Play Integrity); el servidor lee la respuesta de Google y no la guarda.

Antes de abrir las pantallas de Google, o cuando no puede mostrar los precios de la suscripción, la app pregunta a nuestro servidor si está disponible, incluso antes de que un padre inicie sesión, para avisarle si el teléfono no tiene conexión a internet. Esa solicitud no lleva nada de la app: ni token de sesión, ni identificador de instalación, ni versión de la app.

Cuánto tiempo: la sesión de un teléfono termina al cerrar sesión, o tras 180 días sin usarse, y entonces se elimina. La cuenta y sus compras se conservan hasta que el padre elimine la cuenta (sección 11). La copia de un niño se conserva hasta que otra más reciente la sustituya, se quite al niño del teléfono (sus copias salen entonces de nuestro servidor la próxima vez que ese teléfono llegue a Sanabel+ con la sesión del padre iniciada), el padre lo quite de la cuenta en la tarjeta de copia diaria o se elimine la cuenta. Una copia que no se abre al recuperar a un niño se elimina. Si Sanabel+ termina, las dos últimas se conservan 3 meses y después se eliminan.

Alojamiento y registros: Cloudflare aloja nuestro servidor, su base de datos y las copias diarias de los niños. Las líneas del registro del servidor llevan un código de error y un número de solicitud, nunca un token, un correo ni un número de cuenta, y Cloudflare las conserva 7 días como máximo. Como cualquier alojamiento, Cloudflare ve la dirección IP de la conexión y la usa para limitar cuántas veces se puede llamar al servidor; nosotros no la guardamos.

8. Anuncios, compras y enlaces

La app no muestra anuncios, no contiene ningún SDK de publicidad y no tiene más analítica que los informes de fallos y de inicio de la sección 6. Su única compra es la suscripción a Sanabel+ (sección 7), a la que un niño no llega porque está tras el código; por eso entre los permisos de la app figura la facturación de Google Play. No tiene chat ni contacto con otros usuarios. Solo sale de la app en estos casos: a los ajustes del teléfono, para activar el micrófono si se rechazó ese permiso; a la pantalla de impresión o al menú de compartir de Android, cuando se imprime o se comparte una hoja (sección 10); y, solo desde la zona de padres y la configuración inicial, a la ventana de inicio de sesión de Google y la de compra de Google Play, a la página de suscripciones de Google Play para gestionar la suscripción, a esta página en el navegador, a la página de Sanabel en Google Play, para valorarla, y a la app de correo del propio padre, con un mensaje ya dirigido a nosotros. Sanabel no envía nada por sí misma: el mensaje solo sale si el padre lo envía desde su correo, y lo que escribe solo lo usamos para responderle y mejorar Sanabel, y no lo guardamos más de lo necesario para ello. Una sola vez, en la zona de padres, Google Play puede mostrar su propia ventana de valoración sobre la app; Google gestiona la valoración y la app no sabe si el padre valoró ni cómo.

9. Niños

Esta app está dirigida a niños. Cumplimos las políticas para familias de Google Play, la COPPA y el RGPD, incluidas sus disposiciones sobre menores. No recopilamos datos personales de los niños aparte del identificador de instalación de la sección 6, que solo se usa para detectar y corregir fallos, y la copia diaria de Sanabel+ (sección 7): un padre la activa al suscribirse y puede ponerla en manual, y lleva el progreso y el jardín del niño con un número aleatorio, nunca su nombre ni su voz, solo para recuperar su recorrido en otro teléfono. Una cuenta de Sanabel+ es siempre del padre, nunca del niño, y lo que nuestro servidor guarda de ella está en la sección 7. No mostramos publicidad personalizada y no compartimos datos con terceros con fines de marketing.

10. Compartir datos

No vendemos ni compartimos ningún dato. Solo usamos dos proveedores de servicios: Google, para los informes de fallos (Firebase Crashlytics) y para el inicio de sesión, el pago y la comprobación de la app en Sanabel+ (cuenta de Google, Google Play, Play Integrity); y Cloudflare, para entregar el audio de recitación y las voces y para alojar el servidor de Sanabel, su base de datos y las copias diarias de los niños.

Hojas para imprimir: en las secciones de letras y de matemáticas, una hoja se puede imprimir, o guardar como imagen y compartir. Una hoja no contiene nada sobre el niño: una letra y palabras, o números y cuentas, dibujos, y líneas vacías para el nombre y la fecha. La app la entrega a la pantalla de impresión o al menú de compartir de Android y no la envía a ningún sitio por su cuenta, así que solo va a la impresora o la app que se elija allí, nunca a nosotros. La imagen se escribe antes en el almacenamiento temporal de la propia app.

11. Eliminar datos

Para borrar todo lo que la app guarda en el dispositivo, desinstálala o borra sus datos en los ajustes del sistema. Una copia en la copia de seguridad de la cuenta de Google de la familia se borra desde los ajustes de copia de seguridad de esa cuenta. Los informes de fallos no están vinculados a ningún nombre ni cuenta, así que no podemos distinguir los de una familia concreta; Crashlytics los elimina a los 90 días. Firebase puede conservar el identificador de instalación durante más tiempo; tampoco está vinculado a ningún nombre ni cuenta.

Una cuenta de Sanabel+ la elimina el padre en la app (zona de padres → Aplicación → Sanabel+ → Eliminar la cuenta), o sin la app en api.sanabel.amigoslab.net/account/delete, iniciando sesión con la misma cuenta de Google. Al eliminarla, primero se detienen las renovaciones de la suscripción y después se eliminan a la vez la cuenta, las sesiones de sus teléfonos, sus registros de compras y las copias de todos sus niños. Solo conservamos 30 días el hash del identificador de la cuenta de Google, para que restaurar nuestra base de datos desde su historial no pueda devolver una cuenta eliminada; el historial de restauración de Cloudflare conserva los datos eliminados 30 días como máximo, y después desaparecen. Google conserva su propio registro de la compra según su política. Cerrar sesión elimina la sesión de ese teléfono, y quitar a un niño, del teléfono o de la cuenta en la tarjeta de copia diaria, elimina sus copias de nuestro servidor. Para cualquier pregunta sobre tus datos, escríbenos a sanabel.amigoslab@gmail.com.

12. Cambios en esta política

Si cambian nuestras prácticas, actualizaremos esta página y la fecha de entrada en vigor de abajo.

تاريخ السريان / Effective date / Fecha de entrada en vigor: 18 October 2026
التطبيق / App: سنابل (Sanabel) · net.amigoslab.kids.sanabel
الناشر / Publisher / Editor: Amigos-lab