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

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

Чи шифрує Supabase мої дані? Так. Ось від чого це захищає

Чи шифрує Supabase дані? Так: AES-256 у стані спокою, TLS під час передавання, SOC 2 та ISO 27001. Що покриває кожне і який витік не зупиняє жодне.

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

Коротко

  • Чи шифрує Supabase дані? Так. Кожен проєкт зашифрований у стані спокою через AES-256 і під час передавання через TLS, на кожному тарифі, і нічого вмикати не треба.
  • Supabase також має звіт SOC 2 Type 2 і сертифікат ISO 27001. Обидва документи можна завантажити на тарифі Team і вище, а для HIPAA потрібна ще й підписана угода.
  • Ніщо з цього не вирішує, кому відповідає база даних. У 2 096 із 3 680 застосунків на Supabase, які ми змогли перевірити, таблиця віддавала свої рядки незнайомцю без входу.

Клієнт пише вам і питає, чи зашифровані його дані. Або більший замовник надсилає анкету з безпеки у вигляді таблиці, і в ній ті рядки, які є в кожній такій анкеті: шифрування у стані спокою, шифрування під час передавання, звіт SOC 2 вашого хостинг-провайдера. Ваш застосунок працює на Supabase, бо Lovable чи Bolt так його налаштували, і досі нікому не було потрібно, щоб ви знали, що все це означає.

То чи шифрує Supabase ваші дані? Так. Усі, на кожному тарифі, і сертифікати за цим твердженням справжні.

Більшість відповідей помиляється в тому, що зупиняється тут, наче шифрування вирішує, хто може читати ваші дані. Воно вирішує щось вужче. Уявіть Supabase як банк. Шифрування у стані спокою це сховище, шифрування під час передавання це інкасаторська машина, а SOC 2 це інспектор, який перевіряє, що обидва працюють так, як каже банк. Кожне з них стосується когось, хто взагалі не мав потрапити всередину. Правило біля віконця каси, чию виписку клієнт може попросити, це окрема річ, і пишеться воно у вашому проєкті.

Кожну цифру нижче взято зі сторінок і документації Supabase 29 вересня 2026 року.

Чи шифрує Supabase мої дані?

Так. Сторінка безпеки Supabase каже, що всі дані клієнтів зашифровані у стані спокою через AES-256 і під час передавання через TLS, і вам нічого не треба вмикати.

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

Під час передавання означає на шляху між вашим відвідувачем і Supabase. Ваш застосунок говорить із Supabase через його веб-API, для даних, входу й файлів, і посібник з обов’язкового SSL Supabase каже, що кожен із цих API відхиляє незашифроване з’єднання. Виняток становить пряме з’єднання з базою Postgres під ними, яке може відкрити інструмент резервного копіювання чи ваш власний сервер. Такі з’єднання приймаються без шифрування, доки ви не ввімкнете Enforce SSL on incoming connections у Database Settings. Браузери ваших відвідувачів таких з’єднань ніколи не відкривають.

Шифрування стовпців це єдиний шар, який лишається вимкненим. Воно тримає окреме значення, скажімо номер телефону, нечитабельним навіть усередині бази. Supabase колись документував спосіб це робити, а його сторінка про pgsodium тепер радить цю функцію не використовувати через її операційну складність і ризик неправильно її налаштувати, і додає, що шифрування у стані спокою, ймовірно, достатнє для SOC 2 та HIPAA. Для секретів на кшталт API-ключа стороннього сервісу є Vault, який зберігає їх зашифрованими і віддає через view.

ШарУвімкнено за замовчуваннямВід чого захищає
У стані спокою, AES-256Так, на кожному тарифіКопія диска, прочитана в обхід Supabase
Під час передавання, TLSТак на кожному API. На прямому Postgres, коли ви зробите SSL обов’язковимХтось, хто читає трафік між застосунком і Supabase
Шифрування стовпцівНі, і Supabase радить відмовитися від колишньої функціїОкреме значення, прочитане тим, хто може робити запити до таблиці
VaultДля кожного секрету, який ви туди кладетеСекрет, що лежить читабельним на диску чи в резервній копії

