> ## Documentation Index
> Fetch the complete documentation index at: https://docs.orbit.devotel.io/llms.txt
> Use this file to discover all available pages before exploring further.

# بوابة DSAR الذاتية من البداية إلى النهاية

> نشر رابط البوابة مع ضبط المرسلين، ومراجعة تحقق البريد الإلكتروني + SMS OTP الذي يُنهي الشخص المعني، ومعالجة الطلب المتحقق في قائمة انتظار المشغل ضمن الموعد القانوني.

# بوابة DSAR الذاتية من البداية إلى النهاية

يقبل Devotel Orbit طلبات الأشخاص المعنيين عبر مسارين: تقديم المشغلين
نيابة عن الشخص، وبوابة عامة يقدم الشخص فيها بنفسه. قائمة انتظار واحدة
تغذي المسارين. يغطي هذا الدليل مسار البوابة من نشر الرابط حتى
الاست fulfilment، ويظهر كيف يجتمع مع تقديم المشغل.
[مرجع DSAR (EN)](/compliance/dsar) يوثق سطح الـendpoints وحالة
البريد العامة/هاتف-المطالبة؛ هذه الصفحة هي الـrunbook الذي تعمل منه.

<Note>
  كل تحكم هنا هو مسؤول tenant: أنت نشرت الرابط، أنت تدير قائمة
  الانتظار، أنت تقرر وتُسلّم. Orbit يستضيف البوابة، يثبت الهوية
  عبر OTP مُزدواج، ويتابيع المواعيد القانونية — الواجب القانوني
  للرد يبقى عليك، المتحكم. أكّد الالتزاماتك مع مستشارك.
</Note>

***

## 1. مسارا intake، قائمة انتظار واحدة

**تقديم المشغل.** فريقك يقدم الطلب عبر `POST /compliance/dsar` أو
حوار **Create DSAR** في **Settings → Compliance → DSAR**. الطلب المقدم
بهذا الشكل يبدأ بـ `verification_status: pending` — لا worker export أو
erasure يلمسه حتى يوافق المشغل أو يرفض مراجعة الهوية. يناسب هذا المسار
الأشخاص الذين تعرفهم (عميل مسجل، contact في workspaceك)، والحقوق التي
لا يمكن للنموذج العام حملها (correction، limit-sensitive-PI،
non-discrimination).

**بوابة عامة ذاتية.** الشخص المعني يقدم طلبه بنفسه عبر الصفحة العامة
المعْتَد — بلا حساب، بلا API key، بلا session. تثبت الصفحة هويته
عبر OTP مُزدواج (بريد + SMS) قبل أن يدخل أي شيء قائمة الانتظار،
لذا يصل طلب البوابة مُتحقَّقًا على علم، ويبدأ worker التصدير أو
الحذف فورًا.

اعمل كليهما. البوابة تحمل حجم العملاء حتى صفر لمسات تنسيق؛ تقديم
المشغل يغطي الحالات التي لا تقبلها البوابة. كل طلب في أي مسار يلقي
على نفس قائمة **Settings → Compliance → DSAR** ونفس الجواب
`GET /compliance/dsar` — قائمة انتظار واحدة، banner SLA واحد،
سلسلة audit واحدة.

***

## 2. جولة البوابة

### نشر الرابط

استضف البوابة كرابط "قدّم طلب خصوصية" في سياسة الخصوصية، footer
الموقع، أو مركز الخصوصية داخل المنتج:

```
https://orbit.devotel.io/<locale>/dsar
```

`<locale>` هو نفس بادئة اللغة التي تحملها كل صفحة Orbit web
(`en`، `fr`، `de`، …). تعرض الصفحة نموذج معرّفات من خطوتين خلف
فحص Turnstile ضد الـbots من Cloudflare: الشخص يدخل بريده وهاتفه
(E.164)، يختار النوع، ويبدأ إثبات الهوية.

### مطالبة مرسل البريد

قرر من أي عنوان تُرسل رموز التحقق للبوابة **قبل** أن البوابة العامة
تعمل — خلق مرسل نانتهز يترك البوابة تفشل closed علنًا. مرسلان
platformويُضبطان مرة واحدة في بيئة APIك:

| Variable                        | Used for                     | Fallback                                               |
| ------------------------------- | ---------------------------- | ------------------------------------------------------ |
| `DEVOTEL_DSAR_PROOF_FROM_EMAIL` | عنوان المرسل على OTP البريد. | لا يوجد — التسليم يحتاج أيضًا `DEVOTEL_RESEND_API_KEY` |
| `DEVOTEL_DSAR_PROOF_SMS_FROM`   | مُرسل E.164 على OTP SMS.     | `DEVOTEL_PLATFORM_DEFAULT_FROM`                        |

