[{"data":1,"prerenderedAt":871},["ShallowReactive",2],{"blog-uk-is-base44-safe":3,"blog-index-uk":519},{"id":4,"title":5,"body":6,"category":473,"cover":474,"coverAlt":475,"description":476,"draft":477,"extension":478,"faq":479,"image":498,"keywords":499,"meta":508,"navigation":509,"ogTitle":5,"path":510,"published":511,"seo":512,"stem":513,"tldr":514,"updated":511,"__hash__":518},"blog_uk\u002Fblog\u002Fis-base44-safe.md","Чи безпечний Base44? Дані 5 442 застосунків",{"type":7,"value":8,"toc":458},"minimark",[9,13,20,25,28,31,37,41,44,104,113,116,120,123,197,200,203,207,210,218,226,233,237,240,243,249,254,257,264,268,271,274,277,293,300,304,307,310,315,328,343,347,350,358,369,375,381,385,388,391,407,414,418,441],[10,11,12],"p",{},"Ви щось побудували на Base44, воно працює, і ви от-от пустите туди справжніх\nлюдей. Тож ви набрали «is base44 safe» у пошуку, і назад прийшли власний блог\nBase44, його власні сторінки продукту та два посібники, написані з них. Нічого з\nцього не є відповіддю, а ваш власний звіт сканування, якщо ви його запускали,\nімовірно сказав B і лишив вас так само без розуміння чому.",[10,14,15,16],{},"Частину ми відповісти можемо. За останній рік ми прогнали ті самі дев’ять\nперевірок на кожному робочому застосунку, який знайшли, і 5 442 з них були\nзастосунками Base44. Ось частина, яку посібник за посібником розуміє\nнеправильно: ",[17,18,19],"strong",{},"застосунок Base44 і застосунок Lovable падають у протилежних\nмісцях, і звіт, який дає вам Base44, здебільшого не про вас.",[21,22,24],"h2",{"id":23},"чи-безпечний-base44","Чи безпечний Base44?",[10,26,27],{},"У цих трьох словах ховаються три різні питання, і розділити їх це більша частина\nроботи.",[10,29,30],{},"Перше: чи можна довірити свій застосунок Base44 як компанії. Друге: чи вартий\nчогось код, який він пише для вас. Третє: чи безпечно сторонньому відвідати\nзастосунок, який ви опублікували. Лише третє можна виміряти ззовні, і на Base44\nнавіть воно повертається відповіденим наполовину.",[32,33],"diagram",{"alt":34,"caption":35,"src":36},"П’ять горизонтальних смуг на одній шкалі, перед кожною маленький значок, а за нею число: 5 438 для відсутніх заголовків, 5 417 для заголовка API з підстановним знаком, 3 229 для опублікованої source map, 2 705 для адреси, яка відповідає без входу, і 95 для опублікованого ключа. Перші чотири смуги бляклі сірі, остання бірюзова.","Кількість застосунків із 5 442, на одній шкалі. Сірі смуги вирішує Base44. Бірюзова це єдиний рядок звіту, який постав із чогось у самому застосунку.","\u002Fblog\u002Fis-base44-safe\u002Fwhat-we-found-1600x680.png",[21,38,40],{"id":39},"що-ми-знайшли-в-5-442-застосунках-base44","Що ми знайшли в 5 442 застосунках Base44",[10,42,43],{},"Чотири знахідки, майже в кожному застосунку, і всі чотири належать платформі.",[45,46,47,60],"table",{},[48,49,50],"thead",{},[51,52,53,57],"tr",{},[54,55,56],"th",{},"Що знайшла перевірка",[54,58,59],{},"Застосунків",[61,62,63,72,80,88,96],"tbody",{},[51,64,65,69],{},[66,67,68],"td",{},"Бракує заголовків безпеки",[66,70,71],{},"5 438",[51,73,74,77],{},[66,75,76],{},"API відповідає будь-якому сайту",[66,78,79],{},"5 417",[51,81,82,85],{},[66,83,84],{},"Опублікована source map",[66,86,87],{},"3 229",[51,89,90,93],{},[66,91,92],{},"Адреса, яка відповідає без входу",[66,94,95],{},"2 705",[51,97,98,101],{},[66,99,100],{},"Ключ, опублікований у сторінці",[66,102,103],{},"95",[10,105,106,107,112],{},"Перші дві це заголовки відповіді, а на застосунку Base44 заголовок відповіді\nставить хостинг Base44, а не щось написане вами. Третя і четверта виглядають у\nзвіті тривожно і теж не ваші: єдина source map, яка відповідає на застосунку\nBase44, належить власному скрипту бейджа Base44, а адреса, яка відповідає, щоразу\nта сама. У вересні 2026 року ми повернулися до 30 позначених застосунків і\n",[108,109,111],"a",{"href":110},"\u002Fblog\u002Fbase44-source-maps","написали, що ті два рядки означають насправді",", бо це\nдва найчастіше хибно прочитані рядки звіту Base44.",[10,114,115],{},"Лишається 103 застосунки з 5 442, які несуть у сторінці щось, що туди вставила\nлюдина: 95 із них ключ Google API, 11 інший рядок у формі секрету, і один\nсправжній секретний ключ Stripe. Це ті рядки звіту Base44, які хтось туди\nпоклав, і єдині, які хтось може звідти прибрати.",[21,117,119],{"id":118},"чому-майже-кожен-застосунок-base44-отримує-b","Чому майже кожен застосунок Base44 отримує B",[10,121,122],{},"Бо оцінку обмежує найгірша знахідка, а майже кожен застосунок Base44 має ту саму\nсередню знахідку.",[45,124,125,138],{},[48,126,127],{},[51,128,129,132,135],{},[54,130,131],{},"Оцінка",[54,133,134],{},"Base44 (5 442)",[54,136,137],{},"Lovable (18 563)",[61,139,140,151,164,175,186],{},[51,141,142,145,148],{},[66,143,144],{},"A",[66,146,147],{},"1 205 (22%)",[66,149,150],{},"15 972 (86%)",[51,152,153,156,161],{},[66,154,155],{},"B",[66,157,158],{},[17,159,160],{},"4 231 (78%)",[66,162,163],{},"370 (2%)",[51,165,166,169,172],{},[66,167,168],{},"C",[66,170,171],{},"4",[66,173,174],{},"1 814 (10%)",[51,176,177,180,183],{},[66,178,179],{},"D",[66,181,182],{},"2",[66,184,185],{},"402 (2%)",[51,187,188,191,194],{},[66,189,190],{},"F",[66,192,193],{},"0",[66,195,196],{},"5",[10,198,199],{},"Читайте форму, а не місце в рейтингу. Звіт Base44 це висока смуга на B і майже\nнічого під нею: шість застосунків із 5 442 нижче за B, і жодного F. У Lovable\nформа цілком інша, 86% на A і приблизно один із восьми на C або гірше. Ті самі\nдев’ять перевірок дали рівний розподіл на одній платформі й розколотий на іншій,\nі жодна з двох картин не є вироком щодо окремого застосунку, зокрема вашого.",[10,201,202],{},"Отже, B на застосунку Base44 це близько до підлоги платформи, і корисне читання\nвашого звіту це не літера. Це питання, чи порожні рядок ключів і рядок секретів.",[21,204,206],{"id":205},"_95-ключів-які-справді-були-вашими","95 ключів, які справді були вашими",[10,208,209],{},"Ключ у вашій опублікованій сторінці це єдина знахідка звіту Base44, якої туди не\nклав ніхто інший.",[10,211,212,213,217],{},"95 із 5 442 застосунків віддавали ключ Google API, а 11 віддавали щось інше, що\nскидалося на секрет. Один віддавав справжній секретний ключ Stripe, а один\nобмежений. Ключ Google API у сторінці зазвичай нешкідливий, а іноді це рахунок,\nзалежно від того, чи обмежили його при створенні, і це\n",[108,214,216],{"href":215},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","перевіряється й лагодиться за п’ять хвилин",".\nСекретний ключ Stripe у сторінці до тієї категорії не належить узагалі: він читає\nклієнтів, рухає гроші й робить повернення, і його треба змінити, перш ніж ви\nдочитаєте це.",[10,219,220,221,225],{},"Якщо ви не певні, які з ваших ключів мають бути публічними, у цього питання є\nкоротка відповідь, і ми її записали:\n",[108,222,224],{"href":223},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","які ключі належать браузеру, а які ніколи",".",[10,227,228,229,225],{},"Наше безкоштовне сканування читає ваш робочий застосунок Base44 ззовні й каже,\nякі ключі та адреси воно бачить. Триває близько 20 секунд і не потребує облікового\nзапису: ",[108,230,232],{"href":231},"\u002Fsecurity-scanner","сканувати застосунок",[21,234,236],{"id":235},"єдине-чого-ніхто-не-може-перевірити-ззовні","Єдине, чого ніхто не може перевірити ззовні",[10,238,239],{},"Чи може сторонній прочитати ваші дані. Ні ми, ні будь-який інший сканер, і\nпричина це власна побудова Base44.",[10,241,242],{},"На більшості білдерів ваш застосунок говорить зі своєю базою просто з браузера\nвідвідувача. Це означає, що база має публічну адресу, ваш застосунок її несе, і\nбудь-хто може її витягти й ставити базі питання. Чи отримає він відповіді,\nзалежить від налаштування на кожній таблиці, якого власник міг ніколи не бачити.\nЦе найбільша окрема причина витоку даних у застосунках, збудованих так, і на\nBase44 цей шлях вам не відкритий, бо запити йдуть через Base44.",[10,244,245,246,248],{},"Вимірювання каже це прямо. 1 466 із 5 442 застосунків Base44 десь у своїй\nсторінці називають проєкт Supabase. Наша перевірка Row Level Security отримала\nпридатну відповідь від ",[17,247,182],{}," з них.",[32,250],{"alt":251,"caption":252,"src":253},"Три смуги, що звужуються зліва направо на одній шкалі: 5 442 застосунки Base44, 1 466 таких, що називають проєкт Supabase, і смуга з 2, намальована волосінню з кільцем навколо. Пунктирний контур продовжує волосінь до ширини другої смуги, зі знаком питання і числом 1 464 під ним.","Третя смуга це два застосунки. Пунктирна частина це ті 1 464, які не дали перевірці нічого прочитати, і саме так з вулиці виглядає база без публічної адреси.","\u002Fblog\u002Fis-base44-safe\u002Fwhat-nobody-can-ask-1600x620.png",[10,255,256],{},"Порівняйте це з білдерами, де двері виходять на вулицю. На Lovable 6 535\nзастосунків називають проєкт Supabase, 3 553 дали перевірці придатну відповідь, і\n2 017 із них віддали рядки запиту без входу. На Bolt відповіли 35 із 267. На v0\nжоден із 17.",[10,258,259,260,263],{},"Два застосунки це не частка, і ми жодної не друкуватимемо. ",[17,261,262],{},"Чесне підсумування\nтаке: ваші дані в Base44 за дверима, до яких ми не дістаємося, що краще за\nвідчинені двері, і це не те саме, що знати, що вони замкнені."," Те, що це\nвирішує, лежить усередині: хто може зареєструватися, що бачить зареєстрований\nобліковий запис, і чи якийсь екран будували з припущенням, що ніхто не\nдивитиметься.",[21,265,267],{"id":266},"тобто-тут-важить-саме-перевірка-зсередини","Тобто тут важить саме перевірка зсередини",[10,269,270],{},"У Base44 вона є, і на застосунку Base44 вона бачить ту половину, якої не бачимо\nми.",[10,272,273],{},"Сторінка безпеки Base44 каже, що сканування безпеки можна запустити з вкладки\nSecurity кожного застосунку і що воно перевіряє сторонні залежності, небезпечні\nвзірці коду, відкриті секрети, відсутні перевірки входу та слабкі правила доступу\nдо даних. Саме два останні пункти це питання, до яких сканування ззовні на\nзастосунку Base44 не дістається. Прочитано 6 жовтня 2026 року.",[10,275,276],{},"Навпаки теж правда, і саме тому 95 є в цій статті. Сканер зсередини читає ваш\nпроєкт; у нього немає особливої причини звернутися по вашу опубліковану сторінку\nй прочитати, що в ній вийшло. Отже, обидва відповідають на різні половини, і\nвласник застосунку Base44, який запускає лише один із них, сліпий у конкретний\nспосіб:",[278,279,280,287],"ul",{},[281,282,283,286],"li",{},[17,284,285],{},"Вкладка Security у Base44"," читає проєкт: ваші залежності, ваш код, ваші\nперевірки входу, ваші правила доступу до даних.",[281,288,289,292],{},[17,290,291],{},"Сканування ззовні"," читає те, що отримують ваші відвідувачі: ключі в\nсторінці, адреси, до яких вона звертається, заголовки, які повертаються, і чи\nвийшла разом із нею мапа.",[10,294,295,296,225],{},"Запускайте те, що зсередини, перед публікацією, а те, що ззовні, після.\nДокументація Base44 описує це сканування докладніше, ніж їхня сторінка про\nбезпеку, і ми прочитали її повністю: ",[108,297,299],{"href":298},"\u002Fblog\u002Fbase44-security-scan","що воно перевіряє і чому може повернутися\nчистим, поки ваша опублікована сторінка досі несе\nключ",[21,301,303],{"id":302},"якщо-ви-підключили-власний-проєкт-supabase","Якщо ви підключили власний проєкт Supabase",[10,305,306],{},"Тоді двері на вулицю повертаються, і налаштування на кожній таблиці знову ваше.",[10,308,309],{},"Base44 дозволяє підключити власний проєкт Supabase замість бази, яку він надає.\nЦе змінює найважливіше в цій статті: ваш проєкт відповідає інтернету напряму,\nваша сторінка несе його адресу, і Row Level Security тепер єдине, що стоїть між\nстороннім і таблицею. На будь-якій таблиці, створеній через SQL, вона вимкнена\nза замовчуванням.",[32,311],{"alt":312,"caption":313,"src":314},"Дві панелі. Ліворуч стрілка веде від застосунку Base44 до панелі платформи Base44 з базою даних усередині, а власний шлях відвідувача до тієї бази намальований пунктиром, що спиняється біля стіни панелі. Праворуч та сама стрілка виходить до бази, що стоїть окремо, і шлях відвідувача дістається її напряму через ворота.","Ліворуч застосунок Base44 на власній базі Base44. Праворуч той самий застосунок із підключеним вашим проєктом Supabase. Ворота праворуч це Row Level Security, і налаштовуєте їх ви.","\u002Fblog\u002Fis-base44-safe\u002Fyour-own-supabase-1600x620.png",[10,316,317,318,322,323,327],{},"Це єдиний шлях, яким класична проблема відкритої бази дістається застосунку\nBase44, і він перевіряється в обидва боки: наше сканування може поставити вашому\nпроєктові Supabase те саме питання, що й на будь-якому іншому білдері, а\n",[108,319,321],{"href":320},"\u002Fblog\u002Fcan-anyone-read-your-supabase-database","п’ятихвилинна версія перевірки"," це\nсторінка у вашій власній панелі. Якщо у вас є таблиці з будь-чим про людей,\n",[108,324,326],{"href":325},"\u002Fblog\u002Fenable-rls-on-every-supabase-table","увімкнути її на кожній таблиці"," це\nперше, що варто зробити сьогодні.",[10,329,330,331,334,335,338,339,225],{},"Проєкт Supabase, який належить вам, це також база, за копію якої відповідаєте ви.\n",[17,332,333],{},"Care"," тримає копію вашої бази ",[17,336,337],{},"Supabase"," за розкладом і дає відновлення в\nодин клік, а якщо підключити обліковий запис Storage, ваші завантажені файли\nприйдуть разом. Він покриває Supabase, тож стосується цієї гілки статті, а не\nзастосунку Base44 на власній базі Base44.\n",[108,340,342],{"href":341},"\u002Fsupabase-backups","Як працюють резервні копії",[21,344,346],{"id":345},"пятихвилинна-перевірка-власного-застосунку-base44","П’ятихвилинна перевірка власного застосунку Base44",[10,348,349],{},"Чотири речі, у тому порядку, у якому вони варті зусиль.",[10,351,352,355,356,225],{},[17,353,354],{},"Відкрийте свій опублікований застосунок і подивіться, що вийшло разом із ним.","\nНатисніть F12, відкрийте вкладку Network, перезавантажте й прочитайте запити. Ви\nшукаєте ключ в URL або у відповіді та адресу, якої не впізнаєте. Наше сканування\nробить це ззовні й перелічує, що знайшло, і це швидше, ніж читати самому:\n",[108,357,232],{"href":231},[10,359,360,363,364,368],{},[17,361,362],{},"Якщо знайшли ключ, визначте його, перш ніж панікувати."," Ключ Google API хоче\nобмеження, а не заміни. Усе, що починається на ",[365,366,367],"code",{},"sk_",", хоче заміни зараз.",[10,370,371,374],{},[17,372,373],{},"Відкрийте вкладку Security у Base44 і запустіть сканування й там."," Це єдине з\nдвох, яке може побачити ваші перевірки входу та ваші правила доступу до даних.",[10,376,377,380],{},[17,378,379],{},"А тоді зареєструйтеся у власному застосунку так, як це зробив би сторонній.","\nЗаведіть другий обліковий запис, не давайте йому нічого й подивіться, куди він\nдістається. Це питання, якого сканування ззовні поставити не може, і одна\nреєстрація на нього відповідає.",[21,382,384],{"id":383},"ваш-застосунок-змінюється-з-кожною-публікацією","Ваш застосунок змінюється з кожною публікацією",[10,386,387],{},"Сканування це зчитування одного моменту, і момент закінчується наступного разу,\nколи ви натискаєте «опублікувати».",[10,389,390],{},"Це не проблема Base44, так працюють усі ці білдери: промпт, який додає функцію,\nможе додати ключ, нову сторінку або адресу, яка відповідає. 95 застосунків, у\nяких ми знайшли ключ, будували не люди, які хотіли ключ у сторінці. Їх будували\nпо одному промпту за раз.",[278,392,393,399],{},[281,394,395,398],{},[17,396,397],{},"Monitor"," перезапускає дев’ять перевірок за розкладом і каже вам, коли\nвідповідь змінилася.",[281,400,401,403,404,406],{},[17,402,333],{}," додає копію вашої бази ",[17,405,337],{},", яку тримає за розкладом, із\nвідновленням в один клік.",[10,408,409,410,225],{},"Обидва читають ті самі дев’ять перевірок, на яких збудована ця стаття:\n",[108,411,413],{"href":412},"\u002Fpricing","подивіться, що покриває кожен",[21,415,417],{"id":416},"що-зробити-цього-тижня","Що зробити цього тижня",[419,420,421],"key-takeaways",{},[278,422,423,426,432,435,438],{},[281,424,425],{},"Читайте в звіті рядок ключів і рядок секретів, а не літеру. B на застосунку Base44 це підлога платформи, і 4 231 із 5 442 оцінених застосунків сидять на ній.",[281,427,428,429,431],{},"Якщо ключ є у вашій опублікованій сторінці, спершу визначте його. Ключ Google API обмежують; усе, що починається на ",[365,430,367],{},", замінюють сьогодні.",[281,433,434],{},"Запустіть також власне сканування Base44 із вкладки Security вашого застосунку. На застосунку Base44 це єдине з двох, яке може побачити ваші перевірки входу та ваші правила доступу до даних.",[281,436,437],{},"Зареєструйтеся у власному застосунку як сторонній і подивіться, куди дістається новий обліковий запис. На це не відповість жодне сканування ззовні, на жодному білдері.",[281,439,440],{},"Якщо ви підключили власний проєкт Supabase, увімкніть Row Level Security на кожній таблиці, а тоді перевірте, що вона справді працює, бо це єдиний шлях, яким сторонній дістається просто до ваших даних.",[10,442,443,444,448,449,453,454,225],{},"Якщо вам зручніше пройти це списком, ",[108,445,447],{"href":446},"\u002Fchecklist","десятихвилинний чеклист\nбезпеки"," покриває і це, і решту того, що варто вимкнути у щойно\nзапущеному застосунку. Пояснення простою мовою для цієї платформи це\n",[108,450,452],{"href":451},"\u002Fis-your-base44-app-safe","чи безпечний ваш застосунок Base44",", а порівняння\nбілдерів стоїть ",[108,455,457],{"href":456},"\u002Fblog\u002Fsafest-ai-app-builder","в окремій статті",{"title":459,"searchDepth":460,"depth":460,"links":461},"",3,[462,464,465,466,467,468,469,470,471,472],{"id":23,"depth":463,"text":24},2,{"id":39,"depth":463,"text":40},{"id":118,"depth":463,"text":119},{"id":205,"depth":463,"text":206},{"id":235,"depth":463,"text":236},{"id":266,"depth":463,"text":267},{"id":302,"depth":463,"text":303},{"id":345,"depth":463,"text":346},{"id":383,"depth":463,"text":384},{"id":416,"depth":463,"text":417},"Основи безпеки","\u002Fblog\u002Fis-base44-safe\u002Fcover-1200x630.png","Картка застосунку Base44 перед зачиненою панеллю платформи з базою даних усередині, і відвідувачі, що дістаються застосунку справа.","Чи безпечний Base44? Ми прогнали дев’ять перевірок на 5 442 робочих застосунках Base44. Майже всі отримали B з причин, яких власник ніколи не обирав.",false,"md",[480,483,486,489,492,495],{"q":481,"a":482},"Чи підходить Base44 для справжнього продукту?","У тому, що ми можемо прочитати ззовні, застосунки Base44 тихі. З 5 442 оцінених шість отримали гірше за B, і жоден не отримав F. Відповісти як слід нам заважає те, що застосунок Base44 тримає дані за Base44, а не за публічною адресою: перевірка, яка викрила тисячі застосунків на інших білдерах, тут просто не може виконатися. Це справді краще за відкриту публічну базу, і це не те саме, що довідка про здоров’я. Те, з чим ви можете щось зробити сьогодні, це ваші власні ключі: 95 із тих 5 442 застосунків віддавали ключ Google API просто в сторінці.",{"q":484,"a":485},"Чому мій застосунок Base44 отримує B?","Майже напевно через два заголовки відповіді, які Base44 ставить на кожен застосунок, що він хостить, а не через щось, що ви побудували. У 5 438 із 5 442 оцінених застосунків бракувало заголовків безпеки, і 5 417 повідомляли будь-якому сайту у світі, що той може звертатися до їхнього API. Обидва вирішує хостинг. Рядок про source map у вашому звіті теж належить платформі, а не вам: єдина мапа, яка відповідає на застосунку Base44, належить власному скрипту бейджа Base44.",{"q":487,"a":488},"Чи можуть люди побачити код мого застосунку Base44?","Браузерну половину будь-якого застосунку прочитати можна, бо браузер не намалює сторінку, якої не отримав. Ваші вихідні файли з коментарями та назвами це інше, і на застосунках Base44, які ми переперевірили у вересні 2026 року, вони не були опубліковані. 3 229 із 5 442 застосунків були позначені через source map, і в кожному, який ми відкрили, був код власного скрипта бейджа Base44, а не ваш. Про це ми написали окремо.",{"q":490,"a":491},"Чи в безпеці мої дані в застосунку Base44?","Ніхто поза вашим застосунком вам цього не скаже, і ми теж, і це факт про те, як збудований Base44, а не діра в нашому скануванні. Ваш застосунок просить дані в Base44, а Base44 просить їх у бази, тож немає адреси, яку сторонній міг би набрати. Отже, питання, які вирішують відповідь, усі всередині: хто може зареєструватися, що бачить зареєстрований обліковий запис, і чи якийсь екран будували з припущенням, що ніхто не дивитиметься. Власне сканування безпеки Base44 читає цю половину. Сканування ззовні читає іншу.",{"q":493,"a":494},"Чи помічає це власне сканування безпеки Base44?","Воно читає ту половину, яку не читаємо ми. Сторінка безпеки Base44 каже, що сканування можна запустити з вкладки Security кожного застосунку і що воно перевіряє сторонні залежності, небезпечні взірці коду, відкриті секрети, відсутні перевірки входу та слабкі правила доступу до даних. Саме два останні пункти сканування ззовні на застосунку Base44 структурно побачити не може. А те, що йому немає сенсу дивитися, це що ваша опублікована сторінка віддає відвідувачеві, і саме там ми знайшли 95 ключів Google API. Запускайте обидва і читайте їх як дві половини однієї відповіді.",{"q":496,"a":497},"Чи Base44 безпечніший за Lovable?","Їхні звіти виглядають протилежно, і різниця справжня. 15 972 із 18 563 застосунків Lovable отримали A, а приблизно один із восьми отримав C або гірше, бо застосунок Lovable говорить зі своєю базою просто з браузера, і та база часто лишається читабельною. У Base44 майже немає серйозного хвоста: шість застосунків із 5 442 нижче за B. Натомість ви віддаєте можливість перевірити це самостійно ззовні. Усіх п’ятьох білдерів ми порівнюємо в окремій статті, замість повторювати таблицю тут.","\u002Fblog\u002Fis-base44-safe\u002Fcard-800x500.png",[500,501,502,503,504,505,506,507],"чи безпечний base44","base44 безпека","безпека застосунків base44","чи безпечні застосунки base44","base44 безпека даних","base44 supabase безпека","is base44 safe","base44 review",{},true,"\u002Fblog\u002Fis-base44-safe","2026-10-06",{"title":5,"description":476},"blog\u002Fis-base44-safe",[515,516,517],"Чи безпечний Base44? 4 231 із 5 442 оцінених застосунків Base44 отримали B, і чотири знахідки, які належать Base44, а не власникові застосунку, пояснюють майже все це.","Те, що власник справді зробив не так, траплялося рідко: 103 з тих застосунків опублікували ключ або секрет у сторінці, 95 із них ключ Google API, а один справжній секретний ключ Stripe.","На питання, яке більшість має на увазі під «чи це безпечно», ззовні застосунку Base44 відповісти не можна. 1 466 із них називають проєкт Supabase, і лише 2 дали нам запитати, чи може сторонній його прочитати.","R9ri0CYVtRgFuR1B37hyvgo0wCzzon0TXXZ7Im1oGJM",[520,526,531,537,543,549,550,556,562,568,574,580,586,592,599,605,611,616,622,628,634,640,646,652,658,664,669,675,681,687,693,699,704,709,715,721,727,733,739,745,751,757,763,769,775,781,787,793,799,805,811,817,822,828,833,838,844,850,856,861,867],{"path":521,"title":522,"description":523,"published":524,"category":473,"image":525,"draft":477},"\u002Fblog\u002Fstorage-upload-violates-row-level-security","\"Row-level security policy for table objects\" при вивантаженні","\"New row violates row-level security policy for table objects\" означає, що вашому вивантаженню бракує правила insert. Публічний бакет його не додає.","2026-10-11","\u002Fblog\u002Fstorage-upload-violates-row-level-security\u002Fcard-800x500.png",{"path":298,"title":527,"description":528,"published":529,"category":473,"image":530,"draft":477},"Сканування безпеки Base44: те, що бачить лише воно","Сканування безпеки Base44 перевіряє сім видів проблем зсередини. Ось половина, яку читає тільки воно, і половина, на яку воно ніколи не дивиться.","2026-10-10","\u002Fblog\u002Fbase44-security-scan\u002Fcard-800x500.png",{"path":532,"title":533,"description":534,"published":535,"category":473,"image":536,"draft":477},"\u002Fblog\u002Fapi-key-leaked-what-to-do","Ваш API-ключ витік. Порядок дій","API-ключ витік, і ви не знаєте, що робити першим. Не кожен ключ у вашому фронтенді є витоком, а порядок важить більше за швидкість.","2026-10-09","\u002Fblog\u002Fapi-key-leaked-what-to-do\u002Fcard-800x500.png",{"path":538,"title":539,"description":540,"published":541,"category":473,"image":542,"draft":477},"\u002Fblog\u002Finfinite-recursion-in-policy-for-relation","\"Infinite recursion detected in policy\" без вимкнення RLS","\"Infinite recursion detected in policy for relation\" означає, що ваша policy запитала таблицю, яку вона захищає. Ось як розірвати коло.","2026-10-08","\u002Fblog\u002Finfinite-recursion-in-policy-for-relation\u002Fcard-800x500.png",{"path":544,"title":545,"description":546,"published":547,"category":473,"image":548,"draft":477},"\u002Fblog\u002Fno-api-key-found-in-request","\"No API key found in request\" у Supabase, і хибне виправлення","\"No API key found in request\" означає, що запит дійшов до Supabase без ключа. Більшість відповідей натомість вказують на правила вашої бази.","2026-10-07","\u002Fblog\u002Fno-api-key-found-in-request\u002Fcard-800x500.png",{"path":510,"title":5,"description":476,"published":511,"category":473,"image":498,"draft":477},{"path":551,"title":552,"description":553,"published":554,"category":473,"image":555,"draft":477},"\u002Fblog\u002Fmove-a-secret-to-an-edge-function","Сховати ключ API: перенесіть його в Supabase Edge Function","Сховати ключ API означає прибрати його з браузера, а Supabase Edge Function це найменше місце, куди його покласти. Два кроки поруч важать більше.","2026-10-05","\u002Fblog\u002Fmove-a-secret-to-an-edge-function\u002Fcard-800x500.png",{"path":557,"title":558,"description":559,"published":560,"category":473,"image":561,"draft":477},"\u002Fblog\u002Fenv-file-exposed-on-your-server","Чи відкритий ваш файл .env? Дванадцять шляхів для перевірки","Чи відкритий ваш файл .env на вашому власному вебсервері? Дванадцять адрес скажуть це за хвилину, а влучання означає, що все в ньому вже публічне.","2026-10-04","\u002Fblog\u002Fenv-file-exposed-on-your-server\u002Fcard-800x500.png",{"path":563,"title":564,"description":565,"published":566,"category":473,"image":567,"draft":477},"\u002Fblog\u002Fis-v0-safe","Безпека v0: усі 1 790 просканованих застосунків v0 отримали A","Безпека v0 на 1 790 живих застосунках v0: усі отримали A. Лише 17 згадували базу даних, і саме це здебільшого вимірює оцінка A.","2026-10-03","\u002Fblog\u002Fis-v0-safe\u002Fcard-800x500.png",{"path":569,"title":570,"description":571,"published":572,"category":473,"image":573,"draft":477},"\u002Fblog\u002Fis-bolt-safe","Чи безпечний Bolt? Що показали 1 123 застосунки Bolt","Чи безпечний Bolt? Ми прогнали 1 123 живі застосунки Bolt через дев’ять перевірок. Хостинг був чистим. Знахідки: ключі й відкриті таблиці в самих застосунках.","2026-10-02","\u002Fblog\u002Fis-bolt-safe\u002Fcard-800x500.png",{"path":575,"title":576,"description":577,"published":578,"category":473,"image":579,"draft":477},"\u002Fblog\u002Fis-supabase-down-or-your-app","Supabase не працює чи проблема у вашому застосунку? Як розрізнити","Supabase не працює чи зламався ваш застосунок? Пауза, повна база й ваша власна помилка виглядають однаково. Чотири перевірки їх розрізняють.","2026-10-01","\u002Fblog\u002Fis-supabase-down-or-your-app\u002Fcard-800x500.png",{"path":581,"title":582,"description":583,"published":584,"category":473,"image":585,"draft":477},"\u002Fblog\u002Fdoes-supabase-encrypt-my-data","Чи шифрує Supabase мої дані? Так. Ось від чого це захищає","Чи шифрує Supabase дані? Так: AES-256 у стані спокою, TLS під час передавання, SOC 2 та ISO 27001. Що покриває кожне і який витік не зупиняє жодне.","2026-09-30","\u002Fblog\u002Fdoes-supabase-encrypt-my-data\u002Fcard-800x500.png",{"path":587,"title":588,"description":589,"published":590,"category":473,"image":591,"draft":477},"\u002Fblog\u002Fsupabase-free-plan-limits","Ліміти безкоштовного тарифу Supabase і що стається на кожному","Ліміти безкоштовного тарифу Supabase: 500 МБ бази, 5 ГБ egress і жодних резервних копій. Що стається на кожній межі і що змінює Pro за $25.","2026-09-29","\u002Fblog\u002Fsupabase-free-plan-limits\u002Fcard-800x500.png",{"path":593,"title":594,"description":595,"published":596,"category":597,"image":598,"draft":477},"\u002Fblog\u002Ftest-your-supabase-backup","Перевірте резервну копію Supabase до того, як вона знадобиться","Як перевірити резервну копію Supabase: відновити в тестовий проєкт, порахувати рядки, увійти й знайти рядок, якого бракує обрізаному файлу.","2026-09-28","Backups","\u002Fblog\u002Ftest-your-supabase-backup\u002Fcard-800x500.png",{"path":600,"title":601,"description":602,"published":603,"category":597,"image":604,"draft":477},"\u002Fblog\u002Fsupabase-backup-github-action","Безкоштовна резервна копія Supabase через GitHub Action і підступ","Резервна копія Supabase через GitHub Action безкоштовна й годиться багатьом застосункам. Робочий процес, потрібний рядок підключення та egress.","2026-09-27","\u002Fblog\u002Fsupabase-backup-github-action\u002Fcard-800x500.png",{"path":606,"title":607,"description":608,"published":609,"category":597,"image":610,"draft":477},"\u002Fblog\u002Fdownload-your-supabase-backup","Чому ви не можете завантажити резервну копію Supabase","Завантажити резервну копію Supabase на сучасному проєкті не вийде: щоденна копія там фізична. Як це перевірити і як тримати власну копію.","2026-09-26","\u002Fblog\u002Fdownload-your-supabase-backup\u002Fcard-800x500.png",{"path":612,"title":613,"description":614,"published":609,"category":473,"image":615,"draft":477},"\u002Fblog\u002Fsupabase-permission-denied-for-table","Supabase \"permission denied for table\": бракує GRANT","З 30 жовтня нова таблиця в Supabase відповідає \"permission denied for table\", доки ви не дасте доступ. Лист показує лише половину виправлення.","\u002Fblog\u002Fsupabase-permission-denied-for-table\u002Fcard-800x500.png",{"path":617,"title":618,"description":619,"published":620,"category":473,"image":621,"draft":477},"\u002Fblog\u002Fopen-api-endpoint-exposed","Чи є відкритий API-ендпоінт проблемою безпеки? Читайте JSON","Ваше сканування позначило відкритий API-ендпоінт. Чи це важливо, залежить від того, що повернулося, і більшість знайдених належали платформі.","2026-09-25","\u002Fblog\u002Fopen-api-endpoint-exposed\u002Fcard-800x500.png",{"path":623,"title":624,"description":625,"published":626,"category":473,"image":627,"draft":477},"\u002Fblog\u002Flovable-security-scan","Сканування безпеки Lovable: чого воно не доведе","Сканування безпеки Lovable: що перевіряють Quick scan і Deep scan, коли запускається кожне, і єдине, чого не доведе жодне сканування зсередини.","2026-09-24","\u002Fblog\u002Flovable-security-scan\u002Fcard-800x500.png",{"path":629,"title":630,"description":631,"published":632,"category":597,"image":633,"draft":477},"\u002Fblog\u002Fsupabase-backup-auth-users","Чому у вашому дампі Supabase немає користувачів","Запустіть supabase db dump окремо і отримаєте форму вашої бази та жодного її рядка, без схеми auth, у якій живуть ваші користувачі.","2026-09-23","\u002Fblog\u002Fsupabase-backup-auth-users\u002Fcard-800x500.png",{"path":635,"title":636,"description":637,"published":638,"category":473,"image":639,"draft":477},"\u002Fblog\u002Fdomain-and-certificate-expiry","Домен закінчився, сайт лежить: що буде далі","Ваш домен закінчився і сайт лежить. Ось який годинник уже пішов, чому прострочений сертифікат це менша з двох бід, і як перевірити обидва.","2026-09-22","\u002Fblog\u002Fdomain-and-certificate-expiry\u002Fcard-800x500.png",{"path":641,"title":642,"description":643,"published":644,"category":473,"image":645,"draft":477},"\u002Fblog\u002Fis-lovable-safe","Чи безпечний Lovable? Що показали 18 554 застосунки Lovable","Чи безпечний Lovable? Ми прогнали 18 554 живі застосунки Lovable через дев’ять перевірок. Платформа виявилася найчистішою з п’яти. Знахідки були в застосунках.","2026-09-21","\u002Fblog\u002Fis-lovable-safe\u002Fcard-800x500.png",{"path":647,"title":648,"description":649,"published":650,"category":473,"image":651,"draft":477},"\u002Fblog\u002Fvibe-coded-app-security-checklist","Чек-лист безпеки для vibe coding, у девʼяти перевірках","Чек-лист безпеки для vibe coding із девʼяти пунктів, кожен з яких будь-хто може перевірити у вашому живому застосунку ззовні, і кожен має тест на один рядок.","2026-09-20","\u002Fblog\u002Fvibe-coded-app-security-checklist\u002Fcard-800x500.png",{"path":653,"title":654,"description":655,"published":656,"category":473,"image":657,"draft":477},"\u002Fblog\u002Fstripe-secret-key-in-frontend","Секретний ключ Stripe у фронтенді може рухати гроші","Секретний ключ Stripe, відкритий у вашому фронтенді, може повертати кошти, списувати й читати кожну картку клієнта. А ключ pk_live_ там і має бути.","2026-09-19","\u002Fblog\u002Fstripe-secret-key-in-frontend\u002Fcard-800x500.png",{"path":659,"title":660,"description":661,"published":662,"category":473,"image":663,"draft":477},"\u002Fblog\u002Fvite-and-next-public-env-vars","Змінні оточення Vite відкриті: префікс означає опублікувати це","Змінні оточення Vite відкриті у вашому застосунку, бо так просив префікс. VITE_ і NEXT_PUBLIC_ означають опублікувати це, а ШІ, який їх додав, не знав ціни.","2026-09-18","\u002Fblog\u002Fvite-and-next-public-env-vars\u002Fcard-800x500.png",{"path":110,"title":665,"description":666,"published":667,"category":473,"image":668,"draft":477},"Безпека Base44: що позначає скан і що з цього виправляти вам","Безпека Base44 на 5 438 просканованих застосунках: три знахідки майже на кожному належать платформі, source map є бейджем Base44, а ваша частина коротка.","2026-09-17","\u002Fblog\u002Fbase44-source-maps\u002Fcard-800x500.png",{"path":670,"title":671,"description":672,"published":673,"category":473,"image":674,"draft":477},"\u002Fblog\u002Fis-cursor-ai-safe","Чи безпечний Cursor AI? Редактор, код і опублікований застосунок","Чи безпечний Cursor AI? Три запитання в одному пошуку: що Cursor зберігає, у чому помиляється його код і чи відкритий застосунок, який ви опублікували.","2026-09-16","\u002Fblog\u002Fis-cursor-ai-safe\u002Fcard-800x500.png",{"path":676,"title":677,"description":678,"published":679,"category":473,"image":680,"draft":477},"\u002Fblog\u002Fis-replit-safe","Чи безпечний Replit? Що ми знайшли в 3 042 живих застосунках Replit","Чи безпечний Replit? Ми прогнали 3 042 живі застосунки Replit через дев’ять зовнішніх перевірок. Знахідки були в опублікованому застосунку, а не в хостингу.","2026-09-15","\u002Fblog\u002Fis-replit-safe\u002Fcard-800x500.png",{"path":682,"title":683,"description":684,"published":685,"category":597,"image":686,"draft":477},"\u002Fblog\u002Fsupabase-storage-backup","Supabase storage backup: у копії бази даних немає жодного файлу","Supabase storage backup це окрема робота. Копії бази даних зберігають список ваших файлів і жодного з них, тож після відновлення кожне завантаження зламане.","2026-09-14","\u002Fblog\u002Fsupabase-storage-backup\u002Fcard-800x500.png",{"path":688,"title":689,"description":690,"published":691,"category":597,"image":692,"draft":477},"\u002Fblog\u002Fsupabase-point-in-time-recovery","Point-in-time recovery у Supabase: ціна та межі","Point-in-time recovery у Supabase відмотує базу на будь-яку секунду за останній тиждень. Коштує $100 на місяць понад Pro і покриває лише базу даних.","2026-09-13","\u002Fblog\u002Fsupabase-point-in-time-recovery\u002Fcard-800x500.png",{"path":694,"title":695,"description":696,"published":697,"category":597,"image":698,"draft":477},"\u002Fblog\u002Fsupabase-project-paused-recover","Проєкт Supabase на паузі? Ваші дані нікуди не зникли","Supabase поставив ваш проєкт на паузу після тижня без активності. Нічого не видалено, кнопка Restore стоїть поруч із назвою, і у вас є рік, щоб натиснути.","2026-09-12","\u002Fblog\u002Fsupabase-project-paused-recover\u002Fcard-800x500.png",{"path":456,"title":700,"description":701,"published":702,"category":473,"image":703,"draft":477},"Який білдер застосунків з ШІ найбезпечніший? 30 998 тестів","Який білдер застосунків з ШІ найбезпечніший? Ми просканували 30 998 живих застосунків з Lovable, Base44, Replit, v0 і Bolt. Оцінку вирішує не білдер.","2026-09-11","\u002Fblog\u002Fsafest-ai-app-builder\u002Fcard-800x500.png",{"path":325,"title":705,"description":706,"published":707,"category":473,"image":708,"draft":477},"Увімкніть Row Level Security на кожній таблиці Supabase і перевірте","Row Level Security у Supabase без політики закриває таблицю повністю. Політика без увімкненого перемикача не робить нічого. Ось SQL, і ось перевірка.","2026-09-10","\u002Fblog\u002Fenable-rls-on-every-supabase-table\u002Fcard-800x500.png",{"path":710,"title":711,"description":712,"published":713,"category":473,"image":714,"draft":477},"\u002Fblog\u002Fsupabase-rls-disabled-in-public","Supabase \"RLS disabled in public\": чого не бачить попередження","Supabase позначає \"RLS disabled in public\" як помилку. Про політику читання, яка лишає вашу таблицю так само відкритою, він не каже нічого.","2026-09-09","\u002Fblog\u002Fsupabase-rls-disabled-in-public\u002Fcard-800x500.png",{"path":716,"title":717,"description":718,"published":719,"category":473,"image":720,"draft":477},"\u002Fblog\u002Frotate-supabase-service-role-key","Як замінити злитий ключ service_role у Supabase","Supabase каже спершу закрити витік. Інші посібники кажуть міняти негайно. Що правильно, залежить від того, куди саме потрапив ваш ключ service_role.","2026-09-08","\u002Fblog\u002Frotate-supabase-service-role-key\u002Fcard-800x500.png",{"path":722,"title":723,"description":724,"published":725,"category":473,"image":726,"draft":477},"\u002Fblog\u002Fvibe-coding-security-scanners-compared","Сканери безпеки для vibe coding у порівнянні, наш теж","Найкращий сканер безпеки для vibe coding залежить від трьох питань, на які не відповідає жоден перелік функцій. Десять інструментів і ціни.","2026-09-07","\u002Fblog\u002Fvibe-coding-security-scanners-compared\u002Fcard-800x500.png",{"path":728,"title":729,"description":730,"published":731,"category":473,"image":732,"draft":477},"\u002Fblog\u002Fsupabase-security-checker","Supabase security checker: п’ять перевірок, які зробите самі","Supabase security checker читає ваш опублікований застосунок, а не налаштування проєкту. Ось п’ять перевірок і як виконати кожну самостійно.","2026-09-06","\u002Fblog\u002Fsupabase-security-checker\u002Fcard-800x500.png",{"path":734,"title":735,"description":736,"published":737,"category":473,"image":738,"draft":477},"\u002Fblog\u002Fvibe-coding-security-scanner","Сканер безпеки для vibe coding: чого не бачить скан URL","Сканер безпеки для vibe coding читає ваш робочий застосунок ззовні. Що це охоплює, чотири речі, яких він не бачить, і як читати результат.","2026-09-05","\u002Fblog\u002Fvibe-coding-security-scanner\u002Fcard-800x500.png",{"path":740,"title":741,"description":742,"published":743,"category":473,"image":744,"draft":477},"\u002Fblog\u002Fmissing-security-headers","Відсутні заголовки безпеки: коли це справді важливо","Відсутні заголовки безпеки трапляються в наших звітах найчастіше. Від чого вони захищають і коли це найменш терміновий рядок вашого звіту.","2026-09-04","\u002Fblog\u002Fmissing-security-headers\u002Fcard-800x500.png",{"path":746,"title":747,"description":748,"published":749,"category":473,"image":750,"draft":477},"\u002Fblog\u002Fopenai-api-key-exposed-in-frontend","Ваш ключ API OpenAI відкритий у фронтенді. Замініть його.","Ключ API OpenAI, відкритий у фронтенді, не можна прив'язати до домену. Замініть його сьогодні, перенесіть виклик на свій сервер і обмежте витрати.","2026-09-03","\u002Fblog\u002Fopenai-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":752,"title":753,"description":754,"published":755,"category":473,"image":756,"draft":477},"\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps","Ключ API у фронтенді: що насправді віддають 30 998 застосунків","Ключ API, відкритий у вашому фронтенді, зазвичай є ключем Google Maps. Ми просканували 30 998 vibe-coded застосунків і порахували, що витікає насправді.","2026-09-02","\u002Fblog\u002Fwhat-secrets-leak-from-vibe-coded-apps\u002Fcard-800x500.png",{"path":758,"title":759,"description":760,"published":761,"category":597,"image":762,"draft":477},"\u002Fblog\u002Fsupabase-backup-tools-compared","Інструменти резервного копіювання Supabase, і наш серед них","Чотири види інструментів резервного копіювання Supabase, що копіює кожен і коли безкоштовна GitHub Action виграє в будь-якої оплати, нашої теж.","2026-09-01","\u002Fblog\u002Fsupabase-backup-tools-compared\u002Fcard-800x500.png",{"path":764,"title":765,"description":766,"published":767,"category":473,"image":768,"draft":477},"\u002Fblog\u002Freplit-secrets-explained","Як користуватися секретами в Replit і що все одно публікується","Як користуватися секретами в Replit: додати, прочитати і усунути дві причини undefined. А ще ключі, які цей інструмент не здатен зберегти в таємниці.","2026-08-31","\u002Fblog\u002Freplit-secrets-explained\u002Fcard-800x500.png",{"path":770,"title":771,"description":772,"published":773,"category":597,"image":774,"draft":477},"\u002Fblog\u002Fback-up-supabase-free-tier","Резервні копії на безкоштовному тарифі Supabase без терміналу","На безкоштовному тарифі Supabase резервних копій немає: копію робите ви. Як зробити її з панелі та що втрачає шлях через CSV.","2026-08-30","\u002Fblog\u002Fback-up-supabase-free-tier\u002Fcard-800x500.png",{"path":776,"title":777,"description":778,"published":779,"category":473,"image":780,"draft":477},"\u002Fblog\u002Fis-supabase-secure","Чи безпечний Supabase? Так. Ваш проєкт це інше питання","Чи безпечний Supabase? Платформа проходить аудити, шифрує дані й тримає пентести. Їхня документація каже, де це закінчується і починаються ваші налаштування.","2026-08-29","\u002Fblog\u002Fis-supabase-secure\u002Fcard-800x500.png",{"path":782,"title":783,"description":784,"published":785,"category":473,"image":786,"draft":477},"\u002Fblog\u002Fwhere-to-find-supabase-api-keys","Де знайти API-ключі Supabase: anon, service_role і URL","URL проєкту, ключ anon і ключ service_role лежать на одній сторінці панелі. Ось де вона, і яке з чотирьох значень має бути у вашому застосунку.","2026-08-28","\u002Fblog\u002Fwhere-to-find-supabase-api-keys\u002Fcard-800x500.png",{"path":788,"title":789,"description":790,"published":791,"category":473,"image":792,"draft":477},"\u002Fblog\u002Fnew-row-violates-row-level-security-policy","New row violates row-level security policy в Supabase. Що далі?","\"New row violates row-level security policy\" означає, що Supabase відмовив у записі. Швидке виправлення знову відкриває таблицю для всіх.","2026-08-27","\u002Fblog\u002Fnew-row-violates-row-level-security-policy\u002Fcard-800x500.png",{"path":794,"title":795,"description":796,"published":797,"category":473,"image":798,"draft":477},"\u002Fblog\u002Fcors-wildcard-security-risk","Чи є вайлдкард CORS ризиком для безпеки? Майже ніколи.","Чи є вайлдкард CORS ризиком для безпеки? Зазвичай це типове налаштування вашого білдера, і воно не видає нічого, що ваш сервер і так віддавав кожному.","2026-08-26","\u002Fblog\u002Fcors-wildcard-security-risk\u002Fcard-800x500.png",{"path":800,"title":801,"description":802,"published":803,"category":597,"image":804,"draft":477},"\u002Fblog\u002Fsupabase-branching-is-not-a-backup","Branching у Supabase це не бекап. Він іде тільки вперед.","Чому branching у Supabase це не бекап: гілка стартує без ваших даних, а мердж переносить саму лише схему. Для чого він потрібен і що брати замість нього.","2026-08-25","\u002Fblog\u002Fsupabase-branching-is-not-a-backup\u002Fcard-800x500.png",{"path":806,"title":807,"description":808,"published":809,"category":597,"image":810,"draft":477},"\u002Fblog\u002Fhow-to-restore-a-supabase-backup","Як відновити резервну копію Supabase, і що ламається потім","Як відновити резервну копію Supabase з панелі або з файлу дампа, що саме замінює відновлення і чому ваш застосунок може лишитися зламаним після нього.","2026-08-24","\u002Fblog\u002Fhow-to-restore-a-supabase-backup\u002Fcard-800x500.png",{"path":812,"title":813,"description":814,"published":815,"category":473,"image":816,"draft":477},"\u002Fblog\u002Fsupabase-storage-bucket-public","Ваш бакет Supabase Storage публічний. Чи це проблема?","Публічний бакет Supabase Storage означає, що той, хто має URL файлу, може його відкрити. Він не означає, що хтось може переглянути список вмісту.","2026-08-23","\u002Fblog\u002Fsupabase-storage-bucket-public\u002Fcard-800x500.png",{"path":215,"title":818,"description":819,"published":820,"category":473,"image":821,"draft":477},"Чи є проблемою ключ API Google у вашому браузері?","Ключ API Google у відкритому коді сторінки наш сканер знаходить найчастіше, і зазвичай усе гаразд. Вирішує це одне безкоштовне налаштування.","2026-08-22","\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend\u002Fcard-800x500.png",{"path":823,"title":824,"description":825,"published":826,"category":597,"image":827,"draft":477},"\u002Fblog\u002Fai-agent-deleted-my-database","ШІ-агент видалив мої дані в Supabase. Що можна відновити?","ШІ-агент видалив дані з вашої бази. Те, що ви зможете відновити, вирішилося раніше, а наступні хвилини вирішують, скільки з цього вціліє.","2026-08-21","\u002Fblog\u002Fai-agent-deleted-my-database\u002Fcard-800x500.png",{"path":320,"title":829,"description":830,"published":831,"category":473,"image":832,"draft":477},"Чи може будь-хто прочитати вашу базу Supabase? 3 680 застосунків","Чи може будь-хто прочитати вашу базу даних Supabase без входу? Ми просканували 30 998 живих застосунків, зроблених ШІ-білдерами, і виміряли, як часто так.","2026-08-18","\u002Fblog\u002Fcan-anyone-read-your-supabase-database\u002Fcard-800x500.png",{"path":834,"title":835,"description":836,"published":831,"category":473,"image":837,"draft":477},"\u002Fblog\u002Fsource-maps-exposed-in-production","Відкриті source maps: ваш застосунок публікує свій вихідний код","Відкрита source map дає будь-кому прочитати оригінальний код вашого застосунку, разом із коментарями. Перевірка за 30 секунд, і що важить насправді.","\u002Fblog\u002Fsource-maps-exposed-in-production\u002Fcard-800x500.png",{"path":839,"title":840,"description":841,"published":842,"category":473,"image":843,"draft":477},"\u002Fblog\u002Fsupabase-new-api-keys","Нові API-ключі Supabase: який із них безпечний у застосунку?","Supabase замінив anon і service_role публічними та секретними ключами. Який із них має бути у вашому застосунку, а який не має бути ніколи?","2026-08-12","\u002Fblog\u002Fsupabase-new-api-keys\u002Fcard-800x500.png",{"path":845,"title":846,"description":847,"published":848,"category":597,"image":849,"draft":477},"\u002Fblog\u002Fdoes-supabase-back-up-my-database","Чи робить Supabase резервні копії моєї бази? Залежить від тарифу.","Чи робить Supabase резервні копії вашої бази даних? На платних тарифах щодня, на безкоштовному жодної. Як дізнатися, що у вас насправді є.","2026-08-11","\u002Fblog\u002Fdoes-supabase-back-up-my-database\u002Fcard-800x500.png",{"path":851,"title":852,"description":853,"published":854,"category":473,"image":855,"draft":477},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","Supabase Row Level Security увімкнено. Таблиця досі публічна.","Увімкнути Supabase Row Level Security не означає захистити таблицю. Захищають політики, а та, що полагодила застосунок, часто впускає всіх.","2026-08-10","\u002Fblog\u002Fsupabase-rls-on-but-table-still-public\u002Fcard-800x500.png",{"path":857,"title":858,"description":859,"published":854,"category":597,"image":860,"draft":477},"\u002Fblog\u002Fversion-history-is-not-a-backup","Історія версій не є резервною копією. Вона не поверне таблицю.","Lovable і Bolt ведуть історію версій вашого коду. Ваша база даних працює як окремий сервіс, тож відкат назад не поверне ваші дані.","\u002Fblog\u002Fversion-history-is-not-a-backup\u002Fcard-800x500.png",{"path":862,"title":863,"description":864,"published":865,"category":597,"image":866,"draft":477},"\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database","Три способи зробити резервну копію бази Supabase, і чого бракує","Панель, pg_dump і керований сервіс. Що насправді зберігає кожен спосіб, що тихо лишає осторонь і який із них переживе втрату акаунта.","2026-08-09","\u002Fblog\u002Fthree-ways-to-back-up-a-supabase-database\u002Fcard-800x500.png",{"path":223,"title":868,"description":869,"published":865,"category":473,"image":870,"draft":477},"Які API-ключі безпечні у браузері, а які ні","Ваш ключ anon у Supabase створений, щоб бути публічним. Ключ service_role для цього не створений, і він ігнорує всі правила, які ви задали. Як їх розрізнити.","\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend\u002Fcard-800x500.png",1791705965538]