Перейти до вмісту

Основи безпеки

Чи безпечний Supabase? Так. Ваш проєкт це інше питання

Чи безпечний Supabase? Платформа проходить аудити, шифрує дані й тримає пентести. Їхня документація каже, де це закінчується і починаються ваші налаштування.

Vlad Tkachenko7 хв читання
Будинок зі світлими вікнами, де одна стулка на верхньому поверсі відчинена й лишає темний проріз у решті глухого фасаду.

Коротко

  • Чи безпечний Supabase? Платформа так: SOC 2 Type 2, ISO 27001, AES-256 у спокої, TLS у передачі та регулярні тести на проникнення.
  • Власна SOC 2 документація Supabase каже, що ця відповідність закінчується на межі їхнього продукту. Ваші таблиці, ваші ключі та ваші Storage-бакети лежать по інший бік цієї межі.
  • У серпні 2026 ми просканували 30 998 живих застосунків. У 2 096 із 3 680, які вдалося перевірити, таблиця відповіла незнайомцю, на платформі, що працювала рівно так, як задумано.

Хтось сказав вам, що Supabase не годиться для справжніх даних користувачів. Хтось інший сказав, що на ньому працює половина застосунків, про які ви цього року чули. Обидва були впевнені, і жоден із них не відкривав ваш застосунок.

Ось те, що гайд за гайдом розуміє неправильно: на "чи безпечний Supabase" і "чи безпечний мій проєкт на Supabase" відповідають дві різні людини. Supabase відповідає на перше, і відповідає добре. Друге ваше, хоч би чи казав вам хтось, що його передали.

Чи безпечний Supabase?

Так. Зовнішні аудитори оглянули платформу, і її сертифікації задокументовані.

Supabase відповідає SOC 2 Type 2 і сертифікований за ISO 27001. Дані клієнтів шифруються у спокої через AES-256 і в передачі через TLS. Для медичних даних є пропозиція HIPAA, якій потрібні додаток і підписана угода. Тести на проникнення проводяться регулярно із зовнішніми фахівцями, і все це опубліковано на їхній сторінці безпеки.

Уявіть це як будинок. Фундамент тримає, протипожежні двері працюють, на вході стоїть охоронець, а на стіні висить сертифікат від когось, хто приходив і перевіряв. Це справді те, що ви купуєте.

Ваш проєкт займає квартиру в цьому будинку.

Що насправді покриває цей сертифікат?

Будинок. Supabase записує межу одним реченням, у власній SOC 2 документації:

Відповідність Supabase SOC 2 не переноситься на середовища поза продуктом Supabase або поза контролем Supabase.

На тій самій сторінці додано, що дані на клієнтському боці цієї межі є відповідальністю клієнта, а їхня модель спільної відповідальності визначає, який бік який. Supabase веде інфраструктуру, операційну систему, оновлення Postgres і моніторинг самої платформи. На вашому боці лишаються ваш акаунт і те, хто має до нього доступ, ваші дані, секрети вашої бази й API-ключі, та Row Level Security, який ця сторінка радить застосовувати завжди.

Останній пункт вміщує всю цю статтю. Row Level Security ставить правило на кожну таблицю, і воно каже, хто які рядки може читати. Воно лишається вимкненим, доки хтось його не увімкне, а вмикають його всередині вашого проєкту, на сторінці, яку ви, можливо, ніколи не відкривали.

Зовнішню стіну перевірено й сертифіковано. Запит, який дістався ваших рядків, пройшов крізь проріз у стіні всередині, а її креслить ваш проєкт.

Сертифікат стосується будинку. Із квартирами платформа робить одне: показує двері. Security Advisor у вашій панелі називає кожну таблицю з вимкненим правилом і лишає рішення вам.

Чому ж тоді стільки застосунків на Supabase віддають дані?

Бо все на вашому боці цієї межі й далі працює бездоганно, поки стоїть навстіж відчинене.

У серпні 2026 ми просканували 30 998 живих застосунків, зроблених у Lovable, Base44, Replit, v0 і Bolt. У 3 680 з них нам вдалося довести до кінця перевірку, яка питає базу даних, без жодного логіна, чи віддасть вона рядки. 2 096 відповіли "так" щонайменше на одній таблиці. Storage розповів ту саму історію під іншим кутом: із 27 269 застосунків, які вдалося перевірити, 792 мали бакет, що його міг перелічити незнайомець.

Нічого з цього не було збоєм Supabase. Кожна з тих відповідей прийшла з оновленої, зашифрованої бази на сертифікованій платформі, яка робила рівно те, що їй сказав її власний проєкт. Із будинком усе було гаразд. Двері всередині стояли відчинені.