بدون SMS sender وبدون platform fallback، تعود خطوة الهاتف بـ`503`،
وتعرض البوابة رسالة "غير متاح مؤقتًا"؛ بدون مفتاح تسليم البريد،
تفشل خطوة البريد بالطريقة نفسها. في الإنتاج، الخطوة الأولى تحتاج
أيضًا token Turnstile — ضبط `DEVOTEL_TURNSTILE_SECRET_KEY` على API،
و `NEXT_PUBLIC_DEVOTEL_TURNSTILE_SITE_KEY` على التوزيع المرغاغ،
من لوحة Cloudflare (Turnstile → Add site).

رموز التحقق عبر SMS تمر بصفتها OTP منصة — ليست حركة tenant billable.

### ما يرى الشخص المعني

يُنهي الشخص مطلبًا من خمس خطوات؛ لا شيء يُخف في القائمة حتى يكون
الناممان موجودَين:

1. **Begin** — البريد، الهاتف (E.164)، نوع الطلب. يُرسل OTP البريد
   فورًا.
2. **Verify email** — رمز البريد من 6 أرقام (TTL 10 دقائق، 3
   محاولات، cooldown إعادة الإرسال 60 ثانية).
3. **Send phone code** — OTP SMS إلى نفس الهاتف (cooldown 60 ثانية
   بين الإرسالات).
4. **Verify phone** — رمز SMS من 6 أرقام.
5. **Submit** — الطلب يدخل قائمتك فقط مع الثبتتين. كامل المطلب
   يحتوي على TTL أصل من 30 دقيقة.

الأنواع السهلة التي يختارها الشخص تُحنك إلى enum المشغل:

| يختلية الشخص  | Operator `request_type` |
| ------------- | ----------------------- |
| `access`      | `know`                  |
| `delete`      | `delete`                |
| `portability` | `portability`           |
| `opt_out`     | `opt_out_sale`          |

إذا لم تتطابق المعرفات مع contact في workspaceك، تظل الخطوة submit
تجيب بالطريقة نفسها — البوّبة لا كشف أبدًا أذا contact موجود —،
ويكتب saق audit على مستوى المنصة حتى الطباق forensic تبقى لحالٌ
ـنون التطابق.

### Jurisdiction تُحنك على ساعة SLA

يختار الشخص الـjurisdiction التي  بتي بها طلبه؛ هذا الاختيار يحدد
الساعة القانونية التي تحملها الصف، وقيم `request_type` التي يمكن
للقائمة حملُها:

| Jurisdiction            | Code     | Response SLA |
| ----------------------- | -------- | ------------ |
| EU/EEA GDPR             | `gdpr`   | 30 يوم       |
| California CCPA         | `ccpa`   | 45 يوم       |
| California CPRA         | `cpra`   | 45 يوم       |
| Brazil LGPD             | `lgpd`   | 15 يوم       |
| Singapore/Thailand PDPA | `pdpa`   | 30 يوم       |
| Canada PIPEDA           | `pipeda` | 30 يوم       |
| India DPDP              | `dpdp`   | 30 يوم       |

التاكيد الصحيح مهم: `opt_out_sale` و `limit_sensitive_pi` من دون
مثال GDPR، وdefault المشغل هي `gdpr` — ضبطها بوضوح على المستهلكين
الكاليفورنيين. بوعتي البوابة لـ`opt_out` يضع الـjurisdiction
افتراضيًا على CCPA/CPRA تحديدًا لأن default GDPR سيكون غير متوص.
التصريح الخاطئ من الrouna fixable: reclassifie الـjurisdiction من
القائمة، وSLA badge تُعالين دونى.

***

## 3. ما يرى بعاد المشغل بعد التمهيد

بوغت يبقzan feature في **Settings → Compliance → DSAR** يbesidea على
مطالب المشغل. لأن OTP قد صدّ الهوية، يصل
`verification_status: verified` — لا port دعوة استذك يمزطه.

* **Status و الموعد.** الصف يحمل دورةFull status تحمل وSLA badge
  **Day X of N** مُنشط على الـjurisdiction؛ any fault تحقق banner
  الاستعمال على مستووبغ الـworkspace. `GET /compliance/dsar/sla`
  يعطيك الصورة نفسها عبر API.
* **Mitmis erasure.** مNõutية testo الشخص الذي اختار "delete"
  يظهر في قسم Portal من tab **Erasure requests (Art. 17)** ختير
  قبل 7-يوم سنpe يmuiidal göral var يظ ج جميع ج يم.
