Безпека зрозумілою мовою
Короткі матеріали про те, що насправді ламається в застосунках, зібраних на інтуїції, і що з цим робити.

New row violates row-level security policy в Supabase. Що далі?
"New row violates row-level security policy" означає, що Supabase відмовив у записі. Швидке виправлення знову відкриває таблицю для всіх.

Чи є вайлдкард CORS ризиком для безпеки? Майже ніколи.
Чи є вайлдкард CORS ризиком для безпеки? Зазвичай це типове налаштування вашого білдера, і воно не видає нічого, що ваш сервер і так віддавав кожному.

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

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

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

Чи є проблемою ключ API Google у вашому браузері?
Ключ API Google у відкритому коді сторінки наш сканер знаходить найчастіше, і зазвичай усе гаразд. Вирішує це одне безкоштовне налаштування.

ШІ-агент видалив мої дані в Supabase. Що можна відновити?
ШІ-агент видалив дані з вашої бази. Те, що ви зможете відновити, вирішилося раніше, а наступні хвилини вирішують, скільки з цього вціліє.

Чи може будь-хто прочитати вашу базу Supabase? 3 680 застосунків
Чи може будь-хто прочитати вашу базу даних Supabase без входу? Ми просканували 30 998 живих застосунків, зроблених ШІ-білдерами, і виміряли, як часто так.

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

Нові API-ключі Supabase: який із них безпечний у застосунку?
Supabase замінив anon і service_role публічними та секретними ключами. Який із них має бути у вашому застосунку, а який не має бути ніколи?

Чи робить Supabase резервні копії моєї бази? Залежить від тарифу.
Чи робить Supabase резервні копії вашої бази даних? На платних тарифах щодня, на безкоштовному жодної. Як дізнатися, що у вас насправді є.

Supabase Row Level Security увімкнено. Таблиця досі публічна.
Увімкнути Supabase Row Level Security не означає захистити таблицю. Захищають політики, а та, що полагодила застосунок, часто впускає всіх.

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

Три способи зробити резервну копію бази Supabase, і чого бракує
Панель, pg_dump і керований сервіс. Що насправді зберігає кожен спосіб, що тихо лишає осторонь і який із них переживе втрату акаунта.

Які API-ключі безпечні у браузері, а які ні
Ваш ключ anon у Supabase створений, щоб бути публічним. Ключ service_role для цього не створений, і він ігнорує всі правила, які ви задали. Як їх розрізнити.
Усе тут пише експерт із безпеки, і адресовано це тому, хто натиснув «Опублікувати».
Vlad Tkachenko