[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fhe\u002Fdocs\u002Fsecurite\u002Fmulti-tenant":3,"docs-nav-he":333},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":327,"_id":328,"_source":329,"_file":330,"_stem":331,"_extension":332},"\u002Fhe\u002Fdocs\u002Fsecurite\u002Fmulti-tenant","securite",false,"","מולטי-טננט קפדני","כיצד betool מבודדת את הנתונים, הסודות וההרצות שלכם מארגונים אחרים: בסיס הנתונים, הקבצים, המטמונים וההרצה.",{"type":11,"children":12,"toc":318},"root",[13,21,28,50,77,90,133,139,144,153,173,179,204,210,229,235,240,273,278,284,289,313],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18],{"type":19,"value":20},"text","הבידוד בין ארגונים הוא האינווריאנט המבני של betool. כך הוא מיושם — שכבה אחר שכבה.",{"type":14,"tag":22,"props":23,"children":25},"h2",{"id":24},"ברמת-מסד-הנתונים",[26],{"type":19,"value":27},"ברמת מסד הנתונים",{"type":14,"tag":15,"props":29,"children":30},{},[31,33,40,42,48],{"type":19,"value":32},"טבלאות העסק נושאות עמודת ",{"type":14,"tag":34,"props":35,"children":37},"code",{"className":36},[],[38],{"type":19,"value":39},"org_id",{"type":19,"value":41}," המשייכת כל שורה לארגון שלה (על פי רוב עם אילוץ מפתח זר אל ",{"type":14,"tag":34,"props":43,"children":45},{"className":44},[],[46],{"type":19,"value":47},"organisation(id)",{"type":19,"value":49},").",{"type":14,"tag":15,"props":51,"children":52},{},[53,55,61,63,68,70,75],{"type":19,"value":54},"כל שאילתות השרת עוברות דרך ",{"type":14,"tag":56,"props":57,"children":58},"strong",{},[59],{"type":19,"value":60},"store methods",{"type":19,"value":62}," המסננות באופן שיטתי לפי ",{"type":14,"tag":34,"props":64,"children":66},{"className":65},[],[67],{"type":19,"value":39},{"type":19,"value":69}," של הסשן הפעיל. אין נתיב שחושף שאילתה שרירותית; אף לקוח אינו יכול לכפות ",{"type":14,"tag":34,"props":71,"children":73},{"className":72},[],[74],{"type":19,"value":39},{"type":19,"value":76}," אחר.",{"type":14,"tag":15,"props":78,"children":79},{},[80,82,88],{"type":19,"value":81},"עבור משאבים נדירים הניתנים לשיתוף (בדרך כלל חשבונות LLM משותפים ברמת הפלטפורמה), עמודת ",{"type":14,"tag":34,"props":83,"children":85},{"className":84},[],[86],{"type":19,"value":87},"is_shared BOOLEAN NOT NULL DEFAULT FALSE",{"type":19,"value":89}," מאפשרת opt-in מפורש. כללים:",{"type":14,"tag":91,"props":92,"children":93},"ul",{},[94,108,121],{"type":14,"tag":95,"props":96,"children":97},"li",{},[98,100,106],{"type":19,"value":99},"כל קריאה מותרת עם ",{"type":14,"tag":34,"props":101,"children":103},{"className":102},[],[104],{"type":19,"value":105},"WHERE org_id = %s OR is_shared = TRUE",{"type":19,"value":107},".",{"type":14,"tag":95,"props":109,"children":110},{},[111,113,119],{"type":19,"value":112},"כל מוטציה של שורת ",{"type":14,"tag":34,"props":114,"children":116},{"className":115},[],[117],{"type":19,"value":118},"is_shared = TRUE",{"type":19,"value":120}," מחייבת תפקיד hyperadmin (מפעיל פלטפורמה).",{"type":14,"tag":95,"props":122,"children":123},{},[124,126,131],{"type":19,"value":125},"כל מוטציה מבטלת את הקאש ",{"type":14,"tag":56,"props":127,"children":128},{},[129],{"type":19,"value":130},"גלובלית",{"type":19,"value":132}," — אין סטייה per-org.",{"type":14,"tag":22,"props":134,"children":136},{"id":135},"ברמת-אחסון-הקבצים",[137],{"type":19,"value":138},"ברמת אחסון הקבצים",{"type":14,"tag":15,"props":140,"children":141},{},[142],{"type":19,"value":143},"הקבצים מאוחסנים באחסון אובייקטים (דיסק מקומי או bucket בענן, בהתאם לפריסה), תחת מרחב ייעודי לכל ארגון:",{"type":14,"tag":145,"props":146,"children":148},"pre",{"code":147},"orgs\u002F\n└── \u003Corg_id>\u002F\n    ├── files\u002F\u003Cchannel>\u002F\u003Cexchange_id>\u002F\u003Cfile>    ← קבצים שהתקבלו דרך הערוצים\n    └── fixtures\u002F                               ← fixtures של benchmark\n",[149],{"type":14,"tag":34,"props":150,"children":151},{"__ignoreMap":7},[152],{"type":19,"value":147},{"type":14,"tag":15,"props":154,"children":155},{},[156,158,163,165,171],{"type":19,"value":157},"המפתחות נבנים בצד השרת (שם קובץ מנוקה, הגנה מפני path-traversal). כל קריאה של קובץ בשם משתמש, tool או סוכן עוברת אימות ש",{"type":14,"tag":56,"props":159,"children":160},{},[161],{"type":19,"value":162},"דוחה",{"type":19,"value":164}," מפתח שנמצא מחוץ למרחב ",{"type":14,"tag":34,"props":166,"children":168},{"className":167},[],[169],{"type":19,"value":170},"orgs\u002F\u003Corg_id>\u002Ffiles\u002F",{"type":19,"value":172}," של הארגון הנוכחי.",{"type":14,"tag":22,"props":174,"children":176},{"id":175},"ברמת-הקאש",[177],{"type":19,"value":178},"ברמת הקאש",{"type":14,"tag":15,"props":180,"children":181},{},[182,184,189,191,196,198,202],{"type":19,"value":183},"הקאשים האפליקטיביים (למשל פתרון ה-providers של LLM) ",{"type":14,"tag":56,"props":185,"children":186},{},[187],{"type":19,"value":188},"ממופתחים לפי ארגון",{"type":19,"value":190},". כאשר משאב ",{"type":14,"tag":34,"props":192,"children":194},{"className":193},[],[195],{"type":19,"value":118},{"type":19,"value":197}," מתעדכן, הקאש מתבטל ",{"type":14,"tag":56,"props":199,"children":200},{},[201],{"type":19,"value":130},{"type":19,"value":203}," — אין חלון שבו ארגון יראה ערך ישן.",{"type":14,"tag":22,"props":205,"children":207},{"id":206},"ברמת-הסודות",[208],{"type":19,"value":209},"ברמת הסודות",{"type":14,"tag":15,"props":211,"children":212},{},[213,215,220,222,228],{"type":19,"value":214},"ה-credentials (מפתחות LLM, טוקני auth של מפעיל, סודות webhook) מאוחסנים בצד השרת, משויכים לכל ארגון. הם ",{"type":14,"tag":56,"props":216,"children":217},{},[218],{"type":19,"value":219},"לעולם אינם מוחזרים בטקסט גלוי",{"type":19,"value":221}," על ידי ה-API: נתיבי GET מציינים רק את קיומם (למשל ",{"type":14,"tag":34,"props":223,"children":225},{"className":224},[],[226],{"type":19,"value":227},"has_api_key: bool",{"type":19,"value":49},{"type":14,"tag":22,"props":230,"children":232},{"id":231},"ברמת-ההרצה",[233],{"type":19,"value":234},"ברמת ההרצה",{"type":14,"tag":15,"props":236,"children":237},{},[238],{"type":19,"value":239},"כאשר pipeline מתבצע:",{"type":14,"tag":91,"props":241,"children":242},{},[243,255,268],{"type":14,"tag":95,"props":244,"children":245},{},[246,248,253],{"type":19,"value":247},"למפעילים יש גישה רק ל",{"type":14,"tag":56,"props":249,"children":250},{},[251],{"type":19,"value":252},"חשבונות החיצוניים",{"type":19,"value":254}," שהוגדרו בארגון.",{"type":14,"tag":95,"props":256,"children":257},{},[258,260,266],{"type":19,"value":259},"מודלי ה-LLM שבשימוש נפתרים בסדר ",{"type":14,"tag":34,"props":261,"children":263},{"className":262},[],[264],{"type":19,"value":265},"own > shared (fallback auto)",{"type":19,"value":267}," — תמיד.",{"type":14,"tag":95,"props":269,"children":270},{},[271],{"type":19,"value":272},"קבצים מצורפים קריאים רק במרחב האחסון של הארגון הנוכחי.",{"type":14,"tag":15,"props":274,"children":275},{},[276],{"type":19,"value":277},"אם מפעיל מנסה לגשת למשאב מחוץ לפרימטר, הגישה נדחית עם שגיאה מפורשת — לא timeout שקט.",{"type":14,"tag":22,"props":279,"children":281},{"id":280},"מבחן-מעשי",[282],{"type":19,"value":283},"מבחן מעשי",{"type":14,"tag":15,"props":285,"children":286},{},[287],{"type":19,"value":288},"בכל הוספת משאב ניתן-לשיתוף חדש, הצוות עונה על 4 שאלות:",{"type":14,"tag":290,"props":291,"children":292},"ol",{},[293,298,303,308],{"type":14,"tag":95,"props":294,"children":295},{},[296],{"type":19,"value":297},"אם יופיע ארגון backoffice שני, האם הקוד שלי מתנהג כראוי?",{"type":14,"tag":95,"props":299,"children":300},{},[301],{"type":19,"value":302},"אם אשנה שורת shared, האם כל הקאשים per-org יתבטלו?",{"type":14,"tag":95,"props":304,"children":305},{},[306],{"type":19,"value":307},"האם הסודות שלי נשארים בקפדנות server-side?",{"type":14,"tag":95,"props":309,"children":310},{},[311],{"type":19,"value":312},"האם ה-GET שלי מאפשר ל-pickers של ארגונים אחרים לרשום את המשאב, מבלי לחשוף את הסוד?",{"type":14,"tag":15,"props":314,"children":315},{},[316],{"type":19,"value":317},"אם תשובה אחת היא לא — המשאב אינו נמסר.",{"title":7,"searchDepth":319,"depth":319,"links":320},2,[321,322,323,324,325,326],{"id":24,"depth":319,"text":27},{"id":135,"depth":319,"text":138},{"id":175,"depth":319,"text":178},{"id":206,"depth":319,"text":209},{"id":231,"depth":319,"text":234},{"id":280,"depth":319,"text":283},"markdown","content:he:docs:5.securite:2.multi-tenant.md","content","he\u002Fdocs\u002F5.securite\u002F2.multi-tenant.md","he\u002Fdocs\u002F5.securite\u002F2.multi-tenant","md",[334],{"title":335,"_path":336,"children":337},"He","\u002Fhe",[338],{"title":339,"_path":340,"children":341},"Docs","\u002Fhe\u002Fdocs",[342,355,383,411,424,438,451,512],{"title":343,"_path":344,"children":345},"תחילת העבודה","\u002Fhe\u002Fdocs\u002Fdemarrer",[346,349,352],{"title":347,"_path":348},"ברוכים הבאים","\u002Fhe\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":350,"_path":351},"יצירת חשבון","\u002Fhe\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":353,"_path":354},"חיבור מפתח LLM","\u002Fhe\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":356,"_path":357,"children":358},"ערוצים","\u002Fhe\u002Fdocs\u002Fcanaux",[359,362,365,368,371,374,377,380],{"title":360,"_path":361},"סקירת הערוצים","\u002Fhe\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":363,"_path":364},"טלפוניה בזמן אמת","\u002Fhe\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":366,"_path":367},"אימייל","\u002Fhe\u002Fdocs\u002Fcanaux\u002Femail",{"title":369,"_path":370},"Chat widget לאתר","\u002Fhe\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":372,"_path":373},"Webhook HTTP","\u002Fhe\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":375,"_path":376},"מסרים מיידיים (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fhe\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":378,"_path":379},"Meta Lead Ads","\u002Fhe\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":381,"_path":382},"תזמון (cron)","\u002Fhe\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":384,"_path":385,"children":386},"פייפליינים","\u002Fhe\u002Fdocs\u002Fpipelines",[387,390,393,396,399,402,405,408],{"title":388,"_path":389},"העורך הויזואלי","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":391,"_path":392},"סוכני AI","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fagents",{"title":394,"_path":395},"אופרטורים דטרמיניסטיים","\u002Fhe\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":397,"_path":398},"בקרת זרימה","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":400,"_path":401},"שלבי קוד","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":403,"_path":404},"תת-פייפליינים","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":406,"_path":407},"פעולות ללא קוד","\u002Fhe\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":409,"_path":410},"בסיס ידע","\u002Fhe\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":412,"_path":413,"children":414},"פיקוח","\u002Fhe\u002Fdocs\u002Fsupervision",[415,418,421],{"title":416,"_path":417},"היסטוריית ביצועים","\u002Fhe\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":419,"_path":420},"קרדיטים ומדידת צריכה","\u002Fhe\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":422,"_path":423},"Benchmarks","\u002Fhe\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":425,"_path":426,"children":427},"אבטחה","\u002Fhe\u002Fdocs\u002Fsecurite",[428,431,432,435],{"title":429,"_path":430},"עקרונות אבטחה","\u002Fhe\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":8,"_path":4},{"title":433,"_path":434},"ביקורת GDPR ויומן גישה","\u002Fhe\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",{"title":436,"_path":437},"פריסה ריבונית","\u002Fhe\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":439,"_path":440,"children":441},"מפתחים","\u002Fhe\u002Fdocs\u002Fdeveloppeurs",[442,445,448],{"title":443,"_path":444},"API admin","\u002Fhe\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":446,"_path":447},"Webhooks יוצאים","\u002Fhe\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":449,"_path":450},"שליטה ב-betool מתוך Claude (MCP)","\u002Fhe\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",{"title":452,"_path":453,"children":454},"אינטגרציות","\u002Fhe\u002Fdocs\u002Fintegrations",[455,458,461,464,467,470,473,476,479,482,485,488,491,494,497,500,503,506,509],{"title":456,"_path":457},"סקירת האינטגרציות","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":459,"_path":460},"Stripe","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":462,"_path":463},"GitHub","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":465,"_path":466},"Google","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":468,"_path":469},"LinkedIn Ads","\u002Fhe\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":471,"_path":472},"Kavkom","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":474,"_path":475},"Jira","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fjira",{"title":477,"_path":478},"Slack","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fslack",{"title":480,"_path":481},"SMS","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fsms",{"title":483,"_path":484},"Enable Banking (open banking)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":486,"_path":487},"CRM, שיווק ופרודוקטיביות","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":489,"_path":490},"HeyGen (וידאו)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":492,"_path":493},"La Poste","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":495,"_path":496},"CRM עסקי (beTool Application, Qhare)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":498,"_path":499},"Mitti (בדיקות שטח)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":501,"_path":502},"Meta (Messenger, Pages, Meta Ads)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":504,"_path":505},"Onoff Business (Beta)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":507,"_path":508},"Smart Life \u002F Tuya (מכשירים מחוברים)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":510,"_path":511},"מוצרי beTool (Desktop, Kiosk, Terminal)","\u002Fhe\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":513,"_path":514,"children":515},"תרחישי שימוש","\u002Fhe\u002Fdocs\u002Fcas-usage",[516,519,522,525,528,531],{"title":517,"_path":518},"סוכנים עסקיים לדוגמה","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":520,"_path":521},"CFO IA","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":523,"_path":524},"COO IA","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":526,"_path":527},"CTO IA","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":529,"_path":530},"Product Manager IA","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":532,"_path":533},"עוזר אישי","\u002Fhe\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]