Від чого захищає шифрування Supabase?

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

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

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

Документація Supabase каже те саме про Vault, який справді шифрує значення всередині бази: "будь-хто, хто має доступ до view, має доступ до розшифрованих секретів."

Шифрування зупиняє перші два шляхи. Третій це питання, на яке база відповідає, і щоб відповісти, вона розшифровує.

Чи заважає шифрування незнайомцю читати мої таблиці?

Ні, і ми виміряли, як часто це має значення. У серпні 2026 року ми просканували 30 998 опублікованих застосунків, зроблених у Lovable, Base44, Replit, v0 та Bolt. У 3 680 із них ми змогли завершити перевірку, яка питає базу Supabase без входу, чи віддасть таблиця свої рядки. У 2 096, тобто 57 %, щонайменше одна таблиця віддавала, і 394 з них мали відкриту таблицю з назвою про людей: users, profiles, customers, orders.

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

Сам запит звичайний. Це той самий, який робить ваш застосунок, щоб показати клієнту, що увійшов, його замовлення, тільки без входу: публічний ключ, якому і місце у вашій сторінці, і GET на /rest/v1/ з назвою таблиці в кінці. Наш скан прочитав, скільки рядків повернула б кожна таблиця, і на цьому зупинився, не забравши жодного. Повне вимірювання пояснює, від чого ці 57 % є часткою і скільки ми не змогли побачити.

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

Так. Supabase має звіт SOC 2 Type 2 від незалежного аудитора, що оновлюється щороку.

Звіт SOC 2 це опис аудитора, чи працювали засоби контролю безпеки компанії так, як компанія каже. Type 2 означає, що їх перевіряли протягом цілого періоду, і в Supabase він триває з 1 березня по 28 лютого. Він охоплює безпеку, доступність, цілісність обробки, конфіденційність і приватність, у базі даних, Storage, Auth, Realtime, Edge Functions і Data API, а сторінка SOC 2 Supabase позначає, де він закінчується:

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

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

З цього випливають ще дві речі. Якщо клієнту потрібно, щоб ваша компанія відповідала SOC 2, сторінка SOC 2 від Supabase каже, що клієнт у такому становищі мусить сам запровадити засоби контролю і пройти власний аудит. А те, чи Supabase взагалі надійна платформа, щоб на ній будувати, це окреме питання з окремою статтею.

Як отримати звіт SOC 2 від Supabase?

З панелі вашої організації, на тарифі Team і вище. Він лежить у розділі Legal Documents, поруч із сертифікатом ISO 27001 і стандартною анкетою з безпеки від Supabase, а організація на Free чи Pro бачить там натомість кнопку переходу на вищий тариф.

Team починається від $599 на місяць, тоді як Pro від $25, тож варто знати, що купує ця різниця. Документація Supabase каже, що кожен проєкт підпорядкований тому самому набору засобів контролю відповідності, тож проєкт на Pro працює на тій самій перевіреній платформі. Team додає документи, а разом із ними єдиний вхід (SSO) до панелі, щоденні резервні копії, що зберігаються 14 днів там, де Pro тримає 7, і можливість підключити HIPAA. Якщо клієнт просить сам звіт, спитайте, чи вистачить йому публічної сторінки безпеки Supabase, перш ніж міняти тариф заради одного PDF.

Чи сертифікований Supabase за ISO 27001?

Так, за ISO/IEC 27001:2022, про що Supabase оголосив 22 квітня 2026 року.

ISO 27001 сертифікує систему управління: політики, оцінки ризиків і процеси, за якими компанія захищає інформацію, що в неї є. Акредитований аудитор видає сертифікат на три роки і щороку в цей проміжок повертається перевірити, що система досі працює. У банку це інспектор, який дивиться, як правила безпеки ухвалюють і підтримують актуальними. Оголошення Supabase описує SOC 2 як широко визнаний у Північній Америці, а ISO 27001 як широко визнаний у Європі, Азії та державному секторі. Сертифікат лежить у тому самому розділі Legal Documents, на тих самих тарифах.

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