Це стається через порядок, у якому все будується. Ваш застосунок працює з першого дня, і працює однаково, написані правила чи ні, тож немає моменту, коли щось ламається й змушує вас подивитися. Повне вимірювання розкладає, що саме нам вдалося побачити, а що ні.

Якщо вам потрібна відповідь про власний застосунок, а не про платформу, наше безкоштовне сканування робить той самий анонімний запит іззовні й показує, які з ваших таблиць відповіли. Близько 20 секунд, без акаунта: сканувати застосунок.

Чи годиться Supabase для продакшену?

Годиться, і того, що маєте зробити ви, небагато, бо довгу половину Supabase уже зробив.

ПитанняХто цим займаєтьсяЩо це означає для вас
Патчі серверів, оновлення Postgres, системаSupabaseРобити нічого
Шифрування у спокої та в передачіSupabaseРобити нічого
Фізична безпека, мережева безпека, пентестиSupabaseРобити нічого
Резервні копії вашої базиSupabaseЩодня на платному плані й жодної на безкоштовному. Перевірте, який у вас
Які рядки дозволено читати відвідувачуВиПолітика Row Level Security на кожній таблиці зі справжніми даними
Який ключ потрапив у ваш застосунокВиПублічний ключ там доречний. service_role і sb_secret_ ніколи
Які файли може перелічити незнайомецьВиПозначка public на кожному бакеті, окремо від правил ваших таблиць
Хто може увійти у ваш акаунт SupabaseВиПароль, якого більше ні в кого немає, і другий фактор на акаунті

Кожен рядок нижньої половини описує налаштування, і кожне налаштування займає кілька хвилин у панелі. Платформа приїжджає готовою до продакшену. Конфігурація приїжджає в тому стані, у якому її лишив ваш білдер.

Як перевірити власний проєкт?

Три місця, і жодне з них не потребує читати рядок SQL.

Відкрийте Security Advisor у своїй панелі Supabase. Він перелічує кожну таблицю з вимкненим Row Level Security, а це найгрубіша версія цієї проблеми, і Supabase добре її позначає. Проєкт із порожнім списком там закрив перше питання.

Далі прочитайте політику на будь-якій таблиці, де лежать люди. Advisor не може вирішити, чи дозвільна політика була навмисною, бо для каталогу товарів вона була б правильною. Таблиця може мати увімкнений перемикач, чинну політику й зелену галочку в панелі й усе одно віддавати свої рядки кожному, хто спитає; чотири стани, у яких може бути таблиця показують, як упізнати свій.

Далі подивіться Storage. У бакетів власні налаштування, і правила ваших таблиць туди не дістають, тож щільно закрита база нічого не каже про файли, які завантажили ваші користувачі.

Стіну позаду перевіряє хтось інший. Ці три ручки всередині вашого власного проєкту, і кожна з них відкривається сторінкою у вашій панелі.

Є четверте питання, на яке панель відповісти не може: який ключ насправді потрапив у ваш застосунок. Сторінка налаштувань перелічує ключі, які має ваш проєкт, а який із них туди зайшов, фіксує тільки ваш застосунок. Прочитати ключ на власній живій сторінці можна за дві хвилини, або наше безкоштовне сканування прочитає його за вас разом з усім вищепереліченим: сканувати застосунок.

Що робити зараз

Що робити

  • Перестаньте питати, чи безпечний Supabase. Безпечний, і за цим стоять звіт SOC 2 Type 2, ISO 27001, шифрування AES-256 у спокої та регулярні тести на проникнення.
  • Прочитайте межу їхніми ж словами. Відповідність покриває продукт Supabase, а ваші політики Row Level Security, ключі та бакети лежать на вашому боці.
  • Спершу відкрийте Security Advisor. Це коштує хвилину й відповідає на найгрубішу версію питання.
  • Прочитайте політику на кожній таблиці, де лежать люди, бо дозвільна політика виглядає в панелі як захищена таблиця.
  • Перевіряйте Storage окремо від таблиць. У них різні налаштування, і сувора база нічого не каже про ваші файли.

Якщо вам зручніше пройти все списком, 10-хвилинний чекліст безпеки покриває це разом з іншими налаштуваннями, які варто закрити в щойно запущеному застосунку, а ще є пояснення простою мовою для застосунків на Supabase.

Пройти цей список можна за вечір, і відповідь, яку ви отримаєте, правдива того вечора, коли ви це робите. Тримати її правдивою в один вечір уже не влазить, і саме для цього ми зробили Reeve Care: він повторює ті самі перевірки на вашому застосунку за розкладом і пише вам, коли якась із них починає відповідати інакше. Що він стежить і скільки коштує.

Reeve тримає копію вашої бази Supabase

