Skip to content

Classification سسٹم

ڈیٹا classification سسٹم Triggerfish کے سیکیورٹی ماڈل کی بنیاد ہے۔ سسٹم میں داخل ہونے، اس سے گزرنے، یا باہر جانے والا ہر ڈیٹا classification label لے جاتا ہے۔ یہ labels طے کرتے ہیں کہ ڈیٹا کہاں بہہ سکتا ہے — اور سب سے اہم بات، کہاں نہیں بہہ سکتا۔

Classification سطحیں

Triggerfish تمام deployments کے لیے ایک واحد چار درجاتی ترتیب شدہ hierarchy استعمال کرتا ہے۔

سطحدرجہوضاحتمثالیں
RESTRICTED4 (سب سے اونچا)سب سے حساس ڈیٹا جس کے لیے زیادہ سے زیادہ تحفظ درکارM&A دستاویزات، board materials، PII، بینک accounts، طبی ریکارڈز
CONFIDENTIAL3کاروباری یا ذاتی طور پر حساس معلوماتCRM ڈیٹا، مالیات، HR ریکارڈز، contracts، ٹیکس ریکارڈز
INTERNAL2بیرونی شراکت کے لیے نہیںاندرونی wikis، team دستاویزات، ذاتی نوٹس، contacts
PUBLIC1 (سب سے کم)سب کے دیکھنے کے لیے محفوظمارکیٹنگ مواد، عوامی documentation، عام ویب مواد

No Write-Down قاعدہ

Triggerfish میں سب سے اہم سیکیورٹی invariant:

ڈیٹا صرف برابر یا اونچی classification والے channels یا recipients کی

طرف بہہ سکتا ہے۔ یہ ایک مقررہ قاعدہ ہے — اسے configure، override، یا disable نہیں کیا جا سکتا۔ LLM اس فیصلے کو متاثر نہیں کر سکتا۔ :::

Classification hierarchy: PUBLIC → INTERNAL → CONFIDENTIAL → RESTRICTED. Data flows upward only.

اس کا مطلب ہے:

  • CONFIDENTIAL ڈیٹا پر مشتمل response PUBLIC چینل کو نہیں بھیجی جا سکتی
  • RESTRICTED تک tainted session RESTRICTED سے نیچے کسی بھی channel کو output نہیں کر سکتا
  • کوئی admin override نہیں، کوئی enterprise escape hatch نہیں، اور کوئی LLM workaround نہیں

Effective Classification

Channels اور recipients دونوں classification سطحیں لے جاتے ہیں۔ جب ڈیٹا سسٹم چھوڑنے والا ہو، تو منزل کی effective classification طے کرتی ہے کہ کیا بھیجا جا سکتا ہے:

EFFECTIVE_CLASSIFICATION = min(channel_classification, recipient_classification)

Effective classification دونوں میں سے کم ہے۔ اس کا مطلب ہے کہ low-classification recipient والا high-classification channel پھر بھی low-classification سمجھا جاتا ہے۔

ChannelRecipientEffectiveCONFIDENTIAL ڈیٹا مل سکتا ہے؟
INTERNALINTERNALINTERNALنہیں (CONFIDENTIAL > INTERNAL)
INTERNALEXTERNALPUBLICنہیں
CONFIDENTIALINTERNALINTERNALنہیں (CONFIDENTIAL > INTERNAL)
CONFIDENTIALEXTERNALPUBLICنہیں
RESTRICTEDINTERNALINTERNALنہیں (CONFIDENTIAL > INTERNAL)

Channel Classification قواعد

ہر channel type اپنی classification سطح طے کرنے کے لیے مخصوص قواعد رکھتی ہے۔

Email

  • Domain matching: @company.com پیغامات INTERNAL classify ہوتے ہیں
  • Admin ترتیب دیتا ہے کہ کون سے domains اندرونی ہیں
  • نامعلوم یا بیرونی domains EXTERNAL پر ڈیفالٹ کرتے ہیں
  • بیرونی recipients effective classification کو PUBLIC تک کم کرتے ہیں

