الانتقال إلى المحتوى الرئيسي
كل قاعدة حاجز حماية تجيب على ثلاثة أسئلة — ماذا تبحث عنه (نوع)، وأين تبحث (مرحلة)، وماذا تفعل حيال ذلك (إجراء). هذه الصفحة عن ذلك الخيار الثالث. إجراء القاعدة هو أكثر حقولها أثراً: فهو يقرر ما إذا كانت مطابقة توقف الطلب، أو تعيد كتابته بهدوء، أو تترك أثراً فحسب. يبرز باني القواعد خمسة إجراءات إجمالاً — block، mask، flag، annotate، وspotlight. تغطي هذه الصفحة خيارات الفرض الثلاثة التي تلجأ إليها أولاً: block، mask، وflag. اختر واحداً لكل قاعدة (أو، لقاعدة PII، وجّه كيانات مختلفة إلى إجراءات مختلفة؛ انظر §5). الإجراءان الآخران تشكيلان للمطالبة وغير حاجبين: annotate يحقن ملاحظة أمنية للأعلى (انظر أمان الكود)، وspotlight يغلّف المدخلات غير الموثوقة المطابقة بفواصل بحيث يعاملها النموذج كبيانات، لا تعليمات. القائمة الكاملة في نظرة عامة على حواجز الحماية. للمحرك الأوسع — أنواع القواعد، المراحل، ربط سياسة بمفتاح — ابدأ من نظرة عامة على حواجز الحماية أو مرجع حواجز الحماية الكامل.

1. قرار block mask flag في سطر واحد

block

ارفض الاستدعاء بـ HTTP 400 guardrail_blocked. لا يعمل النموذج أبداً (مرحلة المدخلات) أو لا تعود إجابته أبداً (مرحلة المخرجات).

mask

نقّح كل مطابقة — مثلاً jane@acme.com[EMAIL] — ومرّر النص المُنقّى. يستمر الطلب.

flag

