Skip to main content

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

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-kitStripeLemonSqueezy
البريد الإلكتروني مطلوب
الحساب مطلوب
KYC / التحقق من الهوية
بيانات شخصية مخزّنة
طريقة التوثيقمحفظة secp256k1بريد إلكتروني + كلمة مروربريد إلكتروني + كلمة مرور
آلية الحذفإثبات مشفورطلب بريد إلكترونيطلب بريد إلكتروني
عبء LGPD/GDPRضئيلمرتفعمرتفع
الدافع مجهول

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

إذا بنيت على l402-kit:
  • لا يُسلّم مستخدموك بريدهم الإلكتروني قط
  • اختراق قاعدة بياناتك لا يكشف أي بيانات شخصية
  • يمكن لأي وكيل ذكاء اصطناعي الدفع لواجهة برمجة التطبيقات الخاصة بك دون حساب أو هوية
  • المستخدمون الراغبون في حذف بياناتهم يفعلون ذلك بأنفسهم، فوراً، بمحافظهم
هذه هي طبقة الدفع التي يستحقها Bitcoin.