Для вашого проєкту може відповідати, щойно ви підпишете з Supabase Business Associate Agreement і оплатите його додаток HIPAA. Це не відбувається автоматично, і сторінка SOC 2 від Supabase каже, що SOC 2 його не замінює.

Business Associate Agreement, або BAA, це письмовий договір, якого вимагає американське медичне право, перш ніж компанія зможе обробляти захищену медичну інформацію від вашого імені. Supabase підписує його на тарифі Team і вище. Опублікованої ціни на додаток немає: ви надсилаєте запит, Supabase відповідає з ціною і процедурою, а організація на Free чи Pro, яка подає заявку, після схвалення однаково мусить перейти на Team.

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

  • Позначити проєкт як HIPAA-проєкт і діяти за тим, що про нього повідомляє Security Advisor.
  • Увімкнути двофакторний вхід для кожного акаунта в організації Supabase.
  • Увімкнути відновлення на момент у часі, для якого потрібен щонайменше обчислювальний додаток Small.
  • Увімкнути обов’язковий SSL і мережеві обмеження.
  • Не класти медичні дані в публічні бакети сховища.

Шифрування у стані спокою і під час передавання теж є в цьому списку, і це єдиний пункт, який Supabase уже виконав.

Чи відповідає Supabase GDPR?

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

Перша частина це розташування. Ви обираєте регіон, коли створюєте проєкт, і конкретний регіон ЄС тримає там вашу базу даних, Auth і Storage. Обирайте регіон за назвою, бо загальний варіант Europe у Supabase включає ще Лондон і Цюрих. Друга це Data Processing Addendum, договір про обробку даних, якого GDPR вимагає між вами і компанією, що обробляє персональні дані для вас. Договір Supabase є частиною його умов використання, тож він уже є в кожної організації.

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

Як заповнити анкету з безпеки від клієнта?

Розкладіть її на дві купки, перш ніж щось писати. Одні рядки питають про платформу Supabase, і відповіді на них беруться з документів Supabase. Інші питають про ваш проєкт, і відповісти на них можете тільки ви.

Анкета питаєХто відповідаєДе відповідь
Чи зашифровані дані у стані спокою?SupabaseAES-256, на сторінці безпеки Supabase
Чи зашифровані дані під час передавання?SupabaseTLS на кожному API, і на прямих з’єднаннях з Postgres, коли ви зробите SSL обов’язковим
Чи має ваш постачальник SOC 2 або ISO 27001?SupabaseОбидва, документи можна завантажити на Team або Enterprise
Чи є у вас DPA з обробниками даних?SupabaseЧастина умов використання Supabase
Де зберігаються дані?ВиРегіон, який ви обрали під час створення проєкту
Як часто робляться резервні копії?Ваш тарифНічого автоматичного на Free, щодня на Pro. Що зберігає кожен тариф
Хто може читати які записи?ВиПолітика Row Level Security на кожній таблиці
Де зберігаються облікові дані?ВиСекретний ключ тільки на сервері. Публічний ключ створений для того, щоб бути публічним
Хто має адміністративний доступ?ВиУчасники вашої організації в Supabase, з двофакторним входом

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

Що сказати клієнту, який питає, хто може читати дані?

Стан ваших політик, таблиця за таблицею, і дату, коли ви їх востаннє перевіряли. "Дані зашифровані" відповідає на питання про вкрадені диски, а клієнт, який питає про доступ, питає про віконце каси.

Чесна відповідь називає таблиці з персональними даними і каже, що на кожній увімкнено Row Level Security з політикою, яка прив’язує кожен рядок до людини, що увійшла і якій він належить. Вона каже, коли ви востаннє перевіряли ззовні, як відвідувач без входу, що ці таблиці нічого не повертали. Якщо таблиця публічна навмисно, список товарів чи опубліковані дописи, вона каже й це. Далі адміністративний бік: хто може відкрити вашу панель Supabase, з двофакторним входом, і де живе секретний ключ. У старіших проєктах цей ключ називається service_role, у новіших sb_secret_…, і його місце на сервері.

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