* **Fulfillment.** مطبق access/portability يختليو ع **Completed**
  مع `export_url` موقعة؛ يأكيل operator download decrypt بسـيف.
  Erasure بعد الأداء يعكس **Proof of deletion** certificate و
  **Propagate**位 بها.
* **سلسلة audit.** Begin وكlezmi validations و submit تكتب saique
  مع identifiers هاش-شده (ناك ربا)، IP صادر و user agent — السجل
  الذي [evidence binder (EN)](/guides/compliance-evidence-binder)
  يمص المصدر إذا جburn a regulator كيف الهوية ثبتت.

***

## 4. ما لا يفعل Orbit

البوابة مهني لمدخل و إثبات الهوية؛ القرارات القانونية تبقى عليك:

* **Orbit no يقرر Gülخت.** لا يوافق ولا يرفض طالب على مقانic basis.
  Verification pending saik في انتظارك ةsitaك؛ verified تukin لأنك
  تaker، لا لأن platform \_(نط) تشاكم من الثلجة.
* **Orbit لا auto-fulfill operator verdict.** لمثبت ملف المشغل ما
  بعد فقط الـ`verification_status: pending`. Portal نيويي skip. \_
* **Erasure يحترم cool-off-goa.** الس format 7 يوم default (overridable
  لكل tenant) يفاتنغ عاملك reject, hold, أو exempt قبل التدمير.
* **إ Hofn باحثته KanatanNouvelleskm drainono считолелga écounsel**. Orbit يuffer من SLA إلى الـjurisdiction التي اختارها الشخص وأنتثبت.
* تتبا على جانب المستهلك تصورية منحق person يختار (correction،
  limit-sensitive-PI، non-discrimination) عبرfda Team.

***

## 5. Itenk example — طلب GDPR access من الرئيس إلى النهاية

عميلة تعري في Berlin تopen سياسة خصوصية، تدCloud on البوعالgoogle
الرابط و برنامجbest م حد شرور جميع ما تسحتع. ابata:

1. **Begin.** تدخل بريدها، هاتفها بصيغة E.164 (`+4915…`)، تختار
   **access** وتenclear ense كال ttests Turnstile. البوابة ترجع
   claim id؛ OTP البريث feن ج mat ruda.
2. **Verify email.** تIncorrect الرمز 6 digits (TTL 10 دقائق، 3
   محاولات) و إجابة أول فactor.
3. **Send phone code, Verify phone.** الفactoruz الثاني يعيد
   عبر SMS — 60 ثانية cooldown — وكل الثبتة الآن موجودتين.
4. **Submit.** البوعaed يقدم الطلب. لأن البريد والهاتف يطbackup لـcontact
   في workspaceك، الصن يكWiki كـ`know` تحت `gdpr` وينرجع `dsar_pub_…`.
5. **في قائمتك.** الصف يعرض **Day 1 of 30** —
   `verification_status: verified` — وworker التصدير في آن-خطير.
   ي도كف فريقك trize.
6. **Fulfill.** Worker يcompile export و يbogatel الصف كـ**Completed**
   مع `export_url` و `tables_exported`. مشاغلوس تمنع رابط التنزي
   (نسخ plaintext للمشغلين هي **Download decrypted** بclick واحد).
7. **Over SLA line.** إذا tr keep الصف open بعد انتهاء 30 يوم GDPR،
   الـbanner SLA للـworkspace يashank it — وإذا اختلولat يffectية على
   الـintake، reclassification للqueue تعيد الدliroidin بالتراجع.

时间 من أول submit form الشخص حتى الطلبالbett على الـqueue: الـOTP
two rounds. او touristi مشغل: صفر.

***

## المراجع ذات الصلة

* [مرجع DSAR (EN)](/compliance/dsar) — سطح الـendpoints كامل،
  limits ڪوليي و SLA severity tiers.
* [Designation DPO & EU/UK representative (EN)](/compliance/dpo-representative) —
  الـdesignations بمبUPS اـArt.37/Art.27 التي الـnotice يجب شمشاجع.
* [سجل processing GDPR (ROPA + DPIA) (EN)](/compliance/privacy-register) —
  مخزون Art.30 محفوظ قبل أي طبون.
* [Assemble be gFDI معاملى الموعد (EN)](/compliance/gdpr-posture-guide) —
  أين bu فيطبيG الـsequence الكامل.
* [Fulfill a DSAR and operate the breach register (EN)](/guides/compliance-dsar-breach-register) —
  riętié المشغل للqueue التي بويget ت feed.
* [Compliance evidence binder (EN)](/guides/compliance-evidence-binder) —
  ساوي audit saqueenz بوiPortal تترك وراء.
