وضعية الأمان
بُني للثقة، لا للاستعراض
لسنا شركة أمان، لكنّ ConKarma يحمل ذلك النوع من البيانات — أطفال، شركاء، طقوس يومية — الذي يستحقّ إجاباتٍ صادقة عن كيفية حمايتنا له. هذه الصفحة هي النسخة بلا تجميل.
آخر مراجعة:
كيف يعمل تسجيل الدخول
نتعامل مع كلمة المرور بوصفها سرًّا لا نراه أبدًا بالنص الواضح، نحفظ أقوى تجزئة تُتيحها المواصفة، وندوّر رموز التجديد كي لا تعيش كوكي مسروقة أكثر من جلستها.
- تُجزّأ كلمات المرور بـ argon2id (ملفّ تعريف RFC 9106 m=19 MiB). تجزئات bcrypt القديمة تُرقَّى بشفافية عند تسجيل الدخول التالي — دون إعادة تعيين قسرية.
- تستخدم الجلسات عائلات رموز تجديد دوّارة. إن أُعيد تشغيل رمز مسروق، تُبطَل العائلة كاملة، ويُجبَر الجهاز الشرعي على إعادة المصادقة — لا تسوية صامتة.
- قفل الحساب القابل للضبط بعد محاولات فاشلة متكرّرة. يُمحى تلقائيًا عند أوّل تسجيل دخول صحيح — كي لا يحبسك خطأ كتابة.
- يستخدم تسجيل الدخول عبر Apple وتسجيل الدخول عبر Google بروتوكول OpenID Connect مباشرةً — إذ يتصل goia_api بـ Apple وGoogle بنفسه دون أي وسيط مصادقة خارجي في المسار. ولا نتلقى سوى معرّف المزوّد الأصلي، وبريدك الإلكتروني، وراية التحقق — ولا نتلقى أبدًا كلمة مرورك لدى المزوّد.
أمان تسجيل الدخول
كل تسجيل دخول يمر بعامل ثانٍ. كل دخول من جهاز جديد يُنبّهك. الآباء يبقون مُطّلعين بالنسبة لمن هم دون 18 دون تسرّب أي شيء آخر.
- مصادقة ثنائية عند كل تسجيل دخول: رمز من 6 أرقام بالبريد، نافذة 30 يوماً للأجهزة الموثوقة.
- تنبيه فوري بالبريد عند الوصول إلى حسابك من جهاز جديد: النوع، المدينة والبلد التقريبيان، الوقت. نقرة تُلغي الجهاز وتفرض تغيير كلمة المرور.
- دخول من هم دون 18 من أجهزة جديدة يُنبّه أيضاً أعضاء دور الوالد في خليتهم. شفّاف: القاصرون يرون في الإعدادات أيّ والد مهيَّأ.
- رموز احتياطية: 8 رموز للاستخدام الواحد عند الإعداد الأول، يمكن الوصول إليها من الإعدادات → الأمان، وتُجدَّد عند الطلب. مسار التعافي عند فقدان الوصول إلى البريد.
- تخزين كلمات المرور: argon2id، التجزئة الصلبة بالذاكرة المعيارية صناعياً. رموز الأجهزة الموثوقة منفصلة عن رموز الجلسة.
- تحقق مُقيَّد: 5 محاولات رمز فاشلة تُسبّب قفلاً لمدة 15 دقيقة.
حين يبدو شيءٌ غريبًا
إن وصل تسجيل دخول من بلد لم نَرَه على حسابك خلال آخر 30 يومًا، نراسلك بالبريد. تتضمّن الرسالة زرّ نقرة واحدة "لم أكن أنا" يلغي الجلسة ويسير بك مباشرة إلى إعادة تعيين كلمة المرور.
- تنبيهات بريدية لموقع غير معروف (واحد لكل بلد كل 30 يومًا — السفر لا يُغرقك بالرسائل).
- قائمة جلسات نشطة مع إلغاء لكل جهاز من داخل التطبيق. يمكنك إنهاء جلسة هاتفٍ مفقود دون تغيير كلمة المرور.
- تفاصيل تسجيل الدخول الفاشل (طابع زمني ورمز بلد فقط — لا IP خام أبدًا) ظاهرة في سجل الأمان داخل التطبيق.
تطبيقات حقيقية فقط
حركة الجوال موثَّقة بأنها صادرة من تثبيت ConKarma حقيقي على جهاز حقيقي. محاولات curl-ضد-الـAPI تُرفض بلطف — وذلك ما ينبغي لسطح API نزيه أن يفعله.
- Firebase App Check على iOS و Android. الرمز إلزامي مع كل استدعاء API من الجوال.
- تثبيت TLS للجوال عبر البيان الموقَّع في /.well-known/mobile-pins.json. تُوقَّع الإبر الجديدة بمفتاح غير متّصل وتُدوَّر بنافذة تداخل ستّة أسابيع — لئلّا يحبس التحديث أحدًا.
ميزات البالغين خارج نطاق التحليلات
في ConKarma منطقتان: منطقة Serene (كل ما هو ملائم للأسرة) ومنطقة Ember (ميزات +18). صفحات Ember عمدًا لا تُطلق أحداث تحليلات طرف ثالث. نجمع عدّادات Prometheus مجمَّعة على الخادم للسعة وزمن التشغيل؛ لا أكثر.
- أسطح البالغين (التحدّيات، الرغبات، الفنتازيات، المذكّرات الحميمة، الخزنة الخاصّة) لا تحمّل Google Analytics أبدًا.
- يلزم فتح القفل الحيوي للدخول إلى أسطح Ember في التطبيق. ينتهي مهلة النظام ويعيد القفل عند تبديل التطبيقات.
- حارس لقطات الشاشة يُخفي محتوى Ember عن مُبدّل التطبيقات في النظام وعن أي طبقة تسجيل شاشة.
- تفعيل منطقة البالغين لكل جهاز: مُفعَّل افتراضيًا على جهازك الرئيسي، ومُعطَّل على كل جهاز آخر. تختار صراحةً التفعيل لكل جهاز، والفحص من جانب الخادم يفشل بإغلاق الوصول (fail-closed).
- إعادة الطلب عند الخمول: يسقط القفل البيومتري بعد 5 دقائق من الخمول داخل Ember، أو 30 ثانية من البقاء في الخلفية. كلاهما قابل للتكوين من الإعدادات → الخصوصية.
- تصفير ذاكرة التخزين المؤقت: حين تعبر من Ember إلى Serene (أو تُرسِل التطبيق إلى الخلفية)، تُحذَف كل صورة مخزَّنة مؤقتًا من الذاكرة — دفاع متعمق ضد أدوات فحص الذاكرة.
- استبعاد Spotlight وApple Intelligence وAppIntents: لا يُتبرَّع أبدًا بمحتوى البالغين إلى Spotlight، أو نموذج اللغة على الجهاز، أو AppIntents، أو Smart Stack، أو ودجات شاشة القفل.
- وصول إداري بعينين: لا يستطيع أي إنسان في XTZ Group قراءة محتوى منطقة البالغين من جانب واحد — كل تجاوز يتطلب موافقة موقَّعة من مشرف ثانٍ، مُسجَّلة في سجل تدقيق غير قابل للتغيير.
- احتفاظ قابل للتكوين لمدة 3 سنوات للبالغين: تُحذَف صفوف منطقة البالغين تلقائيًا بعد 3 سنوات افتراضيًا. النافذة قابلة للتكوين من قِبَل المستخدم (من 90 يومًا إلى 10 سنوات) من الإعدادات → الخصوصية. حذف نهائي بمجرد انقضاء النافذة.
- ضوابط نسخة iCloud الاحتياطية وتصدير GDPR: مفتاحان اختياريان في الإعدادات → الخصوصية يُبقيان محتوى البالغين خارج نسخ الجهاز الاحتياطية وخارج تصدير بياناتك افتراضيًا — حتى لا تكشفه نسخ احتياطية أو تصديرات تُشارَك عن طريق الخطأ.
بنية الموافقة + أدوات النزاع
تمر المحادثات الصعبة والموافقة في منطقة البالغين عبر أسطح مُنظَّمة ومُختارة — لا عبر خط أنابيب ذكاء اصطناعي أبدًا. تبقى البيانات محلية أو خاصة بالزوجين.
- أدوات النزاع — استُبعد خط أنابيب الذكاء الاصطناعي: كل تدفق إصلاح بين الإخوة والأزواج وعبر الأجيال محتوى مُختار + نماذج مُنظَّمة.
- بنية الموافقة — Ember: مستند الحدود وربط كلمة الأمان وتسجيلات وصول aftercare تعيش على أساسيات E2E لـ Ember. مستند الحدود لا يصل أبدًا إلى خط أنابيب الذكاء الاصطناعي.
- الإخفاء الشخصي + ضوابط على مستوى الخلية: لا تحذف BE البيانات الأساسية. أي عملية علم دائم تتطلب بوابة مديرَين.
بنية موافقة Ember التحتية
أسطح مستوى البالغين لا تُشحَن مع خانة اختيار 'أوافق' عامة وتسمى موافقة. Ember مبني حول ثلاثة بدائل حيوية — وثيقة الحدود، والكلمة الآمنة، وفحوصات الرعاية اللاحقة — تعيش على نفس زوج المفاتيح المشفَّر المشفَّر من طرف إلى طرف كبقية المنطقة للبالغين. صياغة ناضجة طوال الوقت؛ وكالة، لا أبوية.
- وثيقة الحدود: كل شريك يبني وثيقته الخاصة ويعدِّلها، مرئية فقط للشريك الآخر في نفس خلية الثنائيين. لا تصل إلى خط أنابيب التحليلات لدينا؛ لا يقرأها أي ذكاء اصطناعي؛ لا تُنسَّخ من جانب الخادم خارج الكتلة المشفَّرة.
- ربط الكلمة الآمنة: عبارة كلمة آمنة مشتركة للثنائيين تُعيد فوراً كل سطح Ember إلى Serene + تكتب صف سجل خاص بالثنائيين. التفعيلات مرئية لكلا الشريكين فقط؛ مشغِّلو XTZ Group لا يستطيعون قراءتها.
- فحوصات الرعاية اللاحقة: مجدوَلة من قِبَل أي شريك بعد جلسة Ember، اختيارية لكل شريك، والإجابات تبقى خاصة بالثنائيين. لا عداد تفاعل، لا سلسلة، لا إلحاح.
- الصياغة الناضجة: النسخ والمطالبات تتعامل مع القراء البالغين كبالغين. لا نُطفِّل الأسطح بالمصطلحات الملطَّفة؛ كما لا نتكئ على قيمة الصدمة لنبدو متمردين.
المطابقة العمياء المزدوجة للموافقة
حين يستكشف شريكان أي فئات الخيال تتداخل، تعمل المطابقة كلياً على الجهاز مع ثابتين هيكليين لن نكسرهما: عدم الكشف عن الرفض (إذا نقر أي شريك لا، لا يرى أي منهما تلك الحقيقة) وصفر البيانات الخارجية للذكاء الاصطناعي (لا نموذج في أي مكان في مسار الاستدلال).
- ثابت عدم الكشف عن الرفض: ثنائي نعم/نعم يظهر في قائمة المطابقة المشتركة. أي تركيبة أخرى (نعم/لا، لا/نعم، لا/لا) لا تُعيد شيئاً — لا شريك يرى من قال لا، ولا يرى أن الشريك الآخر عُرِض عليه المطالبة أصلاً. هذا تصميم هيكلي مضاد للضغط، لا إعداد يمكنك إيقافه.
- ثابت صفر البيانات الخارجية للذكاء الاصطناعي: حساب المطابقة هو تقاطع مجموعة محلي. لا استدلال نموذج، لا بحث في التضمين، لا تقييم ذكاء اصطناعي للفئات أو التقترانات. مجموعة الفئات نفسها محتوى تحريري منتقى، لا مُولَّد.
- نتائج خاصة بالثنائيين: قائمة المطابقة مشفَّرة من طرف إلى طرف لزوج مفاتيح الثنائيين المشترك. على جانب الخادم نرى الأعداد (تخطيط السعة) لكن لا الفئات نفسها.
- ثوابت قابلة للتدقيق: الثابتان أعلاه مُطبَّقان في مسار الكود على الجهاز بدون مفاتيح تبديل وبدون تجاوز إداري. مشغِّل المنصة لا يمكنه إدراج ثنائيين في قياسات لهذا السطح — لا توجد قياسات للإدراج فيها.
امتثال قانون Take It Down — قناة إشعار عامة
يتطلب قانون TAKE IT DOWN الفيدرالي (٢٠٢٥) من المنصات التي تستضيف محتوى المستخدم التصرف على طلبات إزالة الصور الحميمة غير التوافقية خلال ٤٨ ساعة. قناة الإشعار العام لـConKarma + الإجراءات منشورة في /legal/takedown-notice؛ هذا القسم هو ملخص موقف الأمان.
- القناة: legal@conkarma.app (سطر الموضوع: إشعار Take It Down / إشعار DMCA / عاجل — تقرير CSAM).
- الالتزام: مستوى خدمة ٤٨ ساعة من استلام طلب صالح حتى الإزالة أو تعطيل الوصول.
- التغطية: NCII (حقيقية أو deepfakes مُولَّدة بالذكاء الاصطناعي)، حقوق طبع ونشر DMCA، CSAM (أولوية مرتفعة + تقرير NCMEC)، وتقارير المحتوى غير المشروع الأوسع.
- الإشعار المضاد: مسار الإشعار المضاد لـDMCA عبر نفس القناة؛ نافذة استعادة قانونية ١٠–١٤ يوم عمل في غياب أمر محكمة.
- التدقيق: كل إشعار + كل إجراء متخذ مُسجَّل ومحفوظ للفترات التي يستلزمها القانون. الإشعارات سيئة النية قد تُعرِّض مُرسِلها للمسؤولية المدنية بموجب القانون وDMCA §512(f) وشروطنا.
الدوّار التنظيمي الإقليمي
حيثما أصدرت الولايات الأمريكية أو الولايات القضائية الأخرى قوانين تقيِّد ما يمكن للمنصة تقديمه (أنظمة التحقق من السن، قيود فئة المحتوى، ولوائح حفظ السجلات)، نُعدِّل السلوك إقليمياً بدلاً من الانسحاب من السوق. المقايضة الصادقة: يُشكِّل قانون الولاية شكل السطح للمستخدمين في تلك الولاية، لا ما نعتقده تصميم منتج صحيح.
- اكتشاف المنطقة: بناءً على البلد المُعلَن للمستخدم + (للولايات المتحدة) الولاية التي كوَّنها في الإعدادات، لا الموقع الجغرافي بالعنوان IP وحده. يمكن للمستخدمين تجاوز المنطقة المستنتجة إذا كانت خاطئة.
- ما يُعدَّل: تدفقات التحقق من السن (ولايات نمط KOSA)، بوابة المحتوى للبالغين، نوافذ الاحتفاظ حيثما يمليها قانون الولاية، ونسخ الإفصاح حيثما يتطلب الولايةُ صياغةً محددة.
- ما لا يُعدَّل: موقف التشفير من طرف إلى طرف، ثوابت صفر البيانات الخارجية للذكاء الاصطناعي، الإعداد الافتراضي المتوافق مع COPPA لمن هم دون ١٣ عاماً، وثابت جدول عدم خلط صفوف المحتوى للبالغين. هذه غير قابلة للتفاوض عبر الولايات القضائية.
- الشفافية: التكوين الإقليمي المطبَّق على حسابك مرئي في الإعدادات → الخصوصية → الوضع الإقليمي. إذا كنت تعتقد أنه خاطئ لولايتك القضائية، قدِّم إشعار Take It Down أو اكتب إلى legal@conkarma.app.
الأطفال ليسوا رافعة نموّ
تمرّ حسابات من هم دون 13 عبر تدفّق موافقة والدية قابلة للتحقّق قبل وجودها. لا نعرض إعلانات على حسابات الأطفال، نقطة. لا نبيع بيانات الأطفال، ولا نشاركها للإعلان، ولا نستخدمها لاستهداف أيّ شيء.
- موافقة والدية قابلة للتحقّق وفق COPPA §312.5 (مسار توثيق حامل بطاقة ائتمان موقَّع، مع بديل للأسر بلا بطاقة).
- لا إعلانات لأطراف ثالثة من أي نوع على حسابات من هم دون 13.
- يمكن للوالدين عرض بيانات حساب طفلهم، وتصديرها، ومحوها في أي وقت من داخل التطبيق.
الثقة تأتي من الخلية، لا منّا
ConKarma منتج دائرة مغلقة. لا ملفّات شخصية عامّة، ولا رسوم متابعين، ولا طريقة لاكتشاف الغرباء. يحدث معظم الإشراف لأنّكم وأهل خليّتكم أصلًا تعرفون بعضكم وتثقون. وحيث يحتاج النموذج إلى مساعدة، عندنا تدفّق إبلاغ وطابور إشراف فيه إنسان.
- الخلايا مغلقة افتراضيًا. لا اكتشاف عام، ولا ملف عام، ولا اقتراحات صديق-صديق.
- تدفّق إبلاغ المستخدم على كل سطح محتوى، يُوجَّه إلى طابور إشراف يديره بشر.
- المسح المستند إلى التجزئة لـ CSAM المعروف مُتتبَّع كإنجاز معروف-ومُعلَّق، مع محفِّزات إعادة نظر صريحة عند الانتقال إلى ملف تخزين وسائط يستلزمه. لن نزعمه قبل أن يصير حقيقيًا.
ما نحتفظ به، أين، وكيف تستردّه
نوثّق هذا بإفراطٍ في /privacy و /legal/subprocessors، لكن النسخة القصيرة المتعلّقة بالأمان: مشفَّر في الراحة، مخزَّن حيث تغطّيه أوراق SCC، قابل للتصدير والمحو عند الطلب، ولا نحتفظ بأكثر من اللازم.
- ضوابط تصدير ومحو وفق GDPR و CCPA و Quebec-25 موجودة داخل التطبيق — لا خلف تذكرة دعم. للمحو نافذة تسامح soft-delete مدّتها 30 يومًا في حال غيّرت رأيك.
- تشفير في الراحة على قاعدة بيانات Postgres وعلى تخزين الكائنات (بنية تحتية تديرها Supabase).
- لا تُخزَّن عناوين IP خام على أي سطح يراه المستخدم. قائمة الجلسات النشطة تُظهر فقط رمز البلد من حرفين؛ تتواجد IP الخام لفترة قصيرة في صفوف أحداث الأمان للاستخدام الجنائي تحت احتفاظ قصير.
إن وجدت شيئًا، أخبِرنا
لا نُشغّل bug-bounty مدفوعة بعد — تلك ثغرة حقيقية، وسنتحرّك حين تستحقّ الوقت التشغيلي الذي تحتاجه. حتى ذلك الحين، نرحّب بالتقارير بحسن نيّة ونؤكّد استلامها خلال خمسة أيام عمل.
البريد الإلكتروني: security@conkarma.app
- أرسل بريدًا إلى security@conkarma.app بالتفاصيل. مفتاح PGP عند الطلب.
- نلتزم بتأكيد الاستلام خلال 5 أيام عمل والردّ الجوهري خلال 30 يومًا.
- إفصاح منسَّق: نافذة افتراضية 90 يومًا قبل الإفصاح العام، قابلة للتمديد بالاتفاق.
- لن نتّخذ إجراءات قانونية ضدّ بحث أمني بحسن نيّة يلتزم بالإفصاح المسؤول.