Поза акаунтом, з якого вона взялася, за розкладом і перевіреною до того, як вона зарахується. Першого з цих трьох власні резервні копії Supabase за вас зробити не можуть.

Supabase знімає щоденну копію на платному плані й жодної на безкоштовному, і в обох випадках ця копія живе всередині проєкту, з якого її взяли. Для того пообіддя, коли ви ламаєте власні дані, це правильний інструмент. Вона опиняється поза досяжністю того дня, коли проблемою стає сам акаунт: несплачений рахунок, видалення, вхід, у який більше ніхто не потрапляє.

Reeve Care тримає копію в іншому місці. Знята за розкладом, який задає ваш план, зашифрована перед тим, як покинути машину, що її зробила, і прочитана назад та звірена, перш ніж ми взагалі зарахуємо її як резервну копію, щоб дата у вашій панелі була датою, коли існування копії доведено, а не датою, коли стартувало завдання. Вона покриває вашу базу Supabase і файли, які завантажили ваші користувачі, щойно ви їх під'єднаєте.

Відновлення робить три речі навколо самого повернення даних. Воно перевіряє, чи копія й досі підходить вашій базі, перш ніж покласти назад бодай один рядок, спершу знімає страхувальний знімок того, що є зараз, а потім доводить, що база приймає запис, записавши в неї, бо відновлення, яке лишає вас лише з читанням, не завершене. Ви також можете завантажити будь-яку копію, яку ми тримаємо, і піти з нею.

Кожна перевірка на цій сторінці каже, де ваш застосунок стоїть сьогодні. Резервні копії потрібні для того дня, коли щось уже пішло не так. Що Reeve копіює на Supabase, як часто, і що робить відновлення.

Поширені запитання

Чи достатньо Supabase безпечний для справжніх даних клієнтів?

Так. Supabase відповідає SOC 2 Type 2 і сертифікований за ISO 27001, шифрує дані клієнтів у спокої через AES-256 і в передачі через TLS, а також регулярно проводить тести на проникнення. Чого це не каже: чи дозволяють правила всередині вашого власного проєкту незнайомцю прочитати ваші таблиці, бо це налаштування належить вашому проєкту, а не платформі.

Чи відповідає Supabase SOC 2?

Так, SOC 2 Type 2. Клієнти Enterprise і Team можуть запросити звіт у своїй панелі. Обсяг охоплює сам продукт Supabase: їхня інфраструктура, їхні контролі, їхній моніторинг.

Чи покриває звіт SOC 2 від Supabase мій застосунок?

Ні, і Supabase пише це прямо. У їхній SOC 2 документації сказано, що відповідність не переноситься на середовища поза продуктом Supabase або поза контролем Supabase, а дані на клієнтському боці цієї межі є відповідальністю клієнта. Ваші політики Row Level Security, ваші API-ключі та ваші налаштування Storage лежать на вашому боці.

Чи годиться Supabase для продакшену?

Годиться, і роботи на вашому боці небагато. Увімкніть Row Level Security на кожній таблиці зі справжніми даними й напишіть політику, яка називає умову, тримайте секретний ключ подалі від усього, що завантажують ваші відвідувачі, і подивіться, які Storage-бакети позначені як публічні. Саме ці три налаштування вирішують, чи дістанеться незнайомець до ваших даних, і саме з них ми починаємо, коли скануємо застосунок.

Чи відповідає Supabase вимогам HIPAA?

Supabase пропонує відповідність HIPAA, і вона не вмикається сама. Потрібні додаток HIPAA і підписаний Business Associate Agreement, а їхня документація прямо каже, що SOC 2 цього не замінює. Захищена медична інформація також приносить правила про те, де її можна тримати, зокрема вказівку не класти її в публічні Storage-бакети.

Supabase безпечніший за власний бекенд?

У тих частинах, які бере на себе Supabase, майже напевно. Патчі серверів, оновлення бази, шифрування у спокої, мережева безпека та перевірений режим доступів соло-засновник рідко робить так само ретельно. Частини, які лишаються вашими, однакові в обох випадках, а з власним бекендом їх на одну більше: код між вашим застосунком і вашою базою.

Автор

Vlad Tkachenko

Засновник Reeve

Я щодня дивлюся на застосунки, зібрані в Lovable, Bolt, v0, Cursor і Replit, і на короткий список помилок, які трапляються в них знову і знову.

Більше про автора

Читати далі

Усі статті

Не впевнені, як справи у вашому застосунку?

Запустіть безкоштовне сканування й отримайте зрозумілу оцінку від A до F приблизно за 20 секунд. Без облікового запису й без картки.

Сканувати безкоштовно

Автоматична зовнішня перевірка, а не повний аудит. Відсутність знахідок не є гарантією безпеки.