[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fit\u002Fdocs\u002Fsecurite\u002Fprincipes":3,"docs-nav-it":434},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":428,"_id":429,"_source":430,"_file":431,"_stem":432,"_extension":433},"\u002Fit\u002Fdocs\u002Fsecurite\u002Fprincipes","securite",false,"","Principi di sicurezza","I quattro impegni non negoziabili di betool: multi-tenant rigoroso, audit degli accessi cross-tenant, rifiuto motivato delle azioni distruttive, LLM sovrani.",{"type":11,"children":12,"toc":419},"root",[13,29,36,48,132,138,150,190,203,209,221,227,260,266,282,287,374,384,390],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18,21,27],{"type":19,"value":20},"text","betool è progettato per ",{"type":14,"tag":22,"props":23,"children":24},"strong",{},[25],{"type":19,"value":26},"ambienti regolamentati",{"type":19,"value":28},". La sicurezza non è uno strato aggiunto dopo: è l'invariante che modella ogni riga di codice, ogni migrazione, ogni modulo.",{"type":14,"tag":30,"props":31,"children":33},"h2",{"id":32},"_1-multi-tenancy-rigorosa",[34],{"type":19,"value":35},"1. Multi-tenancy rigorosa",{"type":14,"tag":15,"props":37,"children":38},{},[39,41,46],{"type":19,"value":40},"Ogni organizzazione possiede ",{"type":14,"tag":22,"props":42,"children":43},{},[44],{"type":19,"value":45},"i propri",{"type":19,"value":47}," dati, pipeline, segreti, file e chiavi LLM. L'isolamento è garantito:",{"type":14,"tag":49,"props":50,"children":51},"ul",{},[52,79,97,115],{"type":14,"tag":53,"props":54,"children":55},"li",{},[56,61,63,70,72,77],{"type":14,"tag":22,"props":57,"children":58},{},[59],{"type":19,"value":60},"A livello di database",{"type":19,"value":62}," — ogni tabella di business contiene una colonna ",{"type":14,"tag":64,"props":65,"children":67},"code",{"className":66},[],[68],{"type":19,"value":69},"org_id",{"type":19,"value":71}," indicizzata, e le query lato server filtrano ",{"type":14,"tag":22,"props":73,"children":74},{},[75],{"type":19,"value":76},"sempre",{"type":19,"value":78}," in base all'organizzazione della sessione.",{"type":14,"tag":53,"props":80,"children":81},{},[82,87,89,95],{"type":14,"tag":22,"props":83,"children":84},{},[85],{"type":19,"value":86},"A livello di filesystem",{"type":19,"value":88}," — ogni org ha la propria radice sotto ",{"type":14,"tag":64,"props":90,"children":92},{"className":91},[],[93],{"type":19,"value":94},"\u003Cdata_root>\u002Forgs\u002F\u003Corg_id>\u002F",{"type":19,"value":96},". Nessun percorso condiviso.",{"type":14,"tag":53,"props":98,"children":99},{},[100,105,107,113],{"type":14,"tag":22,"props":101,"children":102},{},[103],{"type":19,"value":104},"A livello di cache",{"type":19,"value":106}," — cache per singola org; nessuna voce condivisa senza un flag esplicito ",{"type":14,"tag":64,"props":108,"children":110},{"className":109},[],[111],{"type":19,"value":112},"is_shared = TRUE",{"type":19,"value":114},".",{"type":14,"tag":53,"props":116,"children":117},{},[118,123,125,130],{"type":14,"tag":22,"props":119,"children":120},{},[121],{"type":19,"value":122},"A livello di segreti",{"type":19,"value":124}," — ogni org ha il proprio vault, le proprie chiavi API, i propri token. Nessun fallback globale. Anche i segreti inseriti nella configurazione di un nodo (segreto HMAC, token, password) sono ",{"type":14,"tag":22,"props":126,"children":127},{},[128],{"type":19,"value":129},"mascherati ovunque la configurazione venga riletta",{"type":19,"value":131}," — editor, API, strumenti MCP letti da un'IA, proposte.",{"type":14,"tag":30,"props":133,"children":135},{"id":134},"_2-audit-obbligatorio-degli-accessi-cross-tenant",[136],{"type":19,"value":137},"2. Audit obbligatorio degli accessi cross-tenant",{"type":14,"tag":15,"props":139,"children":140},{},[141,143,148],{"type":19,"value":142},"Alcuni ruoli (tipicamente gli account operatore di piattaforma sul lato vendor) ",{"type":14,"tag":22,"props":144,"children":145},{},[146],{"type":19,"value":147},"possono",{"type":19,"value":149}," aver bisogno di accedere al contenuto di un'altra organizzazione per finalità di supporto. Tale accesso è:",{"type":14,"tag":49,"props":151,"children":152},{},[153,163,180],{"type":14,"tag":53,"props":154,"children":155},{},[156,161],{"type":14,"tag":22,"props":157,"children":158},{},[159],{"type":19,"value":160},"Subordinato a un opt-in dell'organizzazione destinataria",{"type":19,"value":162}," — revocabile in qualsiasi momento dal pannello di amministrazione.",{"type":14,"tag":53,"props":164,"children":165},{},[166,171,173,179],{"type":14,"tag":22,"props":167,"children":168},{},[169],{"type":19,"value":170},"Registrato a ogni accesso",{"type":19,"value":172}," — tabella di audit dedicata, delimitata per org destinataria, esposta ai clienti tramite una route ",{"type":14,"tag":64,"props":174,"children":176},{"className":175},[],[177],{"type":19,"value":178},"GET \u002Fapi\u002Fadmin\u002Fme\u002F*-reads",{"type":19,"value":114},{"type":14,"tag":53,"props":181,"children":182},{},[183,188],{"type":14,"tag":22,"props":184,"children":185},{},[186],{"type":19,"value":187},"Negato se la scrittura di audit fallisce",{"type":19,"value":189}," — nessuna lettura senza traccia.",{"type":14,"tag":15,"props":191,"children":192},{},[193,195,202],{"type":19,"value":194},"Vedi ",{"type":14,"tag":196,"props":197,"children":199},"a",{"href":198},"\u002Fit\u002Fdocs\u002Fsecurite\u002Faudit-rgpd",[200],{"type":19,"value":201},"Audit RGPD",{"type":19,"value":114},{"type":14,"tag":30,"props":204,"children":206},{"id":205},"_3-rifiuto-motivato-sulle-operazioni-distruttive",[207],{"type":19,"value":208},"3. Rifiuto motivato sulle operazioni distruttive",{"type":14,"tag":15,"props":210,"children":211},{},[212,214,219],{"type":19,"value":213},"Qualsiasi operazione che distrugge o sostituisce il contenuto di un'altra organizzazione (REPLACE-IN-PLACE dei figli, DELETE) è ",{"type":14,"tag":22,"props":215,"children":216},{},[217],{"type":19,"value":218},"rifiutata",{"type":19,"value":220}," se l'org destinataria non ha attivato l'opt-in di lettura. Motivazione: senza visibilità, l'operatore proporrebbe un payload che potrebbe sovrascrivere ciecamente contenuti esistenti.",{"type":14,"tag":30,"props":222,"children":224},{"id":223},"_4-sovranità-del-modello-llm",[225],{"type":19,"value":226},"4. Sovranità del modello LLM",{"type":14,"tag":49,"props":228,"children":229},{},[230,240,250],{"type":14,"tag":53,"props":231,"children":232},{},[233,238],{"type":14,"tag":22,"props":234,"children":235},{},[236],{"type":19,"value":237},"BYOK nativo",{"type":19,"value":239}," — le tue chiavi OpenAI, Anthropic, Google sono gestite dalla tua organizzazione. Nessuna fuga cross-org. Il BYOK è facoltativo (esistono modelli gestiti, fatturati in crediti) ma raccomandato negli ambienti regolamentati.",{"type":14,"tag":53,"props":241,"children":242},{},[243,248],{"type":14,"tag":22,"props":244,"children":245},{},[246],{"type":19,"value":247},"Modelli privati",{"type":19,"value":249}," — Ollama, LM Studio o qualsiasi endpoint compatibile OpenAI (vLLM…) ospitato presso di te o nel tuo cloud privato. Prompt e completamenti non lasciano mai il tuo perimetro.",{"type":14,"tag":53,"props":251,"children":252},{},[253,258],{"type":14,"tag":22,"props":254,"children":255},{},[256],{"type":19,"value":257},"Nessun pool condiviso silenzioso",{"type":19,"value":259}," — se un'org utilizza un modello condiviso, si tratta di una decisione esplicita con controllo degli accessi.",{"type":14,"tag":30,"props":261,"children":263},{"id":262},"postura-di-ingegneria",[264],{"type":19,"value":265},"Postura di ingegneria",{"type":14,"tag":267,"props":268,"children":269},"blockquote",{},[270],{"type":14,"tag":15,"props":271,"children":272},{},[273,275,280],{"type":19,"value":274},"Il nostro standard è la ",{"type":14,"tag":22,"props":276,"children":277},{},[278],{"type":19,"value":279},"precisione",{"type":19,"value":281},": massima robustezza, osservabilità totale, determinismo, anti-allucinazione, anti-regressione, test a ogni passo.",{"type":14,"tag":15,"props":283,"children":284},{},[285],{"type":19,"value":286},"In concreto, a ogni trade-off di architettura \u002F codice \u002F prompt:",{"type":14,"tag":288,"props":289,"children":290},"table",{},[291,315],{"type":14,"tag":292,"props":293,"children":294},"thead",{},[295],{"type":14,"tag":296,"props":297,"children":298},"tr",{},[299,305,310],{"type":14,"tag":300,"props":301,"children":302},"th",{},[303],{"type":19,"value":304},"Scelta",{"type":14,"tag":300,"props":306,"children":307},{},[308],{"type":19,"value":309},"Scelta attesa",{"type":14,"tag":300,"props":311,"children":312},{},[313],{"type":19,"value":314},"Perché",{"type":14,"tag":316,"props":317,"children":318},"tbody",{},[319,338,356],{"type":14,"tag":296,"props":320,"children":321},{},[322,328,333],{"type":14,"tag":323,"props":324,"children":325},"td",{},[326],{"type":19,"value":327},"Latenza × 2 vs. ragionamento abbreviato",{"type":14,"tag":323,"props":329,"children":330},{},[331],{"type":19,"value":332},"× 2",{"type":14,"tag":323,"props":334,"children":335},{},[336],{"type":19,"value":337},"La precisione persa si ripaga con la fiducia dell'utente",{"type":14,"tag":296,"props":339,"children":340},{},[341,346,351],{"type":14,"tag":323,"props":342,"children":343},{},[344],{"type":19,"value":345},"Osservabilità granulare vs. soli log essenziali",{"type":14,"tag":323,"props":347,"children":348},{},[349],{"type":19,"value":350},"Granulare",{"type":14,"tag":323,"props":352,"children":353},{},[354],{"type":19,"value":355},"Senza visibilità, il debug è cieco",{"type":14,"tag":296,"props":357,"children":358},{},[359,364,369],{"type":14,"tag":323,"props":360,"children":361},{},[362],{"type":19,"value":363},"Scorciatoia che degrada un comportamento",{"type":14,"tag":323,"props":365,"children":366},{},[367],{"type":19,"value":368},"Rifiuto",{"type":14,"tag":323,"props":370,"children":371},{},[372],{"type":19,"value":373},"Il rischio comportamentale si misura in incidenti dei clienti",{"type":14,"tag":15,"props":375,"children":376},{},[377,382],{"type":14,"tag":22,"props":378,"children":379},{},[380],{"type":19,"value":381},"Mantra",{"type":19,"value":383},": \"Se qualcuno trova un bug, significa che non avevamo abbastanza garanzie di sicurezza, non troppe.\"",{"type":14,"tag":30,"props":385,"children":387},{"id":386},"approfondimenti",[388],{"type":19,"value":389},"Approfondimenti",{"type":14,"tag":49,"props":391,"children":392},{},[393,402,410],{"type":14,"tag":53,"props":394,"children":395},{},[396],{"type":14,"tag":196,"props":397,"children":399},{"href":398},"\u002Fit\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",[400],{"type":19,"value":401},"Multi-tenancy rigorosa",{"type":14,"tag":53,"props":403,"children":404},{},[405],{"type":14,"tag":196,"props":406,"children":407},{"href":198},[408],{"type":19,"value":409},"Audit RGPD e registro degli accessi",{"type":14,"tag":53,"props":411,"children":412},{},[413],{"type":14,"tag":196,"props":414,"children":416},{"href":415},"\u002Fit\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",[417],{"type":19,"value":418},"Deployment sovrano",{"title":7,"searchDepth":420,"depth":420,"links":421},2,[422,423,424,425,426,427],{"id":32,"depth":420,"text":35},{"id":134,"depth":420,"text":137},{"id":205,"depth":420,"text":208},{"id":223,"depth":420,"text":226},{"id":262,"depth":420,"text":265},{"id":386,"depth":420,"text":389},"markdown","content:it:docs:5.securite:1.principes.md","content","it\u002Fdocs\u002F5.securite\u002F1.principes.md","it\u002Fdocs\u002F5.securite\u002F1.principes","md",[435],{"title":436,"_path":437,"children":438},"It","\u002Fit",[439],{"title":440,"_path":441,"children":442},"Docs","\u002Fit\u002Fdocs",[443,456,484,512,525,533,546,607],{"title":444,"_path":445,"children":446},"Per iniziare","\u002Fit\u002Fdocs\u002Fdemarrer",[447,450,453],{"title":448,"_path":449},"Benvenuto","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":451,"_path":452},"Creare un account","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":454,"_path":455},"Collegare una chiave LLM","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":457,"_path":458,"children":459},"Canali","\u002Fit\u002Fdocs\u002Fcanaux",[460,463,466,469,472,475,478,481],{"title":461,"_path":462},"Panoramica dei canali","\u002Fit\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":464,"_path":465},"Telefonia in tempo reale","\u002Fit\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":467,"_path":468},"Email","\u002Fit\u002Fdocs\u002Fcanaux\u002Femail",{"title":470,"_path":471},"Widget chat web","\u002Fit\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":473,"_path":474},"Webhook HTTP","\u002Fit\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":476,"_path":477},"Messaggistica (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":479,"_path":480},"Meta Lead Ads","\u002Fit\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":482,"_path":483},"Schedule (cron)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":485,"_path":486,"children":487},"Pipeline","\u002Fit\u002Fdocs\u002Fpipelines",[488,491,494,497,500,503,506,509],{"title":489,"_path":490},"L'editor visuale","\u002Fit\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":492,"_path":493},"Agenti IA","\u002Fit\u002Fdocs\u002Fpipelines\u002Fagents",{"title":495,"_path":496},"Operatori deterministici","\u002Fit\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":498,"_path":499},"Controllo di flusso","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":501,"_path":502},"Code Step","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":504,"_path":505},"Sotto-pipeline","\u002Fit\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":507,"_path":508},"Azioni no-code","\u002Fit\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":510,"_path":511},"Base di conoscenza","\u002Fit\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":513,"_path":514,"children":515},"Supervisione","\u002Fit\u002Fdocs\u002Fsupervision",[516,519,522],{"title":517,"_path":518},"Cronologia delle esecuzioni","\u002Fit\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":520,"_path":521},"Crediti e metering","\u002Fit\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":523,"_path":524},"Benchmark","\u002Fit\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":526,"_path":527,"children":528},"Sicurezza","\u002Fit\u002Fdocs\u002Fsecurite",[529,530,531,532],{"title":8,"_path":4},{"title":401,"_path":398},{"title":409,"_path":198},{"title":418,"_path":415},{"title":534,"_path":535,"children":536},"Sviluppatori","\u002Fit\u002Fdocs\u002Fdeveloppeurs",[537,540,543],{"title":538,"_path":539},"API Admin","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":541,"_path":542},"Webhook in uscita","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":544,"_path":545},"Pilotare betool da Claude (MCP)","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",{"title":547,"_path":548,"children":549},"Integrazioni","\u002Fit\u002Fdocs\u002Fintegrations",[550,553,556,559,562,565,568,571,574,577,580,583,586,589,592,595,598,601,604],{"title":551,"_path":552},"Panoramica delle integrazioni","\u002Fit\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":554,"_path":555},"Stripe","\u002Fit\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":557,"_path":558},"GitHub","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":560,"_path":561},"Google","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":563,"_path":564},"LinkedIn Ads","\u002Fit\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":566,"_path":567},"Kavkom","\u002Fit\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":569,"_path":570},"Jira","\u002Fit\u002Fdocs\u002Fintegrations\u002Fjira",{"title":572,"_path":573},"Slack","\u002Fit\u002Fdocs\u002Fintegrations\u002Fslack",{"title":575,"_path":576},"SMS","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsms",{"title":578,"_path":579},"Enable Banking (open banking)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":581,"_path":582},"CRM, marketing e produttività","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":584,"_path":585},"HeyGen (video)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":587,"_path":588},"La Poste","\u002Fit\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":590,"_path":591},"CRM verticali (beTool Application, Qhare)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":593,"_path":594},"Mitti (ispezioni sul campo)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":596,"_path":597},"Meta (Messenger, Pagine, Meta Ads)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":599,"_path":600},"Onoff Business (Beta)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":602,"_path":603},"Smart Life \u002F Tuya (oggetti connessi)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":605,"_path":606},"Prodotti beTool (Desktop, Kiosk, Terminal)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":608,"_path":609,"children":610},"Casi d'uso","\u002Fit\u002Fdocs\u002Fcas-usage",[611,614,617,620,623,626],{"title":612,"_path":613},"Agenti di business tipo","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":615,"_path":616},"CFO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":618,"_path":619},"COO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":621,"_path":622},"CTO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":624,"_path":625},"Product Manager IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":627,"_path":628},"Assistente personale","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]