> ## Documentation Index
> Fetch the complete documentation index at: https://shinydapps-bd9fa40b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# هندسة الخصوصية

> كيف يخزن l402-kit صفراً من البيانات الشخصية (PII)، ويُوثّق الهوية عبر المحفظة، ويحافظ على توزيع المفاتيح — نموذج خصوصية يليق بـ Bitcoin.

## مشكلة واجهات برمجة الدفع التقليدية

Stripe وLemonSqueezy وPaddle — كل مزود دفع تقليدي يتطلب:

* عنوان بريد إلكتروني (بيانات شخصية، مسؤولية قانونية بموجب GDPR)
* حساباً وكلمة مرور (قابلة للتصيد والاختراق)
* تخزيناً مركزياً للمفاتيح (نقطة فشل واحدة)
* الثقة بأن المزود لن يبيع بياناتك

يغيّر Lightning Network النموذج كلياً. **محفظتك هي إثبات مشفور للهوية.** بُني l402-kit على هذا الأساس.

***

## ما نخزّنه — وما لا نخزّنه

| البيانات                | مُخزَّن            | السبب                                                |
| ----------------------- | ------------------ | ---------------------------------------------------- |
| `payment_hash`          | ✅ نعم              | SHA-256 للـ preimage — منشور مسبقاً في فاتورة BOLT11 |
| عنوان Lightning         | ✅ نعم (المالك فقط) | مطلوب لتوجيه التقسيم بنسبة 99.7%                     |
| نقطة النهاية المُستدعاة | ✅ نعم              | مطلوب لتحليلاتك                                      |
| `preimage` (سر الدفع)   | ❌ أبداً            | سيكشف مفتاح الدفع                                    |
| البريد الإلكتروني       | ❌ أبداً            | غير مطلوب — المحفظة هي الهوية                        |
| الاسم / IP / الجهاز     | ❌ أبداً            | لا يُجمع في أي طبقة                                  |
| الكوكيز / التتبع        | ❌ أبداً            | لا توجد حزم تحليل، لا بصمات رقمية                    |

### لماذا `payment_hash` آمن للتخزين

الـ preimage هو السر المؤلف من 32 بايت الذي يُثبت الدفع. أما هاش SHA-256 الخاص به (`payment_hash`) فيُبثّ علناً في فاتورة BOLT11 فور إنشائها. تخزين الهاش لا يكشف شيئاً — إذ لا يلمس الـ preimage قاعدة بياناتنا أبداً.

```
preimage  →  SHA-256  →  payment_hash  (public, in BOLT11)
   ↑
never stored
```

***

## التوثيق: محفظتك، لا كلمة مرور

### لوحة تحكم المطوّر

تُوثّق لوحة التحليلات الهوية عبر **LNURL-auth** — نفس تدفق secp256k1 الذي تستخدمه محافظ Lightning Network:

```
sequenceDiagram
  participant D as Dashboard
  participant W as Your Wallet
  participant S as Supabase

  D->>S: Request challenge (k1 = 32 random bytes)
  S-->>D: k1 encoded as LNURL
  D->>W: Display QR / deeplink
  W->>S: GET ?tag=login&k1&sig&key (secp256k1 signature)
  S->>S: verify(sig, k1, pubkey) — no server call
  S-->>D: JWT (Supabase session)
  D->>S: Read payments, stats (RLS enforced)
```

لا كلمة مرور للتصيد. لا رمز جلسة يُسرق من الحافة. الـ JWT مقيّد بأمان Row Level Security — لا يرى أي مفتاح عام آخر شيئاً.

### حذف البيانات

فقط محفظتك يمكنها تفويض حذف بياناتك. التدفق:

1. يستدعي العميل `/api/lnurl-auth?lightningAddress=you@yourdomain.com`
2. يُعيد الخادم تحدي k1 لمرة واحدة + LNURL
3. تُوقّع محفظتك k1 بمفتاحها الخاص secp256k1
4. يتحقق الخادم من التوقيع — ويُصدر رمزاً مكوّناً من 64 حرفاً للاستخدام مرة واحدة
5. يُرسل العميل طلب POST إلى `/api/delete-data` مع `{ lightningAddress, token }`
6. يُلغي الخادم الرمز فوراً (لمنع إعادة الاستخدام) ويحذف جميع الصفوف
7. البيانات مُحذوفة — لا تذكرة دعم، لا تأكيد بريد إلكتروني

**لماذا هذا قوي:** لا يستطيع مهاجم يعرف عنوان Lightning Network الخاص بك حذف بياناتك دون مفتاحك الخاص. الرمز للاستخدام مرة واحدة وينتهي صلاحيته خلال 10 دقائق.

***

## توزيع المفاتيح

خدمات SaaS التقليدية: اختراق واحد ← كل شيء مكشوف.

يوزّع l402-kit الثقة عبر طبقات:

```
Layer          Holds                          Can do if breached
─────────────────────────────────────────────────────────────────
Cloudflare     Env secrets (Workers)          Create invoices (not read data)
Supabase       Payment rows (hashed)          See payment_hash + endpoints
               RLS policies                  Cannot bypass without service key
               Edge Functions                 Logic runs inside DB boundary
Lightning      Your private key               Never leaves your wallet
Your wallet    secp256k1 keypair              Signs challenges (offline capable)
```

لا طبقة واحدة تملك ما يكفي لانتحال هويتك، أو قراءة بياناتك الشخصية، أو تفريغ محفظتك.

***

## الامتثال لـ LGPD / GDPR بحكم التصميم

نظراً لأننا لا نخزّن أي بيانات شخصية (PII)، فإن معظم التزامات LGPD/GDPR لا تنطبق:

* **لا طلبات الاطلاع على البيانات** — لا توجد هوية للبحث عنها
* **لا إشعار اختراق للبيانات الشخصية** — الـ payment\_hash ليس بياناً شخصياً
* **لا موافقة على الكوكيز** — لا تتبع، لا كوكيز
* **حق المحو** — مُنفَّذ مشفورياً عبر حذف LNURL-auth

هذا ليس رأياً قانونياً. لكن "نحن لا نجمعها" موقف أقوى من "نجمعها ونحميها."

***

## مدفوعات Lightning Network خاصة افتراضياً

لا تُعرّف مدفوعات Lightning Network الدافع على السلسلة:

* لا اسم، لا عنوان، لا حساب مصرفي
* مسار الدفع مشفّر بالبصل (مثل Tor)
* فقط مُصدر الفاتورة يعلم بتسوية الدفع
* لا تُكشف هوية الدافع للمستفيد أبداً

يدفع مستخدمو واجهة برمجة التطبيقات الخاصة بك بشكل مجهول. أنت تعلم أن الفاتورة سُدِّدت. هذا كل ما يحتاجه أي من الطرفين.

***

## مقارنة

|                         | l402-kit        | Stripe                    | LemonSqueezy              |
| ----------------------- | --------------- | ------------------------- | ------------------------- |
| البريد الإلكتروني مطلوب | ❌               | ✅                         | ✅                         |
| الحساب مطلوب            | ❌               | ✅                         | ✅                         |
| KYC / التحقق من الهوية  | ❌               | ✅                         | ✅                         |
| بيانات شخصية مخزّنة     | ❌               | ✅                         | ✅                         |
| طريقة التوثيق           | محفظة secp256k1 | بريد إلكتروني + كلمة مرور | بريد إلكتروني + كلمة مرور |
| آلية الحذف              | إثبات مشفور     | طلب بريد إلكتروني         | طلب بريد إلكتروني         |
| عبء LGPD/GDPR           | ضئيل            | مرتفع                     | مرتفع                     |
| الدافع مجهول            | ✅               | ❌                         | ❌                         |

***

## ما يعنيه هذا لمستخدميك

إذا بنيت على l402-kit:

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

هذه هي طبقة الدفع التي يستحقها Bitcoin.