لا تغيّر شيئاً في حركة المرور. سجّل مطابقة في التغذية وامضِ. مراقبة فقط.
هذه إجراءات الفرض الثلاثة. أيها تضبط يُحترَم في كل مكان تعمل فيه القاعدة — باني القواعد في وحدة التحكم، و الـ sandbox الاختباري، ومسار الترحيل الحي /v1/* كلها تقرأ نفس قيمة block / mask / flag.

2. مثال واحد ملموس — ثلاث قواعد، ثلاثة إجراءات

إليك حاجز حماية واحداً تختار كل من قواعده الثلاث إجراءً مختلفاً. تؤلّف هذا في وحدة التحكم (/console/guardrails) على جلستك — مفتاح الترحيل sk-orca-... مخصص لاستدعاءات /v1/* فقط، وليس أبداً لتحرير السياسة. إنشاء أو تحرير حاجز حماية يتطلب دور Developer+.
{
  "rules": [
    { "type": "keyword", "stage": "input",  "action": "block",
      "keywords": ["internal-only", "do-not-share"] },
    { "type": "pii",     "stage": "input",  "action": "mask",
      "entities": ["email", "phone"] },
    { "type": "regex",   "stage": "output", "action": "flag",
      "pattern": "(?i)acme\\s+confidential" }
  ]
}
ماذا تفعل كل قاعدة على طلب:
  • قاعدة block ترفض أي مطالبة تحتوي على أحد تلك المصطلحات الحرفية — HTTP 400، لا يعمل النموذج أبداً.
  • قاعدة mask تعيد كتابة عناوين البريد الإلكتروني وأرقام الهاتف إلى [EMAIL] / [PHONE] في المطالبة قبل أن يراها النموذج.
  • قاعدة flag تراقب مخرجات النموذج بحثاً عن علامة سرية وتسجّل مطابقة دون تغيير الاستجابة — بحيث يمكنك قياس كم مرة تظهر قبل أن تقرر الفرض.
يشغّل المحرك كل قاعدة منطبقة ويطوي النتائج في حكم واحد. إذا حجبت أي قاعدة، يُحجب الطلب.

3. block — ارفض بـ HTTP 400

إجراء block يرفض الاستدعاء بأكمله. يحصل المستدعي على HTTP 400 مع رمز الخطأ guardrail_blocked ورسالة تسمّي حاجز الحماية والقاعدة التي أُطلقت.
حجب مرحلة المدخلات يُطلق قبل القياس، فلا يُستهلك شيء. وحجب مرحلة المخرجات يردّ الحصة المستهلكة مسبقاً بعد رفض الإجابة. في الحالتين لا يدفع المستدعي شيئاً عن استدعاء محجوب.
نتيجة guardrail_blocked هي skip-retry — إعادة تشغيل نفس المطالبة مقابل قناة أخرى ستحجب مجدداً فحسب، فلن تهدر البوابة إعادة محاولة. انظر خطأ guardrail_blocked.
على الاستجابة غير المبثوثة تُفحص الإجابة قبل إرجاعها. وعلى الاستجابة المبثوثة يقطع ماسح التدفق في منتصفه ويصدر رسالة بديلة قبل أن يصل أي محتوى محجوب إلى العميل. انظر تغطية البث.
الجأ إلى block عندما تعني المطابقة أن الطلب يجب ألا يستمر — أسرار في مطالبة، أو محاولة jailbreak، أو خط امتثال قاطع.

4. mask — نقّح واستمر

إجراء mask ينقّح كل مطابقة ويمرر الطلب بالنص المُنقّى. لا يرى النموذج الأعلى الأصل أبداً. على قاعدة PII، تُستبدل كل مطابقة بـ وسم مُصنّف مشتق من الكيان — يصبح البريد الإلكتروني [EMAIL]، وSSN [SSN]، وبطاقة الائتمان [CREDIT_CARD]، وهكذا. (يمكنك تجاوز سلسلة الاستبدال لكل كيان مخصص؛ انظر صيغ الإخفاء.)
إخفاء مرحلة المدخلات حي على كل تدفق. يعيد كتابة الطلب قبل أن يعمل النموذج، بثاً أو لا. أما إخفاء مرحلة المخرجات فينطبق على الاستجابات غير المبثوثة فقط — يُمرَّر النص المُخفى بعد فحص الإجابة كاملة. وعلى الاستجابة المبثوثة تحسب البوابة الإخفاء لكنها لا تمرر النص المُنقّح بعد، فقاعدة الإخفاء لا تنقّح ردّاً مبثوثاً اليوم؛ إعادة كتابة المخرجات ضمن التدفق على خارطة الطريق. (ما زال block على المخرجات يقطع تدفقاً في منتصفه — انظر §3.) أثبت مجموعة المرحلة/التدفق المحددة لديك في الـ sandbox أولاً. انظر تغطية البث.
الجأ إلى mask عندما يكون المحتوى جيداً لكن سلسلة فرعية لا ينبغي أن تصل إلى النموذج — تنقيح PII هو الحالة الكنسية. نقطة الانطلاق الجاهزة هي الإعداد المسبق PII Shield؛ انظر PII Shield.

5. flag — سجّل فقط، لا تغيّر شيئاً

إجراء flag مراقبة فقط: الطلب متطابق بايت ببايت مع طلب بلا أي قاعدة على الإطلاق، إلا أن مطابقة تُسجَّل في تغذية المطابقات. لا يُحجب شيء، ولا يُنقّح شيء.
flag هو كيف تقيس قاعدة قبل أن تفرضها. اشحن keyword أو regex جديداً كـ flag، راقب تغذية المطابقات أياماً لرؤية معدل إيجابيتها الصادقة مقابل الكاذبة على حركة المرور الحقيقية، ثم رقِّها إلى mask أو block بمجرد أن تثق بها. ضبط نمط مشوّش وـflag مشغّل يتفوق على اكتشاف الإيجابيات الكاذبة في الإنتاج وـblock مشغّل. انظر ضبط الإيجابيات الكاذبة.
تسجّل المطابقة المُعلَّمة نوع القاعدة والإجراء والمرحلة وسلسلة تفصيل — والسلسلة الفرعية المطابقة فقط إن كان Log raw content مفعّلاً لذلك حاجز الحماية (مُطفأ افتراضياً، الموقف المحافظ على الخصوصية). انظر التسجيل والخصوصية.

6. تجاوزات الإجراء لكل كيان

قاعدة PII واحدة يمكنها توجيه كيانات مختلفة إلى إجراءات مختلفة عبر entity_actions، بدلاً من تكديس قواعد متداخلة. يجب أن تكون كل قيمة تجاوز إحدى block / mask / flag / annotate، ويجب أن تشير إلى كيان تعلنه القاعدة بالفعل — يرفض المدقق أي شيء آخر.
{
  "type": "pii",
  "stage": "input",
  "action": "mask",
  "entities": ["email", "phone", "ip", "credit_card", "ssn"],
  "entity_actions": {
    "credit_card": "block",
    "ssn": "block"
  }
}
هذه القاعدة الواحدة تخفي عناوين البريد الإلكتروني والهواتف وعناوين IP لكنها تحجب الطلب بالكامل على رقم بطاقة أو SSN. انظر كيانات PII المخصصة لتركيب كواشفك الخاصة تحت نفس نموذج التجاوز.

7. اختيار الإجراء الصحيح

إن أردت أن…استخدمالأثر
توقف الطلب كلياًblockHTTP 400، لا حصة، skip-retry
تجرّد سلسلة فرعية، وتبقي الاستدعاءmaskيُمرَّر النص المُنقّح
تراقب دون مساس حركة المرورflagتُسجَّل المطابقة فقط
الإجراءات تتكامل مع المراحل. يتصرف الإجراء نفسه بشكل مختلف قليلاً على المدخلات مقابل المخرجات — حجب المدخلات يوفّر الحصة مقدّماً؛ وحجب المخرجات يردّها؛ وإخفاء المخرجات ينطبق على الاستجابات غير المبثوثة فقط، بينما حجب المخرجات يقطع الاستجابات المبثوثة وغير المبثوثة على حدٍ سواء. اقرأ مرحلة المدخلات و مرحلة المخرجات إلى جانب هذه الصفحة.

8. إلى أين تذهب بعد ذلك

خطأ guardrail_blocked

كيف يبدو الـ 400، ولماذا لا يكلّف أي حصة، وكيف يعمل skip-retry.

صيغ الإخفاء

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

تغطية البث

بالضبط أي مجموعات إجراء × مرحلة × تدفق مفروضة اليوم.

أنماط الفرض

كيف يُسقَط block / mask / flag على نموذج الفرض الأوسع للبوابة، بما في ذلك حكم التدقيق لجدار الحماية.
لجدار الحماية مفردات حكمه الخاصة (allow، audit، deny، sanitize، والمزيد) لسياسة الأدوات — متمايزة عن إجراءات المحتوى هذه. انظر حواجز الحماية مقابل جدار الحماية.