[{"data":1,"prerenderedAt":809},["ShallowReactive",2],{"blog-it-is-cursor-ai-safe":3,"blog-index-it":566},{"id":4,"title":5,"body":6,"category":517,"cover":518,"coverAlt":519,"description":520,"draft":521,"extension":522,"faq":523,"image":542,"keywords":543,"meta":554,"navigation":555,"ogTitle":5,"path":556,"published":557,"seo":558,"stem":559,"tldr":560,"updated":564,"__hash__":565},"blog_it\u002Fblog\u002Fis-cursor-ai-safe.md","Cursor AI è sicuro? L’editor, il codice e l’app che hai pubblicato",{"type":7,"value":8,"toc":503},"minimark",[9,13,21,24,29,32,54,57,63,67,70,73,84,93,102,111,116,120,123,132,135,157,176,180,183,192,195,198,206,211,215,218,221,244,247,251,254,262,265,370,382,393,397,400,439,443,446,458,462,492],[10,11,12],"p",{},"Hai costruito qualcosa in Cursor, funziona, e stai per metterci sopra persone\nvere. A un certo punto di quella settimana hai digitato «cursor ai è sicuro» in\nun motore di ricerca, e quello che è uscito era una pagina sulle impostazioni\ndi privacy di Cursor, una pagina su quanto vale il codice scritto da un’IA, e\nuna pagina su un download di puntatori del mouse personalizzati. Nessuna ha\ndetto una parola sull’app che stai per pubblicare.",[10,14,15,16,20],{},"Ecco la parte che la maggior parte di quelle risposte sbaglia: ",[17,18,19],"strong",{},"«Cursor AI è\nsicuro?» sono tre domande in una sola frase",", e hanno tre risposte diverse.\nDue riguardano Cursor e i modelli che ci stanno dietro. La terza riguarda ciò\nche hai pubblicato, ed è quella che decide se uno sconosciuto può leggere i\ndati dei tuoi utenti.",[10,22,23],{},"Pensa a Cursor come a un’impresa edile che hai assunto per costruire una casa.\nSe tiene una copia dei tuoi progetti è una domanda. Se ciò che costruisce è a\nnorma è una seconda. Se le porte si chiudono a chiave una volta che ti sei\ntrasferito è la terza, e resta la tua domanda per tutto il tempo che ci abiti.",[25,26,28],"h2",{"id":27},"cursor-ai-è-sicuro","Cursor AI è sicuro?",[10,30,31],{},"Come editor, è un normale strumento cloud: un interruttore per la privacy, una\npagina di sicurezza pubblicata e un’attestazione SOC 2 Type II. Questo risponde\na una delle tre domande, e non a quella che decide se degli sconosciuti possono\nleggere i dati dei tuoi utenti.",[33,34,35,42,48],"ol",{},[36,37,38,41],"li",{},[17,39,40],{},"L’editor."," Se Cursor tiene il tuo codice, si allena su di esso o lo passa\na qualcun altro. Questa è la copia dei progetti in mano all’impresa.",[36,43,44,47],{},[17,45,46],{},"Il codice."," Se ciò che l’IA scrive è sicuro. Questa è la domanda se la\ncasa è a norma, e nessuno lo ispeziona all’ingresso.",[36,49,50,53],{},[17,51,52],{},"L’app che hai pubblicato."," Ciò che uno sconosciuto può raggiungere dalla\nstrada: una chiave nel codice che un browser scarica, un database che\nrisponde senza login, un file che non avrebbe mai dovuto avere un URL.\nQueste sono le porte.",[10,55,56],{},"Niente dalla parte di Cursor può rispondere alla terza. Niente dalla nostra può\nrispondere alle prime due.",[58,59],"diagram",{"alt":60,"caption":61,"src":62},"Tre pannelli affiancati. Il primo contiene il logo di Cursor con una nuvola e un lucchetto accanto. Il secondo contiene un segno di codice con una scintilla sopra. Il terzo contiene una pagina di browser con tre visitatori che si protendono verso di essa e una lente disegnata solo su quel pannello.","Tre domande dentro una sola ricerca. Una scansione dall’esterno legge il terzo pannello e niente degli altri due.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fthree-questions-1600x700.png",[25,64,66],{"id":65},"cursor-tiene-il-mio-codice","Cursor tiene il mio codice?",[10,68,69],{},"Per il tempo che serve a risponderti, sì. Dopo dipende da un interruttore.",[10,71,72],{},"Cursor è uno strumento cloud. Quando gli chiedi qualcosa, le parti rilevanti\ndel tuo progetto lasciano il tuo computer, vanno sui server di Cursor e\npassano a un fornitore di modelli (OpenAI, Anthropic, Google, il modello che\nhai scelto) per essere elaborate. Il prodotto funziona così. I progetti devono\narrivare all’impresa.",[10,74,75,76,83],{},"Quello che succede dopo è l’interruttore, e la\n",[77,78,82],"a",{"href":79,"rel":80},"https:\u002F\u002Fcursor.com\u002Fdata-use",[81],"nofollow","pagina sull’uso dei dati"," di Cursor mette le due\nposizioni nello stesso paragrafo. Con il Privacy Mode acceso, «i dati dei\nclienti non saranno usati da Cursor per l’addestramento» e Cursor «mantiene\naccordi di ritenzione zero dei dati (ZDR) con tutti i fornitori», cioè le\naziende che fanno girare i modelli si impegnano a non tenere nulla. Con il\nPrivacy Mode spento, Cursor «può usare e conservare dati della codebase,\nprompt, azioni nell’editor, frammenti di codice e altri dati e azioni sul\ncodice per migliorare le nostre funzioni di IA e addestrare i nostri modelli».",[10,85,86,87,92],{},"L’interruttore è disponibile in ogni piano, gratuito compreso, e un\namministratore di team o enterprise può accenderlo per tutti e impedire ai\nmembri di spegnerlo. La stessa\n",[77,88,91],{"href":89,"rel":90},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fenterprise\u002Fsecurity-hardening",[81],"guida all’hardening","\ndi Cursor dice che è acceso di default sugli account Enterprise. In un piano\nindividuale è un’impostazione, e quell’impostazione vale la pena cercarla oggi.",[10,94,95,96,101],{},"Una cosa in più, perché ha già colto qualcuno di sorpresa. Da metà 2025\nesistono due versioni: «Privacy Mode», che lascia che Cursor conservi alcuni\ndati per funzioni come i suoi agenti cloud e le memorie, e «Privacy Mode\n(Legacy)», che non conserva nulla. A luglio 2026 un\n",[77,97,100],{"href":98,"rel":99},"https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=48737226",[81],"utente di Hacker News"," ha\nraccontato di aver fatto il login nell’app iOS e di aver trovato il suo account\nspostato dall’impostazione Legacy a quella attuale. Un dipendente di Cursor ha\nrisposto che il messaggio per attivare gli agenti cloud aveva fatto lo\nspostamento «senza chiarire cosa significasse o che è difficile da annullare»,\ne che tornare indietro non era possibile nell’app. Se avevi scelto la più\nrigida, controlla che sia ancora selezionata.",[10,103,104,105,110],{},"Le certificazioni rispondono a una domanda più stretta di quanto sembri. La\n",[77,106,109],{"href":107,"rel":108},"https:\u002F\u002Fcursor.com\u002Fsecurity",[81],"pagina di sicurezza"," di Cursor elenca\nun’attestazione SOC 2 Type II, ISO\u002FIEC 27001 e ISO\u002FIEC 42001. Significano che\nun revisore esterno ha verificato che Cursor ha controlli su come tratta i dati\nche detiene, nello stesso modo in cui il certificato di assicurazione di\nun’impresa dice che l’impresa è assicurata. Non dicono nulla sul codice che\nscrive né sull’app che pubblichi con esso.",[58,112],{"alt":113,"caption":114,"src":115},"A sinistra una finestra di editor da cui un documento parte lungo una freccia, attraverso una nuvola, fino a un server a destra. Sotto la nuvola c’è un interruttore. Accanto all’interruttore in posizione accesa, un cilindro di archiviazione disegnato tratteggiato, e accanto a esso in posizione spenta, un cilindro pieno con una scintilla sopra.","Il tuo codice lascia la tua macchina a ogni richiesta. L’interruttore decide se qualcosa viene conservato dopo, e se viene usato per l’addestramento.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fwhere-your-code-goes-1600x680.png",[25,117,119],{"id":118},"cosa-carica-lindicizzazione-del-codice","Cosa carica l’indicizzazione del codice?",[10,121,122],{},"Un indice del tuo progetto, conservato sui server di Cursor, con i percorsi\ndei file cifrati e il codice in sé mai conservato come testo leggibile.",[10,124,125,126,131],{},"L’indicizzazione è il modo in cui Cursor risponde a una domanda sull’intero\nprogetto e non solo sul file che hai aperto. Spezza i tuoi file in pezzi, li\nmanda ai server di Cursor perché diventino embedding (un riassunto numerico di\nciò di cui parla ogni pezzo), e conserva quegli embedding così che, quando\nchiedi «dove gestiamo i rimborsi», trovi i pezzi giusti. La\n",[77,127,130],{"href":128,"rel":129},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fcodebase-indexing",[81],"documentazione"," di Cursor\ndice: «I percorsi dei file vengono cifrati prima di essere inviati ai server di\nCursor. Il contenuto del codice non viene mai conservato in chiaro». Ciò che\nresta dalla loro parte è una mappa del tuo codice, ed è una cosa diversa da una\ncopia.",[10,133,134],{},"Due cose vale la pena sapere sulla mappa.",[10,136,137,140,141,145,146,149,150,153,154,156],{},[17,138,139],{},"Alcuni file restano fuori di default, e puoi aggiungerne altri."," Cursor\nsalta tutto ciò che è nel tuo ",[142,143,144],"code",{},".gitignore"," e una lista di default che include\n",[142,147,148],{},".env*",", il file in cui di solito vivono le tue chiavi segrete. Un file\n",[142,151,152],{},".cursorignore"," nella radice del progetto, scritto con la stessa sintassi di\n",[142,155,144],{},", tiene qualsiasi altra cosa tu nomini fuori dall’indice e fuori da\nciò che viene mostrato all’IA.",[10,158,159,162,163,168,169,171,172,175],{},[17,160,161],{},"Il terminale dell’agente non legge quella lista."," Questa è la riserva che\nconta per le chiavi. La\n",[77,164,167],{"href":165,"rel":166},"https:\u002F\u002Fcursor.com\u002Fdocs\u002Fcontext\u002Fignore-files",[81],"pagina sui file di esclusione","\ndi Cursor dice che «gli strumenti di terminale e di server MCP usati\ndall’Agente non possono bloccare l’accesso al codice regolato da\n",[142,170,152],{},"», e che «una protezione completa non è garantita a causa\ndell’imprevedibilità degli LLM». Quando l’agente esegue un comando sulla tua\nmacchina, può leggere ",[142,173,174],{},".env"," come può farlo qualsiasi comando. Il file è fuori\ndall’indice e ancora a portata di mano. Se una chiave sta nella cartella di\nprogetto che hai aperto in Cursor, trattala come una chiave che l’agente può\nvedere.",[25,177,179],{"id":178},"il-codice-che-scrive-cursor-è-sicuro","Il codice che scrive Cursor è sicuro?",[10,181,182],{},"Non di default, e questo è misurato, anche se la misura riguarda i modelli che\nCursor usa e non Cursor in sé.",[10,184,185,186,191],{},"Veracode, un’azienda che vende test di sicurezza del codice, ha fatto passare\noltre 150 modelli per gli stessi 80 compiti di programmazione, in quattro\nlinguaggi, ognuno con un modo sicuro e uno insicuro di svolgerlo. Il suo\n",[77,187,190],{"href":188,"rel":189},"https:\u002F\u002Fwww.veracode.com\u002Fblog\u002Fspring-2026-genai-code-security\u002F",[81],"aggiornamento di primavera 2026",",\npubblicato il 24 marzo 2026, ha trovato che solo il 55% dei risultati era\nsicuro, una cifra che Veracode definisce «praticamente identica a dove stavano\ndue anni fa», mentre la quota che compilava aveva superato il 95%. Su due dei\nquattro tipi di falla i modelli non hanno quasi mai scelto la versione sicura:\nil cross-site scripting, che lascia che il testo di un visitatore venga\neseguito come codice nel browser di un altro, è passato il 15% delle volte, e\nla log injection il 13%.",[10,193,194],{},"Il riassunto di Veracode è che i modelli «sono diventati eccellenti nello\nscrivere codice che compila. Hanno fallito nello scrivere codice che è sicuro».",[10,196,197],{},"Per te, la persona che il codice non l’ha scritto, il divario tra quei due\nnumeri è tutto il risultato. Il test che fai su un progetto Cursor è se\nfunziona: clicchi in giro per l’app e compaiono le cose giuste. Quello è il\n95%. Il test che nessuno fa è se il codice ha deciso chi può vedere cosa, e il\n55% dice che quella decisione è stata presa circa la metà delle volte. Un’app\npuò superare del tutto il primo test e fallire il secondo, perché una pagina\nche ti mostra i tuoi ordini e una pagina che mostra a chiunque gli ordini di\ntutti sembrano identiche alla persona a cui appartiene l’account.",[10,199,200,201,205],{},"Dove va presa quella decisione, e perché «carica gli ordini» non la prende mai\nda sola, è al centro della ",[77,202,204],{"href":203},"\u002Fis-your-cursor-app-safe","guida a Cursor",".",[58,207],{"alt":208,"caption":209,"src":210},"Due barre orizzontali sulla stessa scala. La barra superiore, preceduta da una spunta, corre quasi per tutta la larghezza e finisce nel numero 95 con un segno di maggiore davanti. La barra inferiore, preceduta da un lucchetto, si ferma poco oltre la metà e finisce nel numero 55.","Il test di primavera 2026 di Veracode su oltre 150 modelli. La barra superiore è il codice che ha compilato. Quella inferiore è il codice che era sicuro.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcompiles-versus-safe-1600x560.png",[25,212,214],{"id":213},"prompt-injection-in-parole-semplici","Prompt injection, in parole semplici",[10,216,217],{},"Il modello tratta le istruzioni come istruzioni ovunque le trovi, anche dentro\ncose che doveva soltanto leggere.",[10,219,220],{},"Dici a Cursor «riassumi questo thread» o «metti in ordine questo file», e per\nfarlo legge il thread o il file. Se il thread contiene una frase scritta per\nsembrare un’istruzione a un’IA, il modello potrebbe seguirla, perché non ha un\nmodo affidabile di distinguere la tua voce da quella della pagina. Questa è la\nprompt injection, e in un agente di programmazione, che può modificare file ed\neseguire comandi sulla tua macchina, le conseguenze vanno oltre un brutto\nriassunto.",[10,222,223,224,229,230,233,234,239,240,243],{},"Due casi con un nome, entrambi contro Cursor. A marzo 2025 Pillar Security ha\npubblicato\n",[77,225,228],{"href":226,"rel":227},"https:\u002F\u002Fwww.pillar.security\u002Fblog\u002Fnew-vulnerability-in-github-copilot-and-cursor-how-hackers-can-weaponize-code-agents",[81],"«Rules File Backdoor»",":\nistruzioni nascoste con caratteri Unicode invisibili dentro un file\n",[142,231,232],{},".cursor\u002Frules",", il file di configurazione che dice a Cursor come vuoi che il\ntuo codice sia scritto. Il file sembrava pulito nell’editor e in un diff di\nGitHub, e diceva in silenzio all’IA di aggiungere a ogni pagina generata uno\nscript dal dominio di un attaccante e di non menzionarlo mai. La risposta di\nCursor è stata che non si trattava di una vulnerabilità della sua piattaforma\ne che la responsabilità è dell’utente. Ad agosto 2025 Aim Security ha reso nota\n",[77,235,238],{"href":236,"rel":237},"https:\u002F\u002Fthehackernews.com\u002F2025\u002F08\u002Fcursor-ai-code-editor-fixed-flaw.html",[81],"CVE-2025-54135",",\nche hanno chiamato CurXecute: un messaggio in un canale Slack pubblico, letto\nda Cursor attraverso un server MCP (un plug-in che permette all’agente di\nraggiungere strumenti esterni), poteva far scrivere all’agente una voce nella\nsua stessa configurazione ",[142,241,242],{},"mcp.json",", e Cursor avviava quella voce, eseguendo\nil comando dell’attaccante, prima che tu avessi approvato la modifica. Cursor\nl’ha corretta nella versione 1.3 il 29 luglio 2025, e ora ogni modifica a quel\nfile aspetta la tua approvazione.",[10,245,246],{},"Ciò che ne segue per te è breve. Un file di regole che hai copiato da un\nrepository o da un articolo è codice, e guida tutto ciò che l’agente scrive\ndopo, quindi leggilo come codice. Tieni Cursor aggiornato, dato che la\ncorrezione di CurXecute era un numero di versione. E ogni server MCP che\ncolleghi e che legge testo dall’esterno, una casella di posta, una coda di\nticket, una ricerca, consegna all’agente frasi che tu non hai scritto.",[25,248,250],{"id":249},"cosa-dice-una-scansione-di-30998-app-online-sulla-terza-domanda","Cosa dice una scansione di 30.998 app online sulla terza domanda",[10,252,253],{},"Che niente dell’editor arriva all’app che hai pubblicato. Non sappiamo\ndistinguere dall’esterno un’app fatta con Cursor da qualsiasi altra, e il\nrisultato è questo.",[10,255,256,257,261],{},"Tra il 12 e il 14 agosto 2026 abbiamo passato i nove controlli esterni che\nchiunque può lanciare gratis sulla nostra home page su 30.998 app online. Le\nabbiamo trovate da dove erano pubblicate: 18.554 sul dominio di Lovable, 5.438\nsu quello di Base44, 3.042 su quello di Replit, e così via. Un progetto Cursor\nviene deployato dove lo metti tu, su Vercel, su Netlify, su un dominio che hai\ncomprato, e la pagina che un visitatore scarica non porta alcun segno\ndell’editor che l’ha scritta. Quindi non c’è una colonna Cursor\n",[77,258,260],{"href":259},"\u002Fresearch\u002Fvibe-coded-app-security-2026","nel report",", e non può esserci.",[10,263,264],{},"Quello che c’è, su ogni builder che abbiamo misurato, è la stessa breve lista\ndi cose che un proprietario ha lasciato aperte, e nessuna la decide l’editor.\nOgni quota qui sotto è sulle app in cui quel controllo ha risposto, perché un\ncontrollo che non è riuscito a finire è sconosciuto e non superato. Nessuna app\nviene nominata qui né altrove tra ciò che pubblichiamo.",[266,267,268,284],"table",{},[269,270,271],"thead",{},[272,273,274,278,281],"tr",{},[275,276,277],"th",{},"Cosa abbiamo controllato",[275,279,280],{},"App",[275,282,283],{},"Chi lo decide in un progetto Cursor",[285,286,287,299,310,321,331,341,359],"tbody",{},[272,288,289,293,296],{},[290,291,292],"td",{},"Una tabella del database leggibile senza login",[290,294,295],{},"2.096 su 3.680 (57%)",[290,297,298],{},"Tu, nel database",[272,300,301,304,307],{},[290,302,303],{},"Una route API che ha risposto con dati a uno sconosciuto",[290,305,306],{},"3.852 su 30.926 (12%)",[290,308,309],{},"Tu, nel codice",[272,311,312,315,318],{},[290,313,314],{},"Source map servita (su Base44 quasi sempre la piattaforma)",[290,316,317],{},"3.885 su 30.987 (13%)",[290,319,320],{},"Tu, nella build, fuori da Base44",[272,322,323,326,329],{},[290,324,325],{},"Qualcosa a forma di chiave nel codice che un visitatore scarica",[290,327,328],{},"1.332 su 30.998 (4%)",[290,330,309],{},[272,332,333,336,339],{},[290,334,335],{},"Una chiave che addebita un account o scavalca ogni regola",[290,337,338],{},"52 su 30.998",[290,340,309],{},[272,342,343,353,356],{},[290,344,345,346,348,349,352],{},"Un file privato come ",[142,347,174],{}," o ",[142,350,351],{},".git\u002Fconfig"," a un URL pubblico",[290,354,355],{},"8 su 30.749",[290,357,358],{},"Tu, nel deploy",[272,360,361,364,367],{},[290,362,363],{},"Header di sicurezza del browser mancanti",[290,365,366],{},"30.756 su 30.981 (99%)",[290,368,369],{},"Tu, presso l’host",[10,371,372,373,377,378,381],{},"La prima riga è misurata sulle 3.680 app che nominavano un progetto Supabase e\nil cui database ha risposto alla domanda, per questo la sua base è più piccola;\n",[77,374,376],{"href":375},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","cosa legge quel controllo e cosa no","\nha tutta la scala. La quinta riga è quella che costa denaro da sola: una chiave\nsegreta di OpenAI, Anthropic, AWS o Stripe, o una chiave ",[142,379,380],{},"service_role"," di\nSupabase, nel codice che un browser scarica.",[10,383,384,385,387,388,392],{},"L’ultima colonna è ciò che cambia con Cursor. Sul dominio di un builder, due di\nquelle righe appartengono all’host: gli header li manda ciò che serve la\npagina, e le source map seguono le impostazioni di build del builder. Un\nprogetto Cursor è il tuo repository, la tua build e il tuo deploy, quindi ogni\nriga di quella tabella è tua, comprese le due che un proprietario Lovable non\ncontrolla. È più controllo e più da verificare, ed è il motivo per cui la\n",[77,386,204],{"href":203}," dedica il suo tempo all’output\ndella tua build e al tuo database invece che all’editor. L’",[77,389,391],{"href":390},"\u002Fblog\u002Fis-replit-safe","articolo su\nReplit"," pone le stesse tre domande a una piattaforma che\nospita l’app e allo stesso tempo ti lascia pubblicare un server tuo.",[25,394,396],{"id":395},"il-controllo-di-cinque-minuti-dallesterno","Il controllo di cinque minuti dall’esterno",[10,398,399],{},"Usa una finestra privata per i primi tre, così il tuo login non risponde al\nposto di uno sconosciuto.",[33,401,402,413,416,419,432],{},[36,403,404,405,408,409,412],{},"Apri il tuo indirizzo pubblicato con ",[142,406,407],{},"\u002F.env"," in fondo, poi con\n",[142,410,411],{},"\u002F.git\u002Fconfig",". Entrambi devono fallire. Se uno mostra del testo, ruota oggi\nogni chiave che contiene, poi sistema il deploy perché quel file non venga\nmai servito.",[36,414,415],{},"Apri allo stesso modo una delle tue route API, una che non vorresti far\nleggere a uno sconosciuto. Se risponde con dei dati, quella route ha bisogno\ndi un controllo del login.",[36,417,418],{},"Apri la tua app online, poi la scheda Sources degli strumenti per\nsviluppatori del browser. Se riesci a leggere i tuoi file originali con i\ncommenti, le source map sono attive nella tua build di produzione.",[36,420,421,422,424,425,427,428,431],{},"Se i tuoi dati sono in Supabase, la metà interna del controllo sta nella\n",[77,423,204],{"href":203},": cerca ",[142,426,380],{}," e\n",[142,429,430],{},"sk_live_"," nell’output della build, poi apri la pagina delle policy.",[36,433,434,435,205],{},"Oppure lascia che lo faccia la scansione. Esegue questi e il resto dei nove\ndall’esterno, ci mette circa 20 secondi, non ha bisogno di un account e\nstampa «Impossibile controllare» per tutto ciò a cui non ha potuto\nrispondere, invece di una spunta: ",[77,436,438],{"href":437},"\u002Fsecurity-scanner","scansiona la tua app",[25,440,442],{"id":441},"cosa-cambia-dopo-il-prossimo-push","Cosa cambia dopo il prossimo push?",[10,444,445],{},"Qualsiasi cosa. Un progetto Cursor va online quando fai push, e niente tra il\ntuo editor e internet rilegge l’app in cerca di una route che ha perso il suo\ncontrollo del login, di una chiave incollata a mezzanotte per superare una\nbuild che falliva, o di una source map tornata attiva con una modifica di\nconfigurazione. Il numero di Veracode è il motivo per cui qui conta più che su\nun builder: ogni sessione con l’agente è codice nuovo che compila e potrebbe\nnon essere sicuro, e una scansione fatta il mese scorso descrive l’app del mese\nscorso.",[10,447,448,452,453,457],{},[77,449,451],{"href":450},"\u002Fpricing","Reeve Monitor"," è fatto per questo. Rilancia tutti e nove i\ncontrolli ogni ora su fino a tre app, controlla la disponibilità ogni 60\nsecondi, ti avvisa quando un risultato cambia invece di aspettare che tu vada a\nguardare, e manda un report mensile. Costa €12 al mese a listino, con sette\ngiorni gratis prima di addebitarti qualcosa; la pagina dei prezzi a volte è\nsotto la cifra indicata qui e mai sopra. Monitor osserva e nient’altro. Se la\ntua app Cursor tiene i suoi dati in Supabase, ",[77,454,456],{"href":455},"\u002Fsupabase-backups","Care"," è il\npiano che conserva anche una copia di quel database, e dei tuoi file caricati\nuna volta che colleghi una credenziale Storage. Se i dati vivono altrove,\nMonitor è la metà che calza.",[25,459,461],{"id":460},"cosa-fare-questa-settimana","Cosa fare questa settimana",[463,464,465],"key-takeaways",{},[466,467,468,471,477,480,489],"ul",{},[36,469,470],{},"Trova il Privacy Mode nelle impostazioni di Cursor e controlla quale versione è selezionata. In un team, fallo imporre dall’amministratore.",[36,472,473,474,476],{},"Tratta qualsiasi chiave nella cartella di progetto che hai aperto come una chiave che l’agente può leggere. ",[142,475,152],{}," la tiene fuori dall’indice, e il terminale non legge quella lista.",[36,478,479],{},"Leggi come codice qualsiasi file di regole o configurazione MCP copiata da internet, e tieni Cursor aggiornato.",[36,481,482,483,485,486,488],{},"Apri ",[142,484,407],{}," e ",[142,487,411],{}," sul tuo indirizzo pubblicato in una finestra privata. Entrambi devono fallire.",[36,490,491],{},"Apri le tue route API senza login. Qualsiasi route che risponde con dati privati ha bisogno di un controllo del login.",[10,493,494,495,497,498,502],{},"La metà interna di tutto questo, l’output della build e il database, è la\n",[77,496,204],{"href":203},". La\n",[77,499,501],{"href":500},"\u002Fchecklist","checklist di sicurezza da 10 minuti"," copre ciò che vale la pena\nconfermare su qualsiasi app appena lanciata, chiunque l’abbia scritta.",{"title":504,"searchDepth":505,"depth":505,"links":506},"",3,[507,509,510,511,512,513,514,515,516],{"id":27,"depth":508,"text":28},2,{"id":65,"depth":508,"text":66},{"id":118,"depth":508,"text":119},{"id":178,"depth":508,"text":179},{"id":213,"depth":508,"text":214},{"id":249,"depth":508,"text":250},{"id":395,"depth":508,"text":396},{"id":441,"depth":508,"text":442},{"id":460,"depth":508,"text":461},"Basi della sicurezza","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcover-1200x630.png","Logo di Cursor su piastrella bianca, una freccia a una finestra di editor con una scintilla, poi una pagina pubblicata e tre visitatori.","Cursor AI è sicuro? Tre domande in una ricerca: cosa tiene Cursor, cosa sbaglia il codice che scrive, e se l’app che hai pubblicato è aperta.",false,"md",[524,527,530,533,536,539],{"q":525,"a":526},"Cursor si allena sul mio codice?","Solo con il Privacy Mode spento. Con il Privacy Mode acceso, Cursor dichiara che i dati dei clienti non vengono usati per l’addestramento e che ha accordi di ritenzione zero dei dati con ogni fornitore di modelli, quindi non resta nulla nemmeno dalla loro parte. Con il Privacy Mode spento, Cursor dice che può usare e conservare il tuo codice, i tuoi prompt e le tue azioni nell’editor per migliorare le sue funzioni e addestrare i suoi modelli. L’interruttore è disponibile in ogni piano, gratuito compreso, e un amministratore del team può accenderlo per tutti.",{"q":528,"a":529},"Cosa fa davvero il Privacy Mode?","Decide cosa succede al tuo codice dopo che una richiesta è stata elaborata. Il tuo codice lascia comunque il tuo computer a ogni richiesta, perché un editor cloud funziona così. Il Privacy Mode impedisce a Cursor di allenarsi su di esso e vincola i fornitori di modelli a non conservare nulla. Da metà 2025 ne esistono due versioni: quella attuale lascia che Cursor conservi alcuni dati per funzioni come gli agenti cloud e le memorie, e quella ora etichettata Legacy non conserva nulla. Se avevi scelto la più rigida, controlla che sia ancora selezionata.",{"q":531,"a":532},"L’indicizzazione del codice è sicura?","L’indicizzazione manda pezzi del tuo progetto a Cursor perché diventino embedding, un riassunto numerico che gli permette di trovare il file giusto quando fai una domanda. Cursor dice che i percorsi dei file vengono cifrati prima di lasciare la tua macchina e che il codice in sé non viene mai conservato come testo leggibile, quindi ciò che resta sui suoi server è una mappa del tuo progetto. I file in .gitignore e i file .env vengono saltati di default, e un file .cursorignore tiene fuori dall’indice qualsiasi altra cosa. La riserva è il terminale: Cursor documenta che l’agente, quando esegue un comando, può leggere un file che .cursorignore esclude.",{"q":534,"a":535},"Cursor è certificato SOC 2?","Cursor elenca un’attestazione SOC 2 Type II sulla sua pagina di sicurezza, accanto a ISO\u002FIEC 27001 e ISO\u002FIEC 42001. Un rapporto SOC 2 significa che un revisore esterno ha verificato che l’azienda ha controlli su come tratta i dati che detiene. Non dice nulla sul fatto che il codice scritto da Cursor sia sicuro, né sull’app che hai pubblicato con esso, che sono le due domande che preoccupano la maggior parte di chi digita «cursor ai è sicuro».",{"q":537,"a":538},"Il codice generato dall’IA è meno sicuro di quello che scrivo io?","La risposta misurata riguarda i modelli e non te. Veracode fa passare 80 compiti di programmazione a ogni modello importante, ognuno con un modo sicuro e uno insicuro di svolgerlo, e nel suo aggiornamento di primavera 2026 solo il 55% dei risultati era sicuro mentre più del 95% compilava. Il divario è la cosa da tenere a mente: il codice supera il test che fai tu, cioè se funziona, e circa la metà delle volte non ha preso la decisione di sicurezza che nessuno controlla al posto tuo.",{"q":540,"a":541},"Cursor è sicuro per il lavoro con i clienti?","Dipende da cosa dice il contratto del cliente su dove può andare il suo codice. Cursor manda le parti rilevanti di un progetto ai suoi server, e da lì a un fornitore di modelli, a ogni richiesta; il Privacy Mode cambia cosa viene conservato dopo, e non se il codice viaggia. Se il contratto ammette uno strumento cloud sotto un accordo di ritenzione zero dei dati, il Privacy Mode è l’impostazione che te ne dà uno, e in un piano team l’amministratore può imporlo così che nessuno nel progetto possa spegnerlo.","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",[544,545,546,547,548,549,550,551,552,553],"cursor ai è sicuro","cursor è sicuro","cursor ai sicurezza","cursor privacy mode","cursor si allena sul mio codice","cursor indicizzazione del codice privacy","cursor soc 2","il codice generato dall’ia è sicuro","rischi di sicurezza cursor","is cursor ai safe",{},true,"\u002Fblog\u002Fis-cursor-ai-safe","2026-09-16",{"title":5,"description":520},"blog\u002Fis-cursor-ai-safe",[561,562,563],"Cursor AI è sicuro? Come editor, è un normale strumento cloud: il tuo codice va sui suoi server per essere elaborato, un interruttore decide cosa resta, e ha un’attestazione SOC 2 Type II.","Il codice che scrive è una seconda domanda. Nel test di primavera 2026 di Veracode, oltre 150 modelli hanno prodotto codice che compilava più del 95% delle volte ed era sicuro il 55% delle volte.","L’app che hai pubblicato è la terza, e l’unica a cui una scansione dall’esterno può rispondere. Non sappiamo distinguere un’app fatta con Cursor da qualsiasi altra, ed è proprio questo il punto: niente dell’editor arriva a ciò che hai pubblicato.","2026-09-21","j9ln4xUgYqKf8GNlJDzq1jj_tn72Ysc66ozcR2jl6Fs",[567,574,580,585,591,597,603,609,610,615,621,627,633,639,645,651,657,663,669,675,681,687,693,699,705,711,717,723,729,735,741,747,753,759,765,770,775,781,787,793,798,804],{"path":568,"title":569,"description":570,"published":571,"category":572,"image":573,"draft":521},"\u002Fblog\u002Fsupabase-backup-auth-users","Perché nel tuo dump Supabase non ci sono utenti","Lancia supabase db dump da solo e ottieni la forma del tuo database e nessuna delle sue righe, senza lo schema auth in cui vivono i tuoi utenti.","2026-09-23","Backups","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":575,"title":576,"description":577,"published":578,"category":517,"image":579,"draft":521},"\u002Fblog\u002Fdomain-and-certificate-expiry","Dominio scaduto, sito offline: cosa succede adesso","Il tuo dominio è scaduto e il sito è offline. Il conto alla rovescia che parte, perché il certificato è il problema minore, e come controllarli entrambi.","2026-09-22","\u002Fblog\u002Fdomain-and-certificate-expiry\u002Fcard-800x500.png",{"path":581,"title":582,"description":583,"published":564,"category":517,"image":584,"draft":521},"\u002Fblog\u002Fis-lovable-safe","Lovable è sicuro? Cosa abbiamo trovato in 18.554 app Lovable","Lovable è sicuro? Abbiamo passato 18.554 app Lovable online per nove controlli. La piattaforma è risultata la più pulita di cinque. I rilievi stavano nelle app.","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":586,"title":587,"description":588,"published":589,"category":517,"image":590,"draft":521},"\u002Fblog\u002Fvibe-coded-app-security-checklist","La checklist di sicurezza del vibe coding, in nove controlli","Una checklist di sicurezza del vibe coding in nove voci, ognuna verificabile dall’esterno sulla tua app dal vivo, e ognuna con un test di una riga.","2026-09-20","\u002Fblog\u002Fvibe-coded-app-security-checklist\u002Fcard-800x500.png",{"path":592,"title":593,"description":594,"published":595,"category":517,"image":596,"draft":521},"\u002Fblog\u002Fstripe-secret-key-in-frontend","Una chiave segreta Stripe nel frontend può muovere denaro","Una chiave segreta Stripe esposta nel tuo frontend può rimborsare, addebitare e leggere ogni scheda cliente che hai. La tua chiave pk_live_ ci sta bene.","2026-09-19","\u002Fblog\u002Fstripe-secret-key-in-frontend\u002Fcard-800x500.png",{"path":598,"title":599,"description":600,"published":601,"category":517,"image":602,"draft":521},"\u002Fblog\u002Fvite-and-next-public-env-vars","Variabili d’ambiente Vite esposte: il prefisso vuol dire pubblica","Variabili d’ambiente Vite esposte: la tua app ha fatto ciò che il prefisso chiedeva. VITE_ e NEXT_PUBLIC_ vogliono dire pubblica, e l’IA non sapeva il costo.","2026-09-18","\u002Fblog\u002Fvite-and-next-public-env-vars\u002Fcard-800x500.png",{"path":604,"title":605,"description":606,"published":607,"category":517,"image":608,"draft":521},"\u002Fblog\u002Fbase44-source-maps","Sicurezza Base44: cosa segnala uno scan e cosa tocca a te sistemare","Sicurezza Base44 su 5.438 app scansionate: tre segnalazioni su quasi tutte sono della piattaforma, la source map è il badge di Base44, la tua parte è corta.","2026-09-17","\u002Fblog\u002Fbase44-source-maps\u002Fcard-800x500.png",{"path":556,"title":5,"description":520,"published":557,"category":517,"image":542,"draft":521},{"path":390,"title":611,"description":612,"published":613,"category":517,"image":614,"draft":521},"Replit è sicuro? Cosa abbiamo trovato in 3.042 app Replit online","Replit è sicuro? Abbiamo passato 3.042 app Replit online per nove controlli esterni. I rilievi stavano nell’app pubblicata, non nell’host.","2026-09-15","\u002Fblog\u002Fis-replit-safe\u002Fcard-800x500.png",{"path":616,"title":617,"description":618,"published":619,"category":572,"image":620,"draft":521},"\u002Fblog\u002Fsupabase-storage-backup","Supabase storage backup: la copia del database non ha nessun file","Un Supabase storage backup è un lavoro a parte. I backup del database tengono la lista dei tuoi file e nessuno dei file, quindi ogni upload resta rotto.","2026-09-14","\u002Fblog\u002Fsupabase-storage-backup\u002Fcard-800x500.png",{"path":622,"title":623,"description":624,"published":625,"category":572,"image":626,"draft":521},"\u002Fblog\u002Fsupabase-point-in-time-recovery","Point-in-time recovery di Supabase: prezzo e limiti","Il point-in-time recovery di Supabase riavvolge il database a qualsiasi secondo della settimana scorsa. $100 al mese oltre a Pro, e copre solo il database.","2026-09-13","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",{"path":628,"title":629,"description":630,"published":631,"category":572,"image":632,"draft":521},"\u002Fblog\u002Fsupabase-project-paused-recover","Progetto Supabase in pausa? I tuoi dati sono ancora lì","Supabase ha messo in pausa il tuo progetto dopo una settimana senza attività. Non è cancellato niente, Ripristina è accanto al nome e hai un anno di tempo.","2026-09-12","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",{"path":634,"title":635,"description":636,"published":637,"category":517,"image":638,"draft":521},"\u002Fblog\u002Fsafest-ai-app-builder","Qual è il builder di app con IA più sicuro? 30.998 app testate","Qual è il builder di app con IA più sicuro? Abbiamo scansionato 30.998 app online di Lovable, Base44, Replit, v0 e Bolt. Non è il builder a decidere il voto.","2026-09-11","\u002Fblog\u002Fsafest-ai-app-builder\u002Fcard-800x500.png",{"path":640,"title":641,"description":642,"published":643,"category":517,"image":644,"draft":521},"\u002Fblog\u002Fenable-rls-on-every-supabase-table","Attiva Row Level Security su ogni tabella Supabase, poi verificalo","Attivare Row Level Security su Supabase senza una policy chiude del tutto la tabella. Una policy senza il flag non fa nulla. Ecco lo SQL, e la verifica.","2026-09-10","\u002Fblog\u002Fenable-rls-on-every-supabase-table\u002Fcard-800x500.png",{"path":646,"title":647,"description":648,"published":649,"category":517,"image":650,"draft":521},"\u002Fblog\u002Fsupabase-rls-disabled-in-public","Supabase \"RLS disabled in public\": cosa non vede l'avviso","Supabase segnala \"RLS disabled in public\" come errore. Non dice nulla della policy di lettura che lascia la tua tabella altrettanto aperta.","2026-09-09","\u002Fblog\u002Fsupabase-rls-disabled-in-public\u002Fcard-800x500.png",{"path":652,"title":653,"description":654,"published":655,"category":517,"image":656,"draft":521},"\u002Fblog\u002Frotate-supabase-service-role-key","Come ruotare una chiave service_role Supabase trapelata","Supabase dice di chiudere prima la falla. Altre guide dicono di ruotare subito. Quale sia giusto dipende da dove è finita la tua chiave service_role.","2026-09-08","\u002Fblog\u002Frotate-supabase-service-role-key\u002Fcard-800x500.png",{"path":658,"title":659,"description":660,"published":661,"category":517,"image":662,"draft":521},"\u002Fblog\u002Fvibe-coding-security-scanners-compared","Scanner di sicurezza per vibe coding a confronto, il nostro incluso","Il miglior scanner di sicurezza per vibe coding dipende da tre domande che nessun elenco di funzioni affronta. Dieci strumenti a confronto, con i prezzi.","2026-09-07","\u002Fblog\u002Fvibe-coding-security-scanners-compared\u002Fcard-800x500.png",{"path":664,"title":665,"description":666,"published":667,"category":517,"image":668,"draft":521},"\u002Fblog\u002Fsupabase-security-checker","Supabase security checker: i cinque controlli da fare da soli","Un Supabase security checker legge la tua app pubblicata invece delle impostazioni del progetto. Ecco i cinque controlli che esegue e come farli da solo.","2026-09-06","\u002Fblog\u002Fsupabase-security-checker\u002Fcard-800x500.png",{"path":670,"title":671,"description":672,"published":673,"category":517,"image":674,"draft":521},"\u002Fblog\u002Fvibe-coding-security-scanner","Scanner di sicurezza per vibe coding: cosa si perde","Uno scanner di sicurezza per vibe coding legge la tua app dal vivo, da fuori. Cosa copre, le quattro cose che non può vedere e come leggere il risultato.","2026-09-05","\u002Fblog\u002Fvibe-coding-security-scanner\u002Fcard-800x500.png",{"path":676,"title":677,"description":678,"published":679,"category":517,"image":680,"draft":521},"\u002Fblog\u002Fmissing-security-headers","Intestazioni di sicurezza mancanti: quando contano","Le intestazioni di sicurezza mancanti sono il rilievo che il nostro scanner stampa più spesso. Da cosa proteggono e quando sono la riga meno urgente.","2026-09-04","\u002Fblog\u002Fmissing-security-headers\u002Fcard-800x500.png",{"path":682,"title":683,"description":684,"published":685,"category":517,"image":686,"draft":521},"\u002Fblog\u002Fopenai-api-key-exposed-in-frontend","La tua chiave API OpenAI è esposta nel frontend. Ruotala.","Una chiave API OpenAI esposta nel frontend non si può legare a nessun dominio. Ruotala oggi, sposta la chiamata sul tuo server e metti un tetto di spesa.","2026-09-03","\u002Fblog\u002Fopenai-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":688,"title":689,"description":690,"published":691,"category":517,"image":692,"draft":521},"\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps","Chiave API esposta nel frontend: cosa spediscono 30.998 app","Una chiave API esposta nel tuo frontend è quasi sempre una chiave di Google Maps. Abbiamo scansionato 30.998 app vibe-coded e contato cosa esce davvero.","2026-09-02","\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps\u002Fcard-800x500.png",{"path":694,"title":695,"description":696,"published":697,"category":572,"image":698,"draft":521},"\u002Fblog\u002Fsupabase-backup-tools-compared","Strumenti di backup Supabase a confronto, il nostro incluso","Quattro tipi di strumento di backup Supabase, cosa copia davvero ognuno, e il caso in cui una GitHub Action gratuita batte il pagare chiunque, noi inclusi.","2026-09-01","\u002Fblog\u002Fsupabase-backup-tools-compared\u002Fcard-800x500.png",{"path":700,"title":701,"description":702,"published":703,"category":517,"image":704,"draft":521},"\u002Fblog\u002Freplit-secrets-explained","Come usare i secret su Replit, e cosa viene comunque pubblicato","Come usare i secret su Replit: aggiungerne uno, rileggerlo e risolvere le due cause dell'undefined. E le chiavi che lo strumento non riesce a proteggere.","2026-08-31","\u002Fblog\u002Freplit-secrets-explained\u002Fcard-800x500.png",{"path":706,"title":707,"description":708,"published":709,"category":572,"image":710,"draft":521},"\u002Fblog\u002Fback-up-supabase-free-tier","Backup del piano gratuito Supabase: farne uno senza terminale","Sul piano gratuito Supabase non esistono backup: la copia la fai tu. Come farne uno dalla dashboard e che cosa si lascia dietro la via del CSV.","2026-08-30","\u002Fblog\u002Fback-up-supabase-free-tier\u002Fcard-800x500.png",{"path":712,"title":713,"description":714,"published":715,"category":517,"image":716,"draft":521},"\u002Fblog\u002Fis-supabase-secure","Supabase è sicuro? Sì. Il tuo progetto è un'altra questione","Supabase è sicuro? La piattaforma è certificata, cifrata e sottoposta a pentest. La loro documentazione dice dove finisce quello e iniziano le tue impostazioni.","2026-08-29","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",{"path":718,"title":719,"description":720,"published":721,"category":517,"image":722,"draft":521},"\u002Fblog\u002Fwhere-to-find-supabase-api-keys","Dove trovare le chiavi API di Supabase: anon, service_role e URL","L'URL del progetto, la chiave anon e la chiave service_role stanno su una pagina della dashboard. Ecco dove si trova e quale dei quattro va nella tua app.","2026-08-28","\u002Fblog\u002Fwhere-to-find-supabase-api-keys\u002Fcard-800x500.png",{"path":724,"title":725,"description":726,"published":727,"category":517,"image":728,"draft":521},"\u002Fblog\u002Fnew-row-violates-row-level-security-policy","New row violates row-level security policy su Supabase. E adesso?","\"New row violates row-level security policy\" significa che Supabase ha rifiutato una scrittura. La soluzione veloce riapre la tabella a chiunque.","2026-08-27","\u002Fblog\u002Fnew-row-violates-row-level-security-policy\u002Fcard-800x500.png",{"path":730,"title":731,"description":732,"published":733,"category":517,"image":734,"draft":521},"\u002Fblog\u002Fcors-wildcard-security-risk","Un wildcard CORS è un rischio di sicurezza? Quasi mai.","Un wildcard CORS è un rischio di sicurezza? Di solito è il valore predefinito del tuo builder e non consegna nulla che il tuo server non desse già a chiunque.","2026-08-26","\u002Fblog\u002Fcors-wildcard-security-risk\u002Fcard-800x500.png",{"path":736,"title":737,"description":738,"published":739,"category":572,"image":740,"draft":521},"\u002Fblog\u002Fsupabase-branching-is-not-a-backup","Il branching di Supabase non è un backup. Va solo in avanti.","Perché il branching di Supabase non è un backup: un branch parte senza i tuoi dati e un merge sposta solo lo schema. A cosa serve davvero e cosa usare invece.","2026-08-25","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",{"path":742,"title":743,"description":744,"published":745,"category":572,"image":746,"draft":521},"\u002Fblog\u002Fhow-to-restore-a-supabase-backup","Come ripristinare un backup Supabase, e cosa si rompe dopo","Come ripristinare un backup Supabase dalla dashboard o da un file di dump, che cosa sostituisce il ripristino e perché la tua app può restare rotta lo stesso.","2026-08-24","\u002Fblog\u002Fhow-to-restore-a-supabase-backup\u002Fcard-800x500.png",{"path":748,"title":749,"description":750,"published":751,"category":517,"image":752,"draft":521},"\u002Fblog\u002Fsupabase-storage-bucket-public","Il tuo bucket Supabase Storage è pubblico. È un problema?","Un bucket Supabase Storage pubblico significa che chi ha l'URL di un file può aprirlo. Non significa che qualcuno possa elencare quello che c'è dentro.","2026-08-23","\u002Fblog\u002Fsupabase-storage-bucket-public\u002Fcard-800x500.png",{"path":754,"title":755,"description":756,"published":757,"category":517,"image":758,"draft":521},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","Una chiave API Google nel frontend è un problema?","Una chiave API Google esposta nel frontend è la chiave che il nostro scanner trova più spesso, e di solito va bene così. Lo decide una impostazione gratuita.","2026-08-22","\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":760,"title":761,"description":762,"published":763,"category":572,"image":764,"draft":521},"\u002Fblog\u002Fai-agent-deleted-my-database","Un agente IA ha cancellato i miei dati Supabase. Cosa recupero?","Un agente IA ha cancellato dati dal tuo database. Quello che puoi recuperare era già deciso prima che partisse, e i prossimi minuti decidono il resto.","2026-08-21","\u002Fblog\u002Fai-agent-deleted-my-database\u002Fcard-800x500.png",{"path":375,"title":766,"description":767,"published":768,"category":517,"image":769,"draft":521},"Chiunque può leggere il tuo database Supabase? 3.680 app testate","Chiunque può leggere il tuo database Supabase senza fare login? Abbiamo scansionato 30.998 app online create con i builder IA e misurato quante rispondono sì.","2026-08-18","\u002Fblog\u002Fcan-anyone-read-your-supabase-database\u002Fcard-800x500.png",{"path":771,"title":772,"description":773,"published":768,"category":517,"image":774,"draft":521},"\u002Fblog\u002Fsource-maps-exposed-in-production","Source map esposte: la tua app sta pubblicando il codice originale","Una source map esposta permette a chiunque di leggere il codice originale della tua app, commenti inclusi. Il controllo da 30 secondi e cosa conta davvero.","\u002Fblog\u002Fsource-maps-exposed-in-production\u002Fcard-800x500.png",{"path":776,"title":777,"description":778,"published":779,"category":517,"image":780,"draft":521},"\u002Fblog\u002Fsupabase-new-api-keys","Le nuove chiavi API di Supabase: quale va nella tua app?","Supabase ha sostituito anon e service_role con chiavi pubblicabili e segrete. Quale sta bene nella tua app, e quale non deve starci mai?","2026-08-12","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",{"path":782,"title":783,"description":784,"published":785,"category":572,"image":786,"draft":521},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","Supabase fa il backup del mio database? Dipende dal tuo piano.","Supabase fa il backup del tuo database? Ogni giorno sui piani a pagamento, mai su quello gratuito. Come capire cosa hai e cosa quella copia non copre.","2026-08-11","\u002Fblog\u002Fdoes-supabase-back-up-my-database\u002Fcard-800x500.png",{"path":788,"title":789,"description":790,"published":791,"category":517,"image":792,"draft":521},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","Supabase Row Level Security è attivo. La tabella resta pubblica.","Attivare Supabase Row Level Security non protegge una tabella. Lo fanno le policy, e quella che ha rimesso in piedi la tua app può far entrare chiunque.","2026-08-10","\u002Fblog\u002Fsupabase-rls-on-but-table-still-public\u002Fcard-800x500.png",{"path":794,"title":795,"description":796,"published":791,"category":572,"image":797,"draft":521},"\u002Fblog\u002Fversion-history-is-not-a-backup","La cronologia delle versioni non è un backup dei tuoi dati.","Lovable e Bolt tengono una cronologia delle versioni del codice. Il tuo database è un servizio a parte, e tornare indietro non ti restituisce i dati.","\u002Fblog\u002Fversion-history-is-not-a-backup\u002Fcard-800x500.png",{"path":799,"title":800,"description":801,"published":802,"category":572,"image":803,"draft":521},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","Tre modi per fare il backup di un database Supabase, e cosa manca","Il pannello, pg_dump e un servizio gestito. Che cosa salva davvero ciascuno, cosa lascia fuori senza dirlo e quale sopravvive alla perdita dell'account.","2026-08-09","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",{"path":805,"title":806,"description":807,"published":802,"category":517,"image":808,"draft":521},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","Quali chiavi API sono sicure nel browser e quali no","La tua chiave anon di Supabase è fatta per essere pubblica. La chiave service_role no, e ignora ogni regola che imposti. Come distinguerle.","\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend\u002Fcard-800x500.png",1790150956033]