Обидві таблиці зашифровані однаково. Політика це єдина різниця між двома відповідями.

Записуйте лише те, що перевірили. Якщо ви ще не читали політику якоїсь таблиці, назвіть дату, до якої це зробите.

Як Reeve перевіряє відповідь ззовні

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

  • Безкоштовний скан питає кожну таблицю, яку називає ваш застосунок, скільки рядків отримав би відвідувач без входу, читає число і зупиняється, не забравши жодного рядка. Близько 20 секунд, без акаунта: проскануйте свій застосунок.
  • Reeve Monitor щогодини заново проганяє всі дев’ять перевірок для трьох застосунків і пише вам того дня, коли ваша оцінка погіршується, тож таблицю, яку ваш builder додасть після того, як анкету відправлено, перевірять упродовж години.
  • Care робить ті самі перевірки і тримає копію вашої бази даних Supabase поза вашим акаунтом Supabase, зроблену за розкладом і прочитану назад, перш ніж вона зарахується, і це відповідь на рядок про резервні копії. Кожну копію зашифровано через AES-256-GCM ключем, який належить лише вашому акаунту, а наша юридична сторінка пояснює, як ці ключі зберігаються. Як копію роблять і повертають на місце.

Що покриває і скільки коштує кожен тариф, є на сторінці цін.

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

Що робити

  • Відповідайте на рядки про шифрування за сторінкою безпеки Supabase: AES-256 у стані спокою і TLS під час передавання, на кожному тарифі, без жодного вмикання.
  • Якщо клієнту потрібен сам звіт SOC 2 чи сертифікат ISO 27001, це означає тариф Team. Завантажте обидва з Legal Documents у панелі вашої організації.
  • Якщо ваш застосунок зберігає медичні дані, підпишіть BAA і пройдіть список HIPAA від Supabase, перш ніж класти туди хоч щось.
  • Відповідайте на рядки про доступ зі свого власного проєкту. Відкрийте Security Advisor, а потім прочитайте політику на кожній таблиці, де є люди.
  • Перевірте результат ззовні, як відвідувач без входу, і поставте дату поруч зі своєю відповіддю.

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

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

Чи шифрує Supabase мої дані у стані спокою?

Так. Supabase шифрує всі дані клієнтів у стані спокою через AES-256 і під час передавання через TLS, на кожному тарифі, і вам нічого не треба вмикати. Чого він не додає за замовчуванням, так це другого шару на окремих стовпцях усередині бази, а від функції шифрування стовпців, яку раніше документував, Supabase тепер радить відмовитися. Для секретів на кшталт API-ключа стороннього сервісу він пропонує Vault.

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

Так. Supabase має звіт SOC 2 Type 2 від незалежного аудитора, що оновлюється щороку за період аудиту з 1 березня по 28 лютого. Він покриває платформу Supabase. Supabase зазначає, що ця відповідність не поширюється за межі його продукту, а налаштування всередині вашого власного проєкту, наприклад хто може читати кожну таблицю, лишаються вашою відповідальністю.

Як отримати звіт SOC 2 від Supabase?

Завантажте його з розділу Legal Documents у панелі вашої організації. Він доступний організаціям на тарифі Team, від $599 на місяць, і на Enterprise. Сертифікат ISO 27001 і стандартна анкета з безпеки лежать там само. На Free або Pro ця сторінка натомість пропонує перейти на вищий тариф.

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

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

Чи захищає шифрування від неправильно налаштованої таблиці?

Ні. Шифрування захищає дані від того, хто дістається до диска чи трафіку, не проходячи через базу даних. Запит, на який база вирішує відповісти, розшифровується для того, хто його надіслав, а те, які запити отримують відповідь, визначає Row Level Security на кожній таблиці. У серпні 2026 року ми знайшли щонайменше одну таблицю, відкриту незнайомцю, у 2 096 із 3 680 застосунків на Supabase, які змогли перевірити.

Що відповісти клієнту, який питає, чи зашифровані його дані?

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

Автор

Vlad Tkachenko

Засновник Reeve

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

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

Читати далі

Усі статті

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

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

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

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