OpenRouter کا Armor بیٹا ماڈل کی تجویز کردہ ٹول کال اور اسے چلا سکنے والی ایپلی کیشن کے درمیان قواعد کا کلاسیفائر رکھتا ہے۔ ایجنٹ ڈویلپر کے لیے اہم بات یہ ہے کہ فیصلہ کس مرحلے پر حقیقتاً عمل درآمد روکتا ہے۔ Chat Completions اور Responses میں Armor نشان زد کال روک سکتا ہے۔ Messages API کے Claude Code مطابقتی موڈ میں نشان زد tool_use جواب میں موجود رہتا ہے، اور کلائنٹ کو اسے چلانے سے انکار کرنا ہوتا ہے۔
موجودہ دستاویزات اکتوبر 2026 سے دستیاب بیٹا بیان کرتی ہیں۔ BIG CHANGE نے 17 اکتوبر کو دستاویزات میں دیے گئے درخواست و جواب کے معاہدوں کا جائزہ لیا۔ ہم نے API درخواست نہیں بھیجی، ایجنٹ نہیں چلایا اور اس کی سکیورٹی کارکردگی نہیں ناپی۔
بڑی تبدیلی
- کیا بدلا: OpenRouter ایجنٹ مجوزہ ٹول کالز ایسے کلاسیفائر سے گزار سکتا ہے جو کالز کے ایپلی کیشن تک پہنچنے سے پہلے ڈویلپر کے لکھے قواعد نافذ کرے۔ پہلے سے طے شدہ نفاذ کے راستے میں نشان زد کال چلانا چھوڑ دیا جاتا ہے اور وجہ واپس آتی ہے تاکہ ماڈل کام جاری رکھ سکے۔
- یہ کیوں اہم ہے: ڈویلپر عام زبان میں کارروائی کی سطح کی حدود بتا سکتے ہیں، جن میں محدود طور پر اجازت یافتہ کام کے استثنا بھی ہوں۔ Messages مطابقتی معاہدہ پھر بھی چلانے کا فیصلہ کن قدم کلائنٹ پر چھوڑتا ہے: نشان زد فیصلے کو نظر انداز کرنے والا کلائنٹ کال پھر بھی چلا سکتا ہے۔
- کن باتوں پر نظر رکھیں: ٹیموں کو منتخب API آؤٹ پٹ موڈ سے کلائنٹ ہم آہنگ کرنا، اپنے ٹریفک پر قواعد جانچنا اور کلاسیفائر کی غلطیوں پر طرزِ عمل طے کرنا ہوگا۔ بیٹا کے فارمیٹس بدل سکتے ہیں، اور OpenRouter کے مطابق کلاسیفائر قابلِ قبول کال روک بھی سکتا ہے اور ناقابلِ قبول کال سے چوک بھی سکتا ہے۔
تجویز سے فیصلے تک کال کا راستہ دیکھیں
OpenRouter کے مطابق، ہر مجوزہ ٹول کال کو ایپلی کیشن تک بھیجنے سے پہلے روک کر رکھا جاتا ہے۔ فیصلہ ساز ماڈل کال، قواعد اور اب تک کی گفتگو لے کر اندازہ لگاتا ہے کہ ہر قاعدہ میل کھاتا ہے یا نہیں، پھر نتائج ملا کر flagged یا not_flagged دیتا ہے۔ غیر نشان زد کال بغیر تبدیلی آگے بھیجی جاتی ہے۔ نفاذ کے موڈ میں نشان زد کال کو نہ چلانے کی علامت دی جاتی ہے؛ ماڈل وجہ پاتا ہے اور کم دائرے والی کال آزما سکتا ہے یا انکار کی وضاحت کر سکتا ہے۔ یہ مجوزہ کارروائی پر کلاسیفائر کا فیصلہ ہے، بعد کا ٹول یا پورا ایجنٹ محفوظ ہونے کا ثبوت نہیں۔
قواعد کی سطحیں الگ سوالوں کے جواب دیتی ہیں۔ hard_deny سے میل کھانے پر اجازت کے قاعدے یا صارف کی درخواست سے قطع نظر کال رک جاتی ہے۔ soft_deny سے میل کھانے کے نتیجے میں آنے والی رکاوٹ allow سے میل کھانے پر ہٹ سکتی ہے، یا گفتگو میں صارف کے عین اسی ہدف پر عین اسی کارروائی کی درخواست کرنے پر۔ allow قاعدہ اکیلا کبھی کال نہیں روکتا۔ OpenRouter صارف کی مقرر کردہ اور واپس نہ لی گئی حد کے لیے اندرونی نرم ممانعت بھی بیان کرتا ہے۔ ڈویلپر قابلِ اعتماد ریپوزٹری یا تعیناتی کے ہدف جیسے حقائق environment میں دیتے ہیں؛ پرانے حقائق قاعدے کی درستگی کم کر سکتے ہیں۔ نام والے قاعدہ آبجیکٹ فیصلوں میں ID اور نام دکھاتے ہیں۔ اختیاری حدوں کے پہلے سے طے شدہ اعداد ممانعت کے قواعد کے لیے 0.6 اور اجازت کے قواعد کے لیے 0.7 ہیں۔
دستاویزات میں دی گئی Responses کی مثال ایک bash ٹول کو git push کے لیے سخت ممانعت کا قاعدہ دیتی ہے۔ output_mode: "custom_item" کے ساتھ نشان زد push کی جگہ کال اور وجہ والا openrouter:armor_blocked آئٹم آتا ہے، پھر ماڈل کا جواب۔ مثال دکھاتی ہے کہ دستاویزات کے مطابق سروس کیا لوٹاتی ہے؛ یہ BIG CHANGE کا کیا ہوا ٹیسٹ نہیں۔
ٹول چلانے سے پہلے آؤٹ پٹ معاہدہ منتخب کریں
Chat Completions اور Responses میں پہلے سے طے شدہ text موڈ رکی ہوئی کال نکال دیتا ہے اور اسسٹنٹ کے متن میں <openrouter_armor_blocked> علامت رکھتا ہے۔ Responses API، custom_item بھی سپورٹ کرتا ہے، جو اس جگہ قسم واضح کرنے والا بلاک آئٹم لوٹاتا ہے جہاں function_call آتا۔ دستاویزات کہتی ہیں کہ اگلے Responses اِن پٹ میں آئٹم بغیر تبدیلی واپس بھیجیں اور اس کے لیے الگ function_call_output نہ بنائیں۔ safeguard_results کال ID کے لحاظ سے فیصلے درج کرتا ہے۔
درخواست میں safeguards ہونے پر Messages API کا پہلے سے طے شدہ رویہ خاصا مختلف ہوتا ہے: claude_code_compatibility نشان زد tool_use کو content[] میں رہنے دیتا ہے اور اس کا flagged نتیجہ safeguard_results میں شامل کرتا ہے۔ ایپلی کیشن کو یہ نتیجہ پڑھ کر کال چلانے سے انکار کرنا ہوگا۔ OpenRouter واضح انتباہ دیتا ہے کہ فیصلہ نظر انداز کرنے والا Messages کلائنٹ نشان زد ٹول کال چلا دے گا۔ کلائنٹ پر اختیار نہ رکھنے والا ڈویلپر Messages میں output_mode: "text" مانگ سکتا ہے تاکہ OpenRouter کال روک لے۔ API جس آؤٹ پٹ موڈ کو ظاہر نہیں کر سکتا، اسے مانگنے پر 400 آتا ہے۔
OpenRouter کے Ori میٹاہارنس کے ذریعے Claude Code آٹو موڈ اضافی Armor پلگ اِن اندراج کے بغیر Messages معاہدہ استعمال کرتا ہے۔ دستاویزات کے مطابق، Claude Code نشان زد کالز مسترد کرتا، گفتگو کے ریکارڈ میں خرابی کا نتیجہ لکھتا اور ماڈل کو کام جاری رکھنے دیتا ہے۔ وہ یہ بھی کہتی ہیں کہ اپنے کلاسیفائر کی معاونت کرنے والا Anthropic اینڈپوائنٹ براہِ راست آگے بھیجا جانے والا فیصلہ فراہم کر سکتا ہے؛ دوسرے اینڈپوائنٹس پر Armor جائزہ لیتا ہے۔ یہ دستاویزی انضمام کا رویہ ہے، یہ دعویٰ نہیں کہ ہر تیسرے فریق کا کلائنٹ اسے درست نافذ کرتا ہے۔
محدود قواعد کا مجموعہ ترتیب دیں اور جانچیں
اپنی ضرورت کے ایجنٹ کے لیے Armor رہنما ایک armor اندراج plugins میں رکھتا ہے، جس میں ورژن والا classifier_context (v: 1)، auto_mode قواعد اور ماحول کے اختیاری حقائق ہوتے ہیں۔ پہلے وہ کارروائی اور محفوظ وسیلہ طے کریں جسے قاعدہ پہچانے۔ پھر ایسی ممانعت کے لیے سخت انکار منتخب کریں جو صارف کی رضامندی کے باوجود قائم رہے؛ جہاں عین رضامندی یا نام زد اجازت اسے بجا طور پر ہٹا سکتی ہو، وہاں نرم انکار چنیں۔ دستاویزات ایک کمانڈ کی مخصوص لکھائی کے بجائے کارروائی بیان کرنے اور ماحول کے حقائق تازہ رکھنے کا مشورہ دیتی ہیں۔
پہلے سے طے شدہ enforce موڈ فیصلوں پر عمل کرتا ہے۔ audit وہی فیصلے بتاتا ہے، مگر نشان زد سمیت ہر کال آگے بھیج دیتا ہے۔ یہ نفاذ سے پہلے اصل ٹریفک دیکھنے اور قواعد بہتر کرنے کا طریقہ ہے، حفاظتی موڈ نہیں۔ آڈٹ کو claude_code_compatibility کے ساتھ نہیں ملایا جا سکتا۔ دونوں موڈز میں safeguard_results پڑھیں: not_flagged کا مطلب اجازت ہے، flagged میل کھانے والا قاعدہ دکھاتا ہے، unavailable کا مطلب جائزہ ناکام ہونا ہے، اور skipped فراہم کنندہ کے ایسے نیٹو ٹول کی نشان دہی کرتا ہے جس کا جائزہ نہیں لیا گیا۔ سٹریمنگ میں فیصلے کا آبجیکٹ جواب کے آخر میں آتا ہے، لہٰذا Messages کلائنٹ کو ٹول استعمال پر عمل کرنے سے پہلے اس کا انتظار کرنا ہوگا۔
کلاسیفائر کا وقت ختم ہونے، خرابی آنے یا بہت بڑی درخواست نہ سنبھال سکنے پر OpenRouter، on_error: "block" کو پہلے سے طے شدہ اختیار بتاتا ہے؛ on_error: "log" کال آگے جانے دیتا ہے۔ Claude Code مطابقتی موڈ میں unavailable کال فیصلہ دکھاتے ہوئے آگے بھیجی جاتی ہے۔ فراہم کنندہ کے نیٹو سرور ٹولز کا جائزہ پہلے سے طے شدہ طور پر چھوڑ دیا جاتا ہے، جب تک evaluate_native_tools انہیں جانچ کے لیے نیٹو راستے سے باہر نہ نکالے۔ یہ ترتیبات اور ٹول کا اصل راستہ ٹیم کی انضمام جانچ میں ہونے چاہییں؛ صرف Armor اندراج ہر ٹول کے جانچے جانے کا ثبوت نہیں۔
بیٹا کی لاگت، رفتار اور دائرۂ کار کی حدود
OpenRouter کے مطابق، Claude Code سے مطابقت رکھنے والے قواعد لوڈ ہونے پر جائزے نے میڈین پر 279 ملی سیکنڈ اور 90ویں پرسنٹائل پر 334 ملی سیکنڈ کا اضافہ کیا۔ یہ بتائی گئی شرط میں فراہم کنندہ کے بتائے ہوئے پیمائش کے اعداد ہیں، کسی مخصوص ایجنٹ یا ہر قاعدہ مجموعے کا بینچ مارک نہیں۔ ہر کال آگے بھیجنے یا روکنے سے پہلے ایک بار جانچی جاتی ہے۔ بیٹا میں جائزے کا معاوضہ نہیں؛ OpenRouter کہتا ہے کہ عام دستیابی سے پہلے قیمت بتائے گا۔ دستاویزات مستقبل کی شرح مقرر نہیں کرتیں۔
فیصلہ ساز ماڈل عام زبان کے قواعد کو عام زبان میں لکھے آرگیومنٹس سے ملا کر پرکھتا ہے، اس لیے غلط مثبت نتائج دے سکتا ہے یا کچھ خلاف ورزیوں سے چوک سکتا ہے۔ دستاویزات اصل ٹریفک پر آڈٹ فیصلے استعمال کرنے اور ہر قاعدے کی حد بہتر کرنے کا مشورہ دیتی ہیں۔ HIPAA، Zero Data Retention یا ڈیٹا ریجن کی پابندی والی درخواستوں کے لیے Armor جائزہ ابھی معاونت یافتہ نہیں۔ ان حالات میں پلگ اِن فعال درخواست کو 403 آتا ہے؛ Claude Code درخواست اس کے بجائے کال کو unavailable کے طور پر آگے جانے دیتی ہے، اور Claude Code مقامی آٹو موڈ جائزے پر لوٹتا ہے۔ بیٹا کے انتباہ میں ترتیب کے فیلڈز، safeguard_results اور openrouter:armor_blocked آئٹم کی قسم میں تبدیلیاں بھی شامل ہیں۔
Armor ماڈل سے ایپلی کیشن تک حوالگی کے مرحلے پر مجوزہ کالز جانچتا ہے۔ اس لحاظ سے اس کا طریقہ Microsoft کے MXC کمانڈ کنٹینمنٹ اور NVIDIA کے OpenShell اور Sentry رن ٹائم کنٹرولز سے مختلف ہے، جو ورک لوڈ یا اس کی رسائی کے گرد پابندیاں نافذ کرتے ہیں۔ Armor میں فوری نفاذی فیصلہ یہ ہے کہ منتخب جواب کا فارمیٹ نشان زد کال روکتا ہے یا کلائنٹ کو اسے روکنا پڑتا ہے۔
ذرائع اور مزید مطالعہ
- OpenRouter Armor دستاویزات، 17 اکتوبر 2026 کو دیکھی گئیں۔ بیٹا حیثیت، کلاسیفائر کی ترتیب، قواعد کی ترجیح، API جواب معاہدوں، خرابی کے رویے، رازداری کے سیاق کے استثناؤں، بتائی گئی تاخیر اور بیٹا بلنگ کا بنیادی ماخذ۔ یہ OpenRouter کے دستاویزی دعوے ہیں؛ BIG CHANGE نے پلگ اِن نہیں چلایا۔
- Microsoft MXC پر BIG CHANGE ایجنٹ کے بنائے کمانڈز کے لیے پالیسی پر مبنی حدود سمجھاتا ہے۔ یہ الگ نفاذی تہہ بیان کرتا ہے، Armor کا پہلا مرحلہ نہیں۔
- NVIDIA OpenShell اور Sentry پر BIG CHANGE سافٹ ویئر رسائی کنٹرولز اور ہارڈ ویئر نگرانی کے اختیاری ڈیزائن کو بیان کرتا ہے۔ یہ متعلقہ پس منظر ہے، OpenRouter کی اس سہولت کا براہِ راست تسلسل نہیں۔



