[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"doc-\u002Fit\u002Fdocs\u002Fsecurite\u002Faudit-rgpd":3,"docs-nav-it":400},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"title":8,"description":9,"body":10,"_type":394,"_id":395,"_source":396,"_file":397,"_stem":398,"_extension":399},"\u002Fit\u002Fdocs\u002Fsecurite\u002Faudit-rgpd","securite",false,"","Audit RGPD e registro degli accessi","Come betool traccia gli accessi cross-tenant ai contenuti degli utenti e supporta il diritto di accesso (art. 15) e il diritto alla cancellazione (art. 17).",{"type":11,"children":12,"toc":384},"root",[13,21,28,33,111,130,136,155,164,169,174,180,193,206,212,234,257,267,273,285,291,303,308,314,333,379],{"type":14,"tag":15,"props":16,"children":17},"element","p",{},[18],{"type":19,"value":20},"text","betool è progettato per soddisfare i requisiti del RGPD senza soluzioni improvvisate: ogni accesso al contenuto di un utente da parte di un agent appartenente a un'altra organizzazione viene registrato, e ogni organizzazione può consultare il proprio registro.",{"type":14,"tag":22,"props":23,"children":25},"h2",{"id":24},"il-registro-degli-accessi",[26],{"type":19,"value":27},"Il registro degli accessi",{"type":14,"tag":15,"props":29,"children":30},{},[31],{"type":19,"value":32},"Una tabella dedicata registra, per ogni accesso cross-tenant:",{"type":14,"tag":34,"props":35,"children":36},"ul",{},[37,43,56,67,72,84,106],{"type":14,"tag":38,"props":39,"children":40},"li",{},[41],{"type":19,"value":42},"Il timestamp",{"type":14,"tag":38,"props":44,"children":45},{},[46,48,54],{"type":19,"value":47},"L'org ",{"type":14,"tag":49,"props":50,"children":51},"strong",{},[52],{"type":19,"value":53},"destinataria",{"type":19,"value":55}," (il cui contenuto è stato letto)",{"type":14,"tag":38,"props":57,"children":58},{},[59,60,65],{"type":19,"value":47},{"type":14,"tag":49,"props":61,"children":62},{},[63],{"type":19,"value":64},"lettrice",{"type":19,"value":66}," (tipicamente il vendor)",{"type":14,"tag":38,"props":68,"children":69},{},[70],{"type":19,"value":71},"L'utente che ha avviato la lettura",{"type":14,"tag":38,"props":73,"children":74},{},[75,77,82],{"type":19,"value":76},"Il ",{"type":14,"tag":49,"props":78,"children":79},{},[80],{"type":19,"value":81},"tool",{"type":19,"value":83}," attraverso cui è passata la lettura",{"type":14,"tag":38,"props":85,"children":86},{},[87,89,96,98,104],{"type":19,"value":88},"Il tipo di entità (vocabolario chiuso: ",{"type":14,"tag":90,"props":91,"children":93},"code",{"className":92},[],[94],{"type":19,"value":95},"context",{"type":19,"value":97}," per una conversazione, ",{"type":14,"tag":90,"props":99,"children":101},{"className":100},[],[102],{"type":19,"value":103},"scenario",{"type":19,"value":105}," per un benchmark)",{"type":14,"tag":38,"props":107,"children":108},{},[109],{"type":19,"value":110},"L'ID dell'entità letta (e l'exchange preciso quando la lettura riguarda un singolo turno)",{"type":14,"tag":15,"props":112,"children":113},{},[114,116,121,123,128],{"type":19,"value":115},"Il vocabolario delle entità è ",{"type":14,"tag":49,"props":117,"children":118},{},[119],{"type":19,"value":120},"chiuso a livello di database",{"type":19,"value":122}," (vincolo CHECK) e ",{"type":14,"tag":49,"props":124,"children":125},{},[126],{"type":19,"value":127},"chiuso a livello di codice",{"type":19,"value":129}," (whitelist applicativa). Aggiungere un tipo = nuova migrazione + aggiornamento della whitelist. Nessuna voce a sorpresa.",{"type":14,"tag":22,"props":131,"children":133},{"id":132},"diritto-di-accesso-articolo-15",[134],{"type":19,"value":135},"Diritto di accesso (Articolo 15)",{"type":14,"tag":15,"props":137,"children":138},{},[139,141,146,148,153],{"type":19,"value":140},"Ogni organizzazione può consultare I PROPRI registri di accesso, in ",{"type":14,"tag":49,"props":142,"children":143},{},[144],{"type":19,"value":145},"Impostazioni dell'organizzazione → Privacy",{"type":19,"value":147}," (sezione ",{"type":14,"tag":49,"props":149,"children":150},{},[151],{"type":19,"value":152},"Registro di accesso",{"type":19,"value":154},") oppure tramite:",{"type":14,"tag":156,"props":157,"children":159},"pre",{"code":158},"GET \u002Fapi\u002Fadmin\u002Fme\u002Fsupervisor-reads\n",[160],{"type":14,"tag":90,"props":161,"children":162},{"__ignoreMap":7},[163],{"type":19,"value":158},{"type":14,"tag":15,"props":165,"children":166},{},[167],{"type":19,"value":168},"La route restituisce le letture in ordine cronologico decrescente (fino a 1 000 voci per chiamata).",{"type":14,"tag":15,"props":170,"children":171},{},[172],{"type":19,"value":173},"Nessun accesso cross-org all'audit: il vendor non vede mai i registri di audit del cliente.",{"type":14,"tag":22,"props":175,"children":177},{"id":176},"diritto-alla-cancellazione-articolo-17",[178],{"type":19,"value":179},"Diritto alla cancellazione (Articolo 17)",{"type":14,"tag":15,"props":181,"children":182},{},[183,185,191],{"type":19,"value":184},"L'architettura rende la cancellazione eseguibile in modo pulito: tutti i dati di un'organizzazione sono associati al suo ",{"type":14,"tag":90,"props":186,"children":188},{"className":187},[],[189],{"type":19,"value":190},"org_id",{"type":19,"value":192}," (tabelle di business, cartelle di file, segreti), il che consente una cancellazione mirata — un utente preciso, una conversazione precisa o l'intera organizzazione — senza toccare il resto.",{"type":14,"tag":15,"props":194,"children":195},{},[196,198,204],{"type":19,"value":197},"Le richieste di cancellazione (Articolo 17) vengono gestite con il nostro supporto: scrivi a ",{"type":14,"tag":90,"props":199,"children":201},{"className":200},[],[202],{"type":19,"value":203},"contact@betool.fr",{"type":19,"value":205}," da un account amministratore dell'organizzazione interessata.",{"type":14,"tag":22,"props":207,"children":209},{"id":208},"opt-in-e-opt-out-della-lettura-cross-tenant",[210],{"type":19,"value":211},"Opt-in e opt-out della lettura cross-tenant",{"type":14,"tag":15,"props":213,"children":214},{},[215,217,226,228,232],{"type":19,"value":216},"Per impostazione predefinita, l'opt-in di lettura cross-tenant è impostato su ",{"type":14,"tag":49,"props":218,"children":219},{},[220],{"type":14,"tag":90,"props":221,"children":223},{"className":222},[],[224],{"type":19,"value":225},"FALSE",{"type":19,"value":227},". Un amministratore dell'organizzazione può attivarlo — e revocarlo in qualsiasi momento — in ",{"type":14,"tag":49,"props":229,"children":230},{},[231],{"type":19,"value":145},{"type":19,"value":233},".",{"type":14,"tag":34,"props":235,"children":236},{},[237,247],{"type":14,"tag":38,"props":238,"children":239},{},[240,245],{"type":14,"tag":49,"props":241,"children":242},{},[243],{"type":19,"value":244},"Disattivato",{"type":19,"value":246}," — predefinito. Il vendor non può accedere a nessun contenuto di questa org. Conseguenza: non è possibile alcun supporto cross-org su ciò che riguarda il contenuto (il supporto strutturale resta possibile).",{"type":14,"tag":38,"props":248,"children":249},{},[250,255],{"type":14,"tag":49,"props":251,"children":252},{},[253],{"type":19,"value":254},"Attivato",{"type":19,"value":256}," — il supervisore può leggere le conversazioni dell'org per fare diagnosi, e ogni accesso è sottoposto ad audit e consultabile dall'org.",{"type":14,"tag":15,"props":258,"children":259},{},[260,265],{"type":14,"tag":49,"props":261,"children":262},{},[263],{"type":19,"value":264},"Il vendor NON PUÒ attivare questo opt-in per conto del cliente.",{"type":19,"value":266}," È un test fondamentale: se il vendor può attivarlo senza un'azione del cliente, l'architettura è compromessa.",{"type":14,"tag":22,"props":268,"children":270},{"id":269},"protezione-sulle-operazioni-distruttive",[271],{"type":19,"value":272},"Protezione sulle operazioni distruttive",{"type":14,"tag":15,"props":274,"children":275},{},[276,278,283],{"type":19,"value":277},"Qualsiasi operazione che distrugge o sostituisce contenuti (DELETE, REPLACE-IN-PLACE) è ",{"type":14,"tag":49,"props":279,"children":280},{},[281],{"type":19,"value":282},"rifiutata dal validatore",{"type":19,"value":284}," se l'org destinataria non ha attivato l'opt-in di lettura. Motivo: senza visibilità, l'operatore proporrebbe alla cieca un payload che sovrascriverebbe l'esistente.",{"type":14,"tag":22,"props":286,"children":288},{"id":287},"rifiuto-a-cascata-se-laudit-non-è-disponibile",[289],{"type":19,"value":290},"Rifiuto a cascata se l'audit non è disponibile",{"type":14,"tag":15,"props":292,"children":293},{},[294,296,301],{"type":19,"value":295},"Se il database di audit non è disponibile (incidente infrastrutturale), qualsiasi lettura cross-tenant è ",{"type":14,"tag":49,"props":297,"children":298},{},[299],{"type":19,"value":300},"rifiutata",{"type":19,"value":302},". Politica rigorosa: nessuna lettura senza traccia.",{"type":14,"tag":15,"props":304,"children":305},{},[306],{"type":19,"value":307},"Conseguenza lato codice: un chiamante che intercetta un'eccezione deve rilanciare l'errore di audit prima di qualsiasi elaborazione di business. È un invariante verificato dal benchmark di sicurezza.",{"type":14,"tag":22,"props":309,"children":311},{"id":310},"cookie-di-consenso",[312],{"type":19,"value":313},"Cookie di consenso",{"type":14,"tag":15,"props":315,"children":316},{},[317,319,324,326,331],{"type":19,"value":318},"Il sito marketing (betool.ai) misura la propria audience con ",{"type":14,"tag":49,"props":320,"children":321},{},[322],{"type":19,"value":323},"Google Analytics 4",{"type":19,"value":325},", in ",{"type":14,"tag":49,"props":327,"children":328},{},[329],{"type":19,"value":330},"Consent Mode v2",{"type":19,"value":332},":",{"type":14,"tag":34,"props":334,"children":335},{},[336,355,367],{"type":14,"tag":38,"props":337,"children":338},{},[339,341,346,348,353],{"type":19,"value":340},"Per impostazione predefinita, tutti i consensi Google (misurazione, pubblicità) sono impostati su ",{"type":14,"tag":49,"props":342,"children":343},{},[344],{"type":19,"value":345},"negato",{"type":19,"value":347},": lo script di Google Analytics ",{"type":14,"tag":49,"props":349,"children":350},{},[351],{"type":19,"value":352},"non viene caricato",{"type":19,"value":354}," e non viene depositato alcun cookie di analytics.",{"type":14,"tag":38,"props":356,"children":357},{},[358,360,365],{"type":19,"value":359},"Lo script viene caricato, e la misurazione attivata, ",{"type":14,"tag":49,"props":361,"children":362},{},[363],{"type":19,"value":364},"solo dopo la tua accettazione esplicita",{"type":19,"value":366}," della misurazione dell'audience nel banner.",{"type":14,"tag":38,"props":368,"children":369},{},[370,372,377],{"type":19,"value":371},"Puoi revocare questo consenso in qualsiasi momento (",{"type":14,"tag":49,"props":373,"children":374},{},[375],{"type":19,"value":376},"Gestisci i cookie",{"type":19,"value":378},", nel piè di pagina): la misurazione torna allora su negato.",{"type":14,"tag":15,"props":380,"children":381},{},[382],{"type":19,"value":383},"I consensi pubblicitari restano negati: il sito non effettua targeting pubblicitario.",{"title":7,"searchDepth":385,"depth":385,"links":386},2,[387,388,389,390,391,392,393],{"id":24,"depth":385,"text":27},{"id":132,"depth":385,"text":135},{"id":176,"depth":385,"text":179},{"id":208,"depth":385,"text":211},{"id":269,"depth":385,"text":272},{"id":287,"depth":385,"text":290},{"id":310,"depth":385,"text":313},"markdown","content:it:docs:5.securite:3.audit-rgpd.md","content","it\u002Fdocs\u002F5.securite\u002F3.audit-rgpd.md","it\u002Fdocs\u002F5.securite\u002F3.audit-rgpd","md",[401],{"title":402,"_path":403,"children":404},"It","\u002Fit",[405],{"title":406,"_path":407,"children":408},"Docs","\u002Fit\u002Fdocs",[409,422,450,478,491,505,518,579],{"title":410,"_path":411,"children":412},"Per iniziare","\u002Fit\u002Fdocs\u002Fdemarrer",[413,416,419],{"title":414,"_path":415},"Benvenuto","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbienvenue",{"title":417,"_path":418},"Creare un account","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fcreer-un-compte",{"title":420,"_path":421},"Collegare una chiave LLM","\u002Fit\u002Fdocs\u002Fdemarrer\u002Fbrancher-llm",{"title":423,"_path":424,"children":425},"Canali","\u002Fit\u002Fdocs\u002Fcanaux",[426,429,432,435,438,441,444,447],{"title":427,"_path":428},"Panoramica dei canali","\u002Fit\u002Fdocs\u002Fcanaux\u002Fvue-densemble",{"title":430,"_path":431},"Telefonia in tempo reale","\u002Fit\u002Fdocs\u002Fcanaux\u002Ftelephone",{"title":433,"_path":434},"Email","\u002Fit\u002Fdocs\u002Fcanaux\u002Femail",{"title":436,"_path":437},"Widget chat web","\u002Fit\u002Fdocs\u002Fcanaux\u002Fchat-widget",{"title":439,"_path":440},"Webhook HTTP","\u002Fit\u002Fdocs\u002Fcanaux\u002Fwebhook",{"title":442,"_path":443},"Messaggistica (WhatsApp, Messenger, Telegram, Mattermost)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fmessageries",{"title":445,"_path":446},"Meta Lead Ads","\u002Fit\u002Fdocs\u002Fcanaux\u002Ffacebook-leads",{"title":448,"_path":449},"Schedule (cron)","\u002Fit\u002Fdocs\u002Fcanaux\u002Fschedule",{"title":451,"_path":452,"children":453},"Pipeline","\u002Fit\u002Fdocs\u002Fpipelines",[454,457,460,463,466,469,472,475],{"title":455,"_path":456},"L'editor visuale","\u002Fit\u002Fdocs\u002Fpipelines\u002Fediteur-visuel",{"title":458,"_path":459},"Agenti IA","\u002Fit\u002Fdocs\u002Fpipelines\u002Fagents",{"title":461,"_path":462},"Operatori deterministici","\u002Fit\u002Fdocs\u002Fpipelines\u002Foperateurs",{"title":464,"_path":465},"Controllo di flusso","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcontrole-flux",{"title":467,"_path":468},"Code Step","\u002Fit\u002Fdocs\u002Fpipelines\u002Fcode-step",{"title":470,"_path":471},"Sotto-pipeline","\u002Fit\u002Fdocs\u002Fpipelines\u002Fsous-pipelines",{"title":473,"_path":474},"Azioni no-code","\u002Fit\u002Fdocs\u002Fpipelines\u002Factions-no-code",{"title":476,"_path":477},"Base di conoscenza","\u002Fit\u002Fdocs\u002Fpipelines\u002Fbase-de-connaissances",{"title":479,"_path":480,"children":481},"Supervisione","\u002Fit\u002Fdocs\u002Fsupervision",[482,485,488],{"title":483,"_path":484},"Cronologia delle esecuzioni","\u002Fit\u002Fdocs\u002Fsupervision\u002Fexecutions",{"title":486,"_path":487},"Crediti e metering","\u002Fit\u002Fdocs\u002Fsupervision\u002Fcredits-metering",{"title":489,"_path":490},"Benchmark","\u002Fit\u002Fdocs\u002Fsupervision\u002Fbenchmarks",{"title":492,"_path":493,"children":494},"Sicurezza","\u002Fit\u002Fdocs\u002Fsecurite",[495,498,501,502],{"title":496,"_path":497},"Principi di sicurezza","\u002Fit\u002Fdocs\u002Fsecurite\u002Fprincipes",{"title":499,"_path":500},"Multi-tenancy rigorosa","\u002Fit\u002Fdocs\u002Fsecurite\u002Fmulti-tenant",{"title":8,"_path":4},{"title":503,"_path":504},"Deployment sovrano","\u002Fit\u002Fdocs\u002Fsecurite\u002Fdeploiement-souverain",{"title":506,"_path":507,"children":508},"Sviluppatori","\u002Fit\u002Fdocs\u002Fdeveloppeurs",[509,512,515],{"title":510,"_path":511},"API Admin","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fapi-admin",{"title":513,"_path":514},"Webhook in uscita","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fwebhooks-sortants",{"title":516,"_path":517},"Pilotare betool da Claude (MCP)","\u002Fit\u002Fdocs\u002Fdeveloppeurs\u002Fmcp",{"title":519,"_path":520,"children":521},"Integrazioni","\u002Fit\u002Fdocs\u002Fintegrations",[522,525,528,531,534,537,540,543,546,549,552,555,558,561,564,567,570,573,576],{"title":523,"_path":524},"Panoramica delle integrazioni","\u002Fit\u002Fdocs\u002Fintegrations\u002Fvue-densemble",{"title":526,"_path":527},"Stripe","\u002Fit\u002Fdocs\u002Fintegrations\u002Fstripe",{"title":529,"_path":530},"GitHub","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgithub",{"title":532,"_path":533},"Google","\u002Fit\u002Fdocs\u002Fintegrations\u002Fgoogle",{"title":535,"_path":536},"LinkedIn Ads","\u002Fit\u002Fdocs\u002Fintegrations\u002Flinkedin-ads",{"title":538,"_path":539},"Kavkom","\u002Fit\u002Fdocs\u002Fintegrations\u002Fkavkom",{"title":541,"_path":542},"Jira","\u002Fit\u002Fdocs\u002Fintegrations\u002Fjira",{"title":544,"_path":545},"Slack","\u002Fit\u002Fdocs\u002Fintegrations\u002Fslack",{"title":547,"_path":548},"SMS","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsms",{"title":550,"_path":551},"Enable Banking (open banking)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fenable-banking",{"title":553,"_path":554},"CRM, marketing e produttività","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-marketing",{"title":556,"_path":557},"HeyGen (video)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fheygen",{"title":559,"_path":560},"La Poste","\u002Fit\u002Fdocs\u002Fintegrations\u002Fla-poste",{"title":562,"_path":563},"CRM verticali (beTool Application, Qhare)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fcrm-metier",{"title":565,"_path":566},"Mitti (ispezioni sul campo)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmitti",{"title":568,"_path":569},"Meta (Messenger, Pagine, Meta Ads)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fmeta",{"title":571,"_path":572},"Onoff Business (Beta)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fonoff",{"title":574,"_path":575},"Smart Life \u002F Tuya (oggetti connessi)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fsmart-life",{"title":577,"_path":578},"Prodotti beTool (Desktop, Kiosk, Terminal)","\u002Fit\u002Fdocs\u002Fintegrations\u002Fproduits-betool",{"title":580,"_path":581,"children":582},"Casi d'uso","\u002Fit\u002Fdocs\u002Fcas-usage",[583,586,589,592,595,598],{"title":584,"_path":585},"Agenti di business tipo","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fvue-densemble",{"title":587,"_path":588},"CFO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcfo-ia",{"title":590,"_path":591},"COO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcoo-ia",{"title":593,"_path":594},"CTO IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fcto-ia",{"title":596,"_path":597},"Product Manager IA","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fproduct-manager-ia",{"title":599,"_path":600},"Assistente personale","\u002Fit\u002Fdocs\u002Fcas-usage\u002Fassistant-personnel"]