Slack / Teams

  • Workspace membership: ایک ہی workspace/tenant کے ممبران INTERNAL ہیں
  • Slack Connect بیرونی users EXTERNAL classify ہوتے ہیں
  • Guest users EXTERNAL classify ہوتے ہیں
  • Classification platform API سے derived، LLM interpretation سے نہیں

WhatsApp / Telegram / iMessage

  • Enterprise: HR directory sync کے خلاف match کیے گئے phone numbers اندرونی بمقابلہ بیرونی طے کرتے ہیں
  • Personal: تمام recipients ڈیفالٹ EXTERNAL
  • Users قابل اعتماد contacts mark کر سکتے ہیں، لیکن یہ classification math نہیں بدلتا — یہ recipient classification بدلتا ہے

WebChat

  • WebChat زائرین ہمیشہ PUBLIC classify ہوتے ہیں (زائرین مالک کے طور پر کبھی verified نہیں ہوتے)
  • WebChat عوامی تعاملات کے لیے ہے

CLI

  • CLI channel مقامی طور پر چلتا ہے اور authenticated user کی بنیاد پر classify ہوتا ہے
  • Direct terminal access عام طور پر INTERNAL یا اونچا ہوتا ہے

Recipient Classification کے ذرائع

Enterprise

  • Directory sync (Okta، Azure AD، Google Workspace) خود بخود recipient classifications populate کرتا ہے
  • تمام directory members INTERNAL classify ہوتے ہیں
  • بیرونی guests اور vendors EXTERNAL classify ہوتے ہیں
  • Admins فی contact یا فی domain override کر سکتے ہیں

Personal

  • ڈیفالٹ: تمام recipients EXTERNAL
  • Users in-flow prompts یا companion app کے ذریعے قابل اعتماد contacts reclassify کرتے ہیں
  • Reclassification واضح اور logged ہے

Channel States

ڈیٹا لے جانے سے پہلے ہر channel ایک state machine سے گزرتی ہے:

Channel state machine: UNTRUSTED → CLASSIFIED or BLOCKED
Stateڈیٹا مل سکتا ہے؟Agent context میں ڈیٹا بھیج سکتا ہے؟وضاحت
UNTRUSTEDنہیںنہیںنئے/نامعلوم channels کے لیے ڈیفالٹ۔ مکمل isolated۔
CLASSIFIEDہاں (پالیسی کے اندر)ہاں (classification کے ساتھ)Review کیا گیا اور classification سطح تفویض کی گئی۔
BLOCKEDنہیںنہیںAdmin یا user نے واضح طور پر ممنوع قرار دیا۔

سیکیورٹی نئے channels ہمیشہ UNTRUSTED state میں آتے ہیں۔ یہ ایجنٹ سے

کوئی ڈیٹا نہیں مل سکتا اور ایجنٹ context میں ڈیٹا نہیں بھیج سکتا۔ Channel مکمل isolated رہتا ہے جب تک کوئی admin (enterprise) یا user (personal) صراحتاً اسے classify نہ کرے۔ :::

Classification دیگر سسٹمز کے ساتھ کیسے تعامل کرتا ہے

Classification ایک standalone feature نہیں — یہ پوری پلیٹ فارم میں فیصلوں کو چلاتا ہے:

سسٹمClassification کیسے استعمال ہوتا ہے
Session taintClassified ڈیٹا تک رسائی session کو اس سطح تک escalate کرتی ہے
Policy hooksPRE_OUTPUT session taint کا منزل classification سے موازنہ کرتا ہے
MCP GatewayMCP server responses classification لے جاتے ہیں جو session کو taint کرتے ہیں
Data lineageہر lineage record classification سطح اور وجہ شامل کرتا ہے
NotificationsNotification مواد ایک ہی classification قواعد کے تحت ہے
Agent delegationCallee agent کی classification ceiling caller کے taint سے ملنی چاہیے
Plugin sandboxPlugin SDK تمام emitted ڈیٹا کو خود بخود classify کرتا ہے