[{"data":1,"prerenderedAt":319},["ShallowReactive",2],{"guide-base44-uk":3},{"id":4,"title":5,"body":6,"cover":285,"coverAlt":286,"description":287,"extension":288,"faq":289,"keywords":302,"meta":308,"navigation":309,"path":310,"platform":67,"published":311,"seo":312,"stem":313,"tldr":314,"updated":311,"__hash__":318},"platform_uk\u002Fis-your-base44-app-safe.md","Чи безпечний ваш застосунок на Base44?",{"type":7,"value":8,"toc":274},"minimark",[9,13,16,24,29,32,43,49,52,61,64,68,72,75,80,104,117,120,124,127,134,137,145,149,152,158,161,169,173,176,181,184,196,204,208,214,220,226,232,242,267],[10,11,12],"p",{},"Base44 робить те, чого не роблять інші білдери, і це варто знати ще до того, як\nшукати проблеми: ваші дані ніколи не відповідають інтернету напряму.",[10,14,15],{},"Ваш застосунок щось просить у Base44, Base44 просить у бази даних, і відповідь\nповертається тим самим шляхом. Немає адреси, яку міг би набрати незнайомець. У\nбільшості швидко зроблених застосунків найбільша причина витоку даних це\nтаблиця, яку прочитає будь-хто з адресою проєкту, і на Base44 така помилка вам\nпросто недоступна.",[10,17,18,19,23],{},"І ось та частина, яку посібник за посібником переказує неправильно: ",[20,21,22],"strong",{},"це не\nробить ваш застосунок безпечним, це робить його безпечним в одному конкретному\nсенсі."," Ризик переміщується, і куди саме, передбачувано настільки, що ми можемо\nсказати вам це вже зараз, до будь-якої перевірки.",[25,26,28],"h2",{"id":27},"що-base44-тримає-поза-інтернетом-замість-вас","Що Base44 тримає поза інтернетом замість вас",[10,30,31],{},"Склад, якщо триматися очевидного порівняння.",[10,33,34,35,38,39,42],{},"Уявіть застосунок крамницею. Усе, що завантажує браузер відвідувача, становить\n",[20,36,37],{},"вітрину",", і її повністю віддають кожному, хто відкриє сторінку: браузер не\nпокаже того, чого йому не надіслали. За нею стоїть ",[20,40,41],{},"склад",", ваші дані. У\nбільшості білдерів склад є окремою будівлею з власною адресою на тій самій\nвулиці, і чи зайдуть туди незнайомці, залежить від налаштування, якого ви,\nможливо, ніколи не бачили. У Base44 дверей на вулицю немає.",[44,45],"diagram",{"alt":46,"caption":47,"src":48},"Застосунок на Base44 зі стрілкою до панелі Base44, від якої йде стрілка до циліндра бази даних. Нижче шлях анонімного відвідувача до тієї самої бази намальовано пунктиром і перекреслено червоним хрестиком.","Пунктир це шлях, який мають інші білдери. Його намальовано тут, щоб ви побачили, чого бракує навмисно.","\u002Fguides\u002Fbase44\u002Fwhere-your-data-sits-1600x820.png",[10,50,51],{},"На практиці це означає, що нема чого вставити в браузер. У застосунку з Supabase\nпозаду будь-хто витягне адресу проєкту з вашого пакунка, додасть назву таблиці й\nподивиться, що повернеться. Зробіть те саме із застосунком на Base44, і єдина\nадреса, яку ви знайдете, буде ваша власна, на вашому домені, і відповідатиме\nвона те, для чого застосунок писали.",[10,53,54,55,60],{},"Це видно з оцінок. Серед застосунків на Base44 у\n",[56,57,59],"a",{"href":58},"\u002Fresearch\u002Fvibe-coded-app-security-2026","нашому дослідженні живих застосунків","\nмайже кожен отримує A або B, а збої, що тягнуть інші білдери до D, майже не\nтрапляються.",[10,62,63],{},"Є в цього і чесний наслідок: ззовні цього не перевірить ніхто, і ми теж.\nПеревірка з інтернету може смикати лише ті двері, що існують. Тут їх немає, тож\nі повідомляти нема про що, а сканер, який на цій підставі надрукував би \"база\nданих: безпечна\", вигадував би результат.",[65,66],"guide-cta",{"platform":67},"base44",[25,69,71],{"id":70},"чи-є-ключ-у-вашому-застосунку-на-base44-проблемою","Чи є ключ у вашому застосунку на Base44 проблемою?",[10,73,74],{},"Зазвичай ні, і два види ключів виглядають майже однаково.",[44,76],{"alt":77,"caption":78,"src":79},"Дві картки поруч. Ключ, який можна публікувати, з зеленою галочкою, підписаний як безпечний у браузері й показує sb_publishable_, anon і pk_live. Секретний ключ, з червоним хрестиком, підписаний як лише для сервера й показує sb_secret_, service_role і sk_live.","Обидва звуться ключами API. Лише один із них колись задумували читабельним.","\u002Fguides\u002Ftwo-kinds-of-key-1600x760.png",[10,81,82,83,86,87,90,91,95,96,99,100,103],{},"Ключ, який ",[20,84,85],{},"можна публікувати",", називає проєкт і більше нічого не робить. Він\nстворений, щоб його читали, і знайти його не означає нічого знайти. ",[20,88,89],{},"Секретний","\nключ, той, що пишеться як ",[92,93,94],"code",{},"sb_secret_…",", ",[92,97,98],{},"service_role"," чи ",[92,101,102],{},"sk_live_…",", обходить\nкожне написане вами правило й може все читати й змінювати.",[10,105,106,107,111,112,116],{},"Base44 тримає власні облікові дані на сервері, тож ключ у вашому застосунку\nзазвичай узагалі не належить Base44. Він від чогось, що ви під’єднали самі: ключ\nвід карт, аналітики чи платежів, вставлений, щоб запрацювала одна функція.\nНайчастіше в застосунках на Base44 ми знаходимо ключ Google API, і його варто\n",[56,108,110],{"href":109},"\u002Fblog\u002Fgoogle-api-key-exposed-in-frontend","зрозуміти, а не лякатися",", бо\nнеобмежений ключ можуть витратити чужі люди.\n",[56,113,115],{"href":114},"\u002Fblog\u002Fwhich-api-keys-are-safe-in-your-frontend","Прочитати, який саме ключ у вас",",\nзаймає близько хвилини.",[10,118,119],{},"Якщо ви таки знайшли справжній секрет, порядок дій важить. Перевипустіть його\nтам, де його видали, у Google Cloud, Stripe чи звідки він походить, і лише потім\nприберіть із коду. Спершу видалити рядок означає не закрити нічого: старе\nзначення вже лежить у кожній кешованій копії вашого сайту й у тому, що краулер\nзабрав минулого тижня.",[25,121,123],{"id":122},"налаштування-яке-неправильне-майже-в-кожному-застосунку-на-base44","Налаштування, яке неправильне майже в кожному застосунку на Base44",[10,125,126],{},"Не ключ і не база даних. Ідеться про те, з ким ваше API згодне говорити.",[10,128,129,130,133],{},"Браузер зазвичай не дає одному сайту читати дані іншого. Саме це правило не\nдозволяє сторінці, яку ви відкрили, тихцем звернутися до вашого банку й показати\nкомусь ваш баланс. Заголовок відповіді під назвою CORS його скасовує, а\nвиставлений у ",[92,131,132],{},"*"," скасовує для всіх: сайт, про який ви ніколи не чули, може\nвикликати API вашого застосунку з браузера вашого відвідувача й прочитати те, що\nповернеться.",[10,135,136],{},"На перевірених нами застосунках Base44 це найпоширеніша знахідка з великим\nвідривом. Вона ж і найбільш дискусійна, і заперечення тут доречні, тож ось\nчесна версія. Зірочка перед адресою, яка вимагає входу, є слабкою знахідкою, бо\nчужому сайту однаково нема чого надіслати. Зірочка перед адресою, яка відповідає\nбудь-кому, є справжньою справою, і приблизно половина перевірених нами\nзастосунків на Base44 має щонайменше одну адресу, яка віддає дані на простий\nзапит без жодного входу. Це дві різні проблеми під однією назвою, і шукати варто\nдругу.",[10,138,139,140,144],{},"Жодна з них не є вашою помилкою. Зірочку віддає інструмент збірки, коли йому не\nсказали інакше, зазвичай щоб і домен попереднього перегляду, і живий домен\nпрацювали, поки ви будуєте. У ",[56,141,143],{"href":142},"\u002Fblog\u002Fcors-wildcard-security-risk","короткому тексті","\nє розв’язок, і полягає він у тому, щоб замість зірочки вписати власний домен.",[25,146,148],{"id":147},"ваш-вихідний-код-опублікований-поруч-із-застосунком","Ваш вихідний код, опублікований поруч із застосунком",[10,150,151],{},"Друга за поширеністю знахідка, і та, яку ви перевірите взагалі без інструментів.",[10,153,154,157],{},[20,155,156],{},"Source map"," це файл, який перетворює стиснений JavaScript, що виконує браузер,\nназад на написане вами, зі справжніми іменами файлів, коментарями й структурою\nтек. Інструменти збірки роблять їх, щоб помилка в продакшені вказувала на живий\nрядок, а не на колонку 4812 одного величезного файлу. Ця частина справді\nкорисна. Публікувати їх поруч із застосунком це та частина, яка вам коштує.",[10,159,160],{},"Приблизно три з п’яти перевірених нами застосунків на Base44 віддають свої.\nЖодні дані через це не витікають, і застосунок ні в чому не поводиться інакше,\nчерез що це місяцями лишається непоміченим. Змінюється зусилля на все інше:\nвиколупати адресу зі стисненого пакунка це повільна морока, а прочитати власний\nкод це взагалі не робота. Кожна інша знахідка на цій сторінці стає дешевшою в\nпошуку, щойно ваш код читабельний.",[10,162,163,164,168],{},"Перевірка займає менше хвилини. Відкрийте живий застосунок, натисніть F12 і\nподивіться на панель Sources. Якщо дерево файлів там схоже на ваш проєкт, з\nіменами, які ви давали, значить maps поїхали разом із публікацією, а\n",[56,165,167],{"href":166},"\u002Fblog\u002Fsource-maps-exposed-in-production","довгий текст"," розповідає, що змінити.",[25,170,172],{"id":171},"якщо-ви-підєднали-власну-базу-даних","Якщо ви під’єднали власну базу даних",[10,174,175],{},"Тоді перевага з початку цієї сторінки на цю частину не поширюється, і звичні\nправила повертаються.",[44,177],{"alt":178,"caption":179,"src":180},"Застосунок, зроблений на Base44, і анонімний відвідувач, намальовані зі стрілками до одного циліндра бази даних. Нижче два результати: з вимкненою RLS відповідають усім, з увімкненою лише вашому застосунку.","Ця картинка про базу даних, яку ви під’єднали самі. У власних даних Base44 стрілки від незнайомця немає.","\u002Fguides\u002Fbase44\u002Fwho-the-database-answers-1600x820.png",[10,182,183],{},"Приблизно чверть застосунків на Base44, які ми перевіряємо, називає власний\nпроєкт Supabase. Цей проєкт відповідає інтернету напряму, точно як у будь-якого\nіншого білдера, тож Row Level Security тепер ваша: перемикач для кожної таблиці,\nякий рядок за рядком вирішує, хто що може читати.",[10,185,186,187,190,191,195],{},"Дві речі визначають, чи є вона у вас. Supabase вмикає її ",[20,188,189],{},"за замовчуванням для\nтаблиць, створених у Table Editor панелі",", і не вмикає для таблиць, створених\nвиконанням SQL, а саме так їх створює більшість згенерованих налаштувань. І\nперемикач це лише половина, бо політика, яка дозволяє всім, лишає таблицю\n",[56,192,194],{"href":193},"\u002Fblog\u002Fsupabase-rls-on-but-table-still-public","відкритою, поки панель звітує, що вона захищена",".",[10,197,198,199,203],{},"Зі сховищем так само, і про нього легко забути, бо воно живе в іншій частині\nпанелі, ніж правила таблиць. Позначений публічним бакет може перелічити й\nзавантажити будь-хто, хто знає про його існування, незалежно від того, чи\nпосилається ваш застосунок на якийсь файл усередині, а\n",[56,200,202],{"href":201},"\u002Fblog\u002Fsupabase-storage-bucket-public","налаштування, які це вирішують",", варто\nодного разу спокійно прочитати.",[25,205,207],{"id":206},"як-перевірити-свій-застосунок-на-base44-хвилин-за-десять","Як перевірити свій застосунок на Base44 хвилин за десять",[10,209,210,213],{},[20,211,212],{},"Запитайте, що ваше API каже іншим сайтам."," Це найімовірніше налаштоване\nнеправильно і на це ніхто не дивиться, бо в самому застосунку нічого не\nповодиться дивно, коли воно надто широке.",[10,215,216,219],{},[20,217,218],{},"Відкрийте живий застосунок через F12 і прочитайте панель Sources."," Якщо ваші\nвласні файли перелічені там під власними іменами, будь-хто інший перелічить їх\nтак само.",[10,221,222,225],{},[20,223,224],{},"Прочитайте кожен ключ у застосунку."," Про кожен спитайте себе, чи поклали б ви\nйого на головну сторінку. Якщо ні, його місце на сервері, і перевипустити його\nтреба в джерелі, перш ніж прибирати з коду.",[10,227,228,231],{},[20,229,230],{},"Відкрийте Authentication → Policies, якщо ви під’єднали власний проєкт\nSupabase."," Будь-яка таблиця, у якої Row Level Security вимкнена, відповідає\nкожному, хто має адресу проєкту, а ця адреса є у вашому застосунку.",[10,233,234,237,238,195],{},[20,235,236],{},"А потім подивіться ззовні."," Кроки вище кажуть, що налаштовано. Що насправді\nдістає незнайомець, це інше питання, і саме на нього відповідає наша безкоштовна\nперевірка. Вона читає ваш живий сайт як відвідувач і дає оцінку приблизно за 20\nсекунд, без акаунта: ",[56,239,241],{"href":240},"\u002F#scan","перевірити застосунок",[243,244,245],"key-takeaways",{},[246,247,248,252,255,258,261,264],"ul",{},[249,250,251],"li",{},"Base44 тримає вашу базу даних поза інтернетом. Найбільша причина витоку даних у швидко зроблених застосунках вам недоступна.",[249,253,254],{},"Ззовні цього не перевірить ніхто, і ми теж. Немає дверей, немає результату, а відсутність результату не є зеленою галочкою.",[249,256,257],{},"Ризик переходить у браузер: API, яке відповідає будь-якому сайту, і ваш вихідний код, опублікований поруч із застосунком.",[249,259,260],{},"Зірочка перед адресою, яка не вимагає входу, і є тією версією, що важить, а має її приблизно половина цих застосунків.",[249,262,263],{},"Ключ у вашому пакунку зазвичай від сервісу, який ви під’єднали самі. Перевипустіть його в джерелі, а тоді видаліть із коду.",[249,265,266],{},"Під’єднайте власний проєкт Supabase, і звичні правила Row Level Security та сховища діють для нього в повному обсязі.",[10,268,269,270,195],{},"Почніть із двох, які майже завжди варті уваги: що ваше API каже іншим сайтам і\nчи не поїхав ваш вихідний код разом із застосунком. Далі решту покриє\n",[56,271,273],{"href":272},"\u002Fchecklist","10-хвилинний чекліст безпеки",{"title":275,"searchDepth":276,"depth":276,"links":277},"",3,[278,280,281,282,283,284],{"id":27,"depth":279,"text":28},2,{"id":70,"depth":279,"text":71},{"id":122,"depth":279,"text":123},{"id":147,"depth":279,"text":148},{"id":171,"depth":279,"text":172},{"id":206,"depth":279,"text":207},"\u002Fguides\u002Fbase44\u002Fis-your-base44-app-safe-uk-1200x630.png","Картка перевірки безпеки Reeve для застосунків на Base44, з логотипом Base44 на білій плитці.","Base44 тримає вашу базу даних поза інтернетом, і це прибирає найбільший ризик швидко зроблених застосунків. Лишається короткий список, майже завжди той самий.","md",[290,293,296,299],{"q":291,"a":292},"Якщо моя база даних недосяжна, чи лишається взагалі про що хвилюватися?","Так, але список коротший, ніж у більшості. Ваш застосунок усе одно працює в браузері, а все, що браузер отримує, є публічним: код, будь-які вбудовані в нього ключі й адреси, які він викликає. Перевірити варто дві речі: чи відповідають ці адреси на запити з інших сайтів, і чи не поїхала разом із публікацією читабельна копія вашого вихідного коду.",{"q":294,"a":295},"Якщо ззовні цього ніхто не перевірить, звідки мені знати, що з даними все гаразд?","Зсередини, бо лише там ця відповідь існує. Оскільки запити йдуть через Base44, а не на публічну адресу, усе, що визначає, хто що може читати, живе у вашому застосунку й у платформі, куди незнайомець не дотягнеться. Тож корисні питання такі: хто може зареєструватися, що бачить зареєстрована людина і чи не робився якийсь екран із розрахунку, що ніхто не гляне. Перевірка ззовні не відповідає на жодне з них. Вона відповідає на іншу половину: що людина дістає взагалі без реєстрації.",{"q":297,"a":298},"Перевірка каже, що моє API відповідає будь-якому сайту. Це я так налаштував?","Майже напевно не навмисно. Зірочку віддає інструмент збірки, коли йому не сказали інакше, зазвичай щоб і адреса попереднього перегляду, і жива адреса працювали, поки ви будуєте. Вона доживає до продакшену, бо в застосунку нічого не ламається від того, що вона надто широка. Наскільки це важливо, вирішує адреса за нею: якщо та вимагає входу, знахідка слабка. Якщо вона відповідає будь-кому, це та версія, яку варто закрити цього тижня.",{"q":300,"a":301},"Я під’єднав власний проєкт Supabase до застосунку на Base44. Це щось змінює?","Змінює найважливіше. Ваш власний проєкт відповідає інтернету напряму, тож налаштування Row Level Security для кожної таблиці тепер ваше, і воно вимкнене за замовчуванням для будь-якої таблиці, створеної виконанням SQL. Це єдиний шлях, яким класична проблема відкритої бази дістається застосунку на Base44, і він вартий десяти хвилин вашого часу.",[303,304,305,306,307],"чи безпечний base44","безпека base44","base44 cors","base44 витік ключа api","base44 source maps",{},true,"\u002Fis-your-base44-app-safe","2026-08-30",{"title":5,"description":287},"is-your-base44-app-safe",[315,316,317],"Base44 не виставляє вашу базу даних в інтернет. Помилка, через яку витікає більшість швидко зроблених застосунків, вам просто недоступна, і це справжня перевага.","Ризик переходить на те, що бачить браузер: API, яке відповідає будь-якому сайту, і ваш вихідний код, опублікований поруч із застосунком. Ці двоє є майже в кожному застосунку на Base44, який ми перевіряємо.","Базу даних Base44 ніхто не перевірить ззовні, і ми теж. Якщо ви під’єднали власний проєкт Supabase, ця частина перевіряється, і перевірити варто.","lvChaAtMgWCDKV0_gF0mDM3CIOMcRkZW0lDLosb6XUE",1788681841290]