html2wp / البيانات
ماذا يفعل html2wp ببياناتك
وصف واضح لما يغادر جهازك، ولماذا، وكم من الوقت نحتفظ به. ملف README يذكر هذه الأمور نفسها عرضًا فقط. هذه هي النسخة التي يمكنك أن تحيل إليها عميلك.
التحويل نفسه
لكي تحوّل الخدمة موقعًا، يجب أن تستلمه. عندما تشغّل المرحلة 3، ترفع المهارة (skill) أرشيفًا واحدًا إلى api.html2wp.dev:
conversion-manifest.json، أي القرارات التي اتخذتها بشأن الموقعastro-report.json، وهو جرد الأجزاء المشتركة بين الصفحات (الإطار، أو chrome) من المرحلة 1astro-project/، بما فيهdist/، وهو الموقع المبنيchrome-at-rest/وchrome-groups.jsonوstyle-specimens/إن وُجدت
هذا هو موقع عميلك: ترميزه وأنماطه وسكربتاته وصوره. لا توجد طريقة لتحويل موقع دون إرساله، وأي صياغة توحي بغير ذلك ستكون كاذبة. يسرد SKILL.md الملفات بدقة تحت عنوان What goes up (ما الذي يُرفع). إذا كنت تفضّل التحقق بنفسك بدل الاكتفاء بكلامنا، فإن convert-remote.sh سكربت shell مقروء.
ما الذي لا يتضمنه هذا الأرشيف
مجلد الإدخال لديك ليس فيه، لأن الناتج المبني وحده هو ما يُرسل. ولا يتضمن node_modules. وليس فيه أي شيء يشبه بيانات الاعتماد: .env و.env.*، *.pem، *.key، id_rsa، credentials.json، .npmrc، .netrc، .ssh/، .aws/، وكذلك أي ملف يحتوي على كتلة مفتاح خاص أو تعيين واضح لقيمة سرية. يسرد المرشّح كل ما يستبعده بالاسم في astro-report.json، فترى ما الذي لم يُرسل.
يتولى الذكاء الاصطناعي من حسابك الخاص في ChatGPT العمل على جهازك (القياس، والمقارنة مع الأصل، والإصلاحات). تعالج OpenAI ما يعمل عليه الذكاء الاصطناعي وفق شروط حسابك، كما يحدث عند استخدامك ChatGPT بأي طريقة أخرى.
مدة الاحتفاظ: نحذف مساحة العمل بعد 48 ساعة من آخر تغيير فيها. ما يبقى هو بصمة (hash) فقط. هذه البصمة هي ما يسمح باحتساب إعادة تشغيل الموقع نفسه إعادة تشغيل، لا تحويلًا ثانيًا.
نتائج مراحل الفحص
بعد أن تتحقق من التحويل محليًا، تُبلغ المهارة عن النتيجة. هذا إلزامي: يُرفض التحويل التالي حتى يُبلَّغ عن نتيجة التحويل السابق. والبلاغ صغير، ويقوم على قائمة سماح (whitelist) لا على مرشّح.
- ما يُرسل: أسماء مراحل الفحص، والنتيجة (نجاح أو فشل أو لم يُشغَّل)، وعدد الصفحات، وأسوأ نسبة تطابق مع الأصل، ومفاتيح الصفحات التي فشلت. المفاتيح هي الأسماء القصيرة التي اخترتها، مثل
aboutأوpricing. - ما لا يُرسل: لا عنوان URL، ولا نطاق، ولا ترميز، ولا نصوص، ولا لقطات شاشة، ولا مسارات ملفات، ولا مفتاح ترخيص، ولا اسم موقع.
الأمر send-verdicts.sh <workspace> --dry-run يطبع الحمولة كما هي بالضبط ولا يرسل شيئًا.
لماذا هو إلزامي: مراحل الفحص تعمل على جهازك، على WordPress لا تراه الخدمة أبدًا. من دونها تعرف الخدمة أن التحويل لم يتعطل، لكنها لا تعرف شيئًا على الإطلاق عن كونه صحيحًا. نحتفظ بالنتائج 365 يومًا.
سجل التحويل
صف واحد لكل تحويل: عدد الصفحات، وعدد صيغ الإطار، وهل فيه مدونة أو متجر، وهل كان إعادة تشغيل، وأي مرحلة رفضت إن حدث رفض، وتحذيرات المولّد عن نفسه. التحذيرات منقّحة: تُستبدل أسماء ملفات الصفحات وعناوين URL قبل كتابة الصف. نحتفظ بالسجل 365 يومًا. لا يحتوي على أي محتوى، ولا عناوين، ولا معرّفات للموقع.
بلاغات الأخطاء
إذا أرسلت بلاغًا عبر POST /v1/report، نحفظ نصه كما كتبته تمامًا ونرسله بالبريد عبر Resend إلى شخص يقرؤه. نحتفظ به 90 يومًا. لا تلصق فيه شيئًا لا تريد أن يُحفظ طوال هذه المدة.
كيف نتعرّف عليك
- من دون مفتاح: تُحتسب التحويلات لكل عنوان IP كما يراه Cloudflare. نخزّنه بصمةً مقتطعة (truncated hash)، ولا نخزّن العنوان نفسه أبدًا.
- البلد الذي كانت فيه تلك البصمة، بحرفين، من الترويسة التي يضيفها Cloudflare. يُحفظ بجانب العدّاد المذكور أعلاه، ولا يُحفظ في أي مكان آخر. وتحديدًا، لا يظهر في سجل التحويل، الذي لا يحتوي على شيء يحدد مكانك. يخبرنا البلد في أي البلدان يُستخدم html2wp، لكنه لا يخبرنا أي تحويل كان تحويلك. البلد المجهول وشبكة Tor يصلان بالرمزين
XXوT1، ونحتفظ بهما كما هما بدل التخمين. - مع ترخيص: نتعرّف عليك بمفتاح الترخيص، وهو مخزَّن أيضًا كبصمة. نتحقق منه لدى UpdatePulse (
updates.designready.studio)، الذي يرى المفتاح. - التحقق من مفتاح أو تنزيل Visual Edit Pro: صفحة التنزيل وأداة التحقق
npx html2wp-licenseترسلان المفتاح الذي تُدخله، ولا شيء غيره، إلى خادم التراخيص نفسه لقراءة حالته. لا يتضمن الرد أي بيانات شخصية، ولا تحفظ الصفحة ولا أداة التحقق المفتاح.
شراء ترخيص
نبيع الخطط عبر Paddle. شركة Paddle.com Market Limited هي التاجر المسجّل (Merchant of Record)، أي البائع في المعاملة. فيما يخص الدفع، هي متحكم مستقل في البيانات، لا معالِج يعمل لحسابنا. في صفحة الدفع تجمع Paddle اسمك وبريدك الإلكتروني وبلدك ورمزك البريدي وبيانات الدفع، ورقم ضريبة القيمة المضافة (VAT ID) إن قدّمته. وتعالجها وفق إشعار الخصوصية الخاص بها.
- ما تنقله Paddle إلينا: بريدك الإلكتروني واسمك وبلدك، ومعرّفات المعاملة والاشتراك، والمنتج الذي اشتريته. هذا ما يلزم لإصدار مفتاح للشخص الصحيح وللعثور على الطلب مجددًا عندما تراسلنا.
- ما نخزّنه: في UpdatePulse، خادم التراخيص لدينا على
updates.designready.studio: مفتاح الترخيص، وبريدك الإلكتروني واسمك، ومعرّف المعاملة، وتاريخي الشراء والانتهاء، وحالة الترخيص. - رسالة المفتاح تُرسل عبر Resend، الذي يوصلها فقط ولا يفعل بها شيئًا آخر.
- بيانات الشركة للفاتورة (الاسم التجاري أو اسم المنشأة، والعنوان، واختياريًا رقم ضريبة القيمة المضافة والبريد الإلكتروني) تنتقل من متصفحك مباشرة إلى صفحة الدفع في Paddle إذا اخترت For a business or freelancer (لشركة أو مستقل) قبل الدفع. بعدها تطبعها Paddle على الفاتورة. هذا الموقع لا يرسلها إلى خوادمنا ولا يخزّنها.
- بيانات البطاقة لا تصلنا أبدًا. تنتقل من متصفحك إلى Paddle، ولا يمكننا رؤيتها حتى لو أردنا.
- سكربت Paddle، أي Paddle.js، يُحمَّل فقط في صفحة الأسعار، من
cdn.paddle.com، لأن نافذة الدفع تُفتح هناك. لا تحمّله أي صفحة أخرى في هذا الموقع.
فترة الاحتفاظ: طوال مدة الترخيص، ثم بعدها ما دام قانون المحاسبة يلزمنا بحفظ سجلات الشراء.
إدارة الاشتراك
تدير اشتراكك في بوابة العملاء لدى Paddle، على موقع Paddle نفسه. الإلغاء وتغيير البطاقة وتنزيل الفواتير أمور بينك وبين Paddle، ونحن نرى النتيجة فقط. لتحويل Pro من الدفع الشهري إلى السنوي، ترسل صفحة إدارة الاشتراك البريد الإلكتروني الذي تُدخله إلى Paddle للعثور على اشتراكك. إذا وُجد اشتراك، يُرسل الرابط بالبريد عبر Resend إلى العنوان المسجل لدى Paddle. العنوان الذي كتبته لا نخزّنه.
نموذج التواصل
النموذج الذي تراسلنا من خلاله هو المكان الآخر في هذا الموقع الذي تكتب فيه شيئًا عن نفسك. يطلب بريدًا إلكترونيًا، وهو إلزامي، وموقعًا أو اسم جهة، وهو اختياري، ورسالتك. في النموذج أيضًا حقل مخفي باسم company لا يراه الناس أبدًا. وُضع لتكشف الروبوتات التي تملأ كل الحقول نفسها.
قبل إرسال الرسالة، يتحقق Cloudflare Turnstile من أن المرسل شخص وليس سكربت. لا يعمل إلا في الصفحات التي فيها نموذج يستخدمه: صفحة التواصل وصفحة الاشتراك. يُحمَّل من challenges.cloudflare.com. ليتخذ القرار، ينظر Cloudflare في عنوان IP الخاص بك، وفي User-Agent متصفحك وبصمة TLS الخاصة به. يقول Cloudflare إن هذه البيانات ضرورية حصرًا للتمييز بين الأشخاص والروبوتات. ولا يقرأ ما تكتبه في النموذج. نتلقى نتيجة نجاح أو فشل ولا شيء غيرها. التفاصيل في ملحق خصوصية Turnstile لدى Cloudflare.
تصل رسالتك إلى شخص عبر البريد الإلكتروني، من خلال Resend. لا تدخل في نظام CRM ولا في قائمة بريدية. نحتفظ بها ما دامت المحادثة تحتاجها، ونحذفها خلال 24 شهرًا. اطلب حذفها قبل ذلك فتُحذف.
بيانات مستخدمي Google
يستخدم html2wp واجهة برمجة واحدة من Google، هي Google Ads API، ولأبحاث الكلمات المفتاحية الخاصة بنا فقط: ما عبارات البحث التي يكتبها الناس، وكم مرة، ومدى المنافسة عليها. إنها أداة داخلية. لا أحد من خارج فريقنا يسجّل الدخول بحساب Google في أي مكان على html2wp، والمحوّل لا يطلب منك ذلك أبدًا.
- ما نطلبه: نطاق الصلاحية
https://www.googleapis.com/auth/adwords، الذي يمنحه عضو في فريقنا لحسابات Google Ads التي نملكها. يُستخدم لقراءة بيانات Keyword Planner: أفكار الكلمات المفتاحية، وحجم البحث التاريخي، والمنافسة، ونطاقات عروض الأسعار. - ما لا نلمسه: الحملات، والإعلانات، والجماهير، والفوترة، وأي حساب Google غير حسابنا. لا يُكتب أي شيء في Google Ads.
- أين تُحفظ: يبقى رمز تسجيل الدخول (token) في سلسلة مفاتيح نظام التشغيل (keychain) على الحاسوب الذي مُنح عليه. تنتهي نتائج الكلمات المفتاحية في تخطيط المحتوى لدينا، كأرقام عن عبارات البحث، لا عن أشخاص.
- من يراها غيرنا: لا أحد. لا نبيعها ولا نشاركها ولا نستخدمها للإعلانات أو لتدريب نماذج الذكاء الاصطناعي.
- إزالتها: تلغي الوصول على myaccount.google.com/permissions. نحذف كل ما اشتُق منها بناءً على طلب يُرسل إلى hello@html2wp.dev.
يلتزم html2wp، في استخدامه للمعلومات الواردة من واجهات Google البرمجية وفي نقلها إلى أي تطبيق آخر، بـسياسة بيانات المستخدمين لخدمات Google API (Google API Services User Data Policy)، بما في ذلك متطلبات الاستخدام المحدود (Limited Use).
من يشارك أيضًا في المعالجة
- Cloudflare (الولايات المتحدة) يستضيف هذا الموقع ويشغّل وظائفه الصغيرة من جهة الخادم (نموذج التواصل، وتنزيل Visual Edit Pro، وwebhook الدفع). ويقف كذلك أمام واجهة API الخاصة بالتحويل. ينهي اتصال TLS، فيرى كل طلب والعنوان الذي جاء منه. في صفحتي التواصل والاشتراك يشغّل أيضًا Turnstile، فحص الروبوتات الموضح أعلاه. في هذا الفحص يكون Cloudflare معالِجًا لحسابنا. ولا يكون متحكمًا في البيانات إلا عندما يستخدم الإشارات نفسها لتحسين كشف الروبوتات.
- UpdatePulse على خادمنا الخاص، للتحقق من التراخيص. وبما أن التراخيص تُباع، فهو يحفظ أيضًا البريد الإلكتروني للعميل واسمه بجانب المفتاح.
- Paddle (Paddle.com Market Limited، المملكة المتحدة) هي التاجر المسجّل لكل عملية شراء، ومتحكم مستقل في بيانات الدفع التي تجمعها.
- Resend (الولايات المتحدة) يوصل أربعة أنواع من الرسائل: مفاتيح الترخيص بعد الشراء، وروابط إدارة الاشتراك، والرسائل المرسلة عبر نموذج التواصل، وبلاغات أخطاء المحوّل.
- Coolify على خادمنا الخاص، لاستضافة خدمة التحويل وخادم التراخيص.
- agentmods.dev يقدّم شارة قياس الإضافة الصغيرة في تذييل كل صفحة. تحميل هذه الصورة يرسل إليه عنوان IP وبيانات متصفحك، مثل أي صورة من موقع آخر. لا يُشارك معه أي شيء آخر.
- Umami، أداة التحليلات مفتوحة المصدر، تعمل على umami.agentmods.dev وتُستخدم في هذا الموقع فقط. تحصي مشاهدات الصفحات وعددًا قليلًا من النقرات: أي زر ضُغط، لا من ضغطه. لا ملفات تعريف ارتباط (cookies)، ولا معرّف يتتبعك عبر المواقع، ولا شيء يُحفظ على جهازك. لهذا لا يعرض هذا الموقع شريط موافقة على ملفات تعريف الارتباط.
لا إعلانات، ولا تتبع عبر المواقع، ولا بيع للبيانات
أداة التحليلات الوحيدة هي الأداة المذكورة أعلاه التي لا تستخدم ملفات تعريف الارتباط، وهي تعمل على هذا الموقع. القالب الذي تستلمه لا يتصل بأي خادم لنا أثناء التشغيل، أبدًا. هذا الادعاء يخص الموقع المسلَّم، وهو دقيق. لا يُباع أي شيء، ولا يُشارك أي شيء مع معلن.
الخروج من الاتحاد الأوروبي
خوادمنا في الاتحاد الأوروبي. Cloudflare وResend شركتان أمريكيتان. تمر حركة المرور إلى هذا الموقع وإلى واجهة API عبر البنية التحتية لـ Cloudflare، وكذلك فحص Turnstile على النماذج. أما رسائل المفاتيح وروابط إدارة الاشتراك ورسائل نموذج التواصل وبلاغات الأخطاء فتمر عبر البنية التحتية لـ Resend. وكلا المسارين قد ينطوي على نقل للبيانات خارج الاتحاد الأوروبي. تتم عمليات النقل هذه بموجب البنود التعاقدية القياسية (Standard Contractual Clauses) الصادرة عن المفوضية الأوروبية. تقع Paddle في المملكة المتحدة، التي تعترف المفوضية الأوروبية بأنها توفر مستوى حماية كافيًا، وهي تتعامل مع بيانات الدفع وفق إشعار الخصوصية الخاص بها. شارة التذييل وسكربت التحليلات يأتيان كلاهما من agentmods.dev، وهو موقع يُقدَّم عبر شبكة Cloudflare العالمية. لذا فالمكان الذي يُجاب فيه على هذه الطلبات ليس تحت سيطرتنا. لا شيء آخر في هذه القائمة يغادر الاتحاد الأوروبي.
الأساس القانوني
بموجب اللائحة العامة لحماية البيانات (GDPR)، تحتاج كل معالجة من هذه المعالجات إلى أساس قانوني. هذا هو الأساس الذي ينطبق على كل منها:
خدمة التحويل
- استلام موقعك وتحويله: تنفيذ عقد (المادة 6(1)(b) من GDPR). أنت طلبت التحويل، ولا يمكن أن يتم دون الرفع.
- احتساب التحويلات لكل عنوان IP: المصلحة المشروعة (المادة 6(1)(f) من GDPR). النسخة المجانية التي لا يمكن عدّ استخدامها تُستنزف، والبصمة المقتطعة هي أقل وسيلة تعريف ممكنة لهذا الغرض.
- تسجيل البلد الذي كان فيه ذلك العنوان: المصلحة المشروعة (المادة 6(1)(f) من GDPR). معرفة أين يُستخدم المنتج تحدد ما يدعمه. حرفان بجانب عدّاد مستعار الهوية (pseudonymous) أصلًا هما أقل الصيغ تفصيلًا مما يجيب عن هذا السؤال. ولا يضيفان شيئًا إلى ما تستطيع البصمة وحدها تحديده.
- التحقق من مفتاح الترخيص: تنفيذ عقد (المادة 6(1)(b) من GDPR).
- نتائج مراحل الفحص وسجل التحويل: المصلحة المشروعة (المادة 6(1)(f) من GDPR). معرفة أي مرحلة تفشل مع أي شكل من المواقع هي الطريقة الوحيدة لتحسين المحوّل. قبل أن نكتبها، نحذف منها كل ما يحدد هوية الموقع.
- بلاغ خطأ ترسله: المصلحة المشروعة (المادة 6(1)(f) من GDPR). أنت من يقرر إن كنت سترسل بلاغًا أصلًا.
شراء التراخيص
- إصدار الترخيص المشترى وإدارته: تنفيذ عقد (المادة 6(1)(b) من GDPR).
- حفظ سجلات الشراء: التزام قانوني (المادة 6(1)(c) من GDPR). قانون المحاسبة يحدد المدة.
هذا الموقع
- نموذج التواصل: إجراءات تُتخذ بناءً على طلبك قبل إبرام عقد، أو المصلحة المشروعة في الرد على من راسلنا (المادة 6(1)(b) أو (f) من GDPR).
- فحص الروبوتات في نموذجي التواصل والاشتراك: المصلحة المشروعة (المادة 6(1)(f) من GDPR). الغرض إبعاد الرسائل المزعجة الآلية عن نموذج يقرؤه شخص. يستخدم فقط الإشارات التي يحتاجها Cloudflare لذلك، لا أكثر.
- إحصاء مشاهدات الصفحات في هذا الموقع: المصلحة المشروعة (المادة 6(1)(f) من GDPR). يمكن الدفاع عن ذلك تحديدًا لأن الأداة لا تخزّن شيئًا على جهازك ولا تستطيع تتبعك خارج هذا الموقع.
القرارات الآلية
ترفض الخدمة التحويل آليًا عندما يُستنفد رصيد التحويلات أو يكون الموقع كبيرًا جدًا. هذا مجرد حساب على عدّاد، وليس له أي أثر قانوني على أحد. إذا راسلتنا بشأنه، يجيبك شخص. لا نقوم بأي تنميط (profiling).
حقوقك
بموجب GDPR يمكنك أن تطلب منا أيًا مما يلي، وتكفي رسالة واحدة إلى hello@html2wp.dev.
- الوصول: تحصل على نسخة مما نحتفظ به عنك (المادة 15).
- التصحيح: إذا كانت البيانات خاطئة، نصححها (المادة 16).
- المحو: نحذف البيانات (المادة 17).
- تقييد المعالجة: نحتفظ بالبيانات لكن نتوقف عن استخدامها ما دام هناك أمر محل نزاع (المادة 18).
- قابلية النقل: تتلقى ما قدّمته لنا بصيغة يقرؤها الحاسوب (المادة 20).
- الاعتراض: يمكنك الاعتراض على أي معالجة نجريها على أساس المصلحة المشروعة، بما فيها التحليلات (المادة 21). نتوقف ما لم نستطع إثبات أسباب تتقدّم على أسبابك.
نرد خلال شهر واحد. الطلب مجاني. لا نطلب منك إثبات هويتك إلا بالقدر اللازم لنتأكد أننا لا نسلّم بياناتك لشخص آخر.
حد واحد: معظم ما تحتفظ به الخدمة محفوظ كبصمة (hash) أو مجمّع، ولا يمكن ربطه بشخص، حتى من جهتنا. لذا لا يوجد في هذه الصفوف ما نسلّمه أو نصححه أو نحذفه. الموقع المرفوع يُحذف تلقائيًا بعد 48 ساعة.
إذا أخطأنا
يمكنك تقديم شكوى إلى السلطة الإشرافية السلوفاكية: Úrad na ochranu osobných údajov Slovenskej republiky، Hraničná 12، 820 07 Bratislava، dataprotection.gov.sk. إذا كنت تقيم في بلد آخر من الاتحاد الأوروبي، يمكنك التوجه إلى السلطة في بلدك بدلًا من ذلك. مراسلتنا أولًا أسرع، لكنها ليست شرطًا.
بلاغات الثغرات الأمنية تُرسل إلى العنوان المذكور في صفحة الأمان، لا إلى بلاغ (issue) علني.
الجهة المسؤولة
المتحكم في البيانات هو BELNEM s.r.o.، Beckovská 5، Bratislava، سلوفاكيا، رقم الشركة (IČO) 53713486. البريد الإلكتروني: hello@html2wp.dev. لسنا كبارًا بما يكفي ليُلزمنا القانون بتعيين مسؤول حماية بيانات، ولم نعيّن واحدًا. العنوان أعلاه يصل إلى الأشخاص الذين يقررون في هذه الأمور.
تقديم البيانات لنا ليس أبدًا متطلبًا يفرضه القانون. كل ما في الأمر أن التحويل يحتاج إلى الموقع، والترخيص يحتاج إلى عنوان نرسل إليه المفتاح.