Готово ли ваше приложение на Lovable к настоящим пользователям?
Приложения Lovable — это React плюс Supabase, и большинство их проблем живёт на стыке: что попадает в бандл для браузера и что база позволяет прочитать кому угодно. Вставьте адрес на Lovable или на своём домене и посмотрите, что исправить, прежде чем делиться ссылкой.
Бесплатно, без регистрации. Базовая проверка делает только те запросы, которые выполняет обычный браузер.
Что мы проверяем в приложении на Lovable
- КритичноБесплатная проверка
Ключ Supabase service_role или secret в бандле
Ключ, который обходит Row Level Security, отправлен в браузер. Кто угодно может читать и менять любые таблицы. Мы называем файл и показываем ключ замаскированным.
- КритичноPro
Таблицы читаются публичным ключом anon
Ключ anon и должен быть публичным — защищает вас Row Level Security. После подтверждения домена мы проверяем каждую таблицу, которую использует приложение, и считаем доступные для чтения строки, но не читаем их содержимое.
- СправочноБесплатная проверка
Ключ anon виден — и это нормально
Мы говорим, с каким проектом Supabase работает приложение и что публичный ключ — это ожидаемо, чтобы вы не паниковали не из-за того.
- СреднийБесплатная проверка
Не хватает заголовков безопасности на хостинге
Нет Content-Security-Policy, HSTS или защиты от кликджекинга. Мы говорим, каких именно и как добавить их там, где размещено приложение.
- НизкийБесплатная проверка
Нет title, description и превью после отрисовки
Страница Lovable — это пустой <div id="root">, пока не выполнится JavaScript. Мы отрисовываем её в настоящем браузере и проверяем, что получают поисковики и превью ссылок.
Проверьте сами за десять минут
Чтобы найти самое худшее, мы вам не нужны. Вот как проверить приложение на Lovable вручную — и что значит каждый результат.
Посмотрите на ключ Supabase в коде
Откройте сгенерированный файл клиента Supabase (обычно src/integrations/supabase/client.ts) и поищите по всему проекту service_role и sb_secret_. В приложении место только ключу anon или publishable.
service_role sb_secret_
Расшифруйте ключ, который на самом деле отдаёт работающий сайт
Откройте работающий сайт, затем DevTools → Console. Вставьте ключ, который видно во вкладке Network (заголовок apikey любого запроса к supabase.co), и расшифруйте его. "role": "anon" — это нормально; "service_role" значит: перевыпустите ключ прямо сейчас.
JSON.parse(atob("<the key>".split(".")[1])).roleЗапустите Security Advisor в Supabase
Панель Supabase → Advisors → Security Advisor. Любую таблицу, для которой там указано, что Row Level Security отключён, может прочитать кто угодно с ключом anon.
Проверьте, что показывает превью ссылки
Откройте свой адрес, добавив перед ним view-source:. Если <title> всё ещё от шаблона, а meta description нет, то же самое видят поисковики и мессенджеры. Поправьте index.html.
view-source:https://your-app.lovable.app
Вставьте исправление прямо в Lovable
Каждый отчёт заканчивается промптом, написанным для ИИ-конструктора: что не так, в каком файле и как проверить, что исправление сработало. Вставьте его в чат Lovable.
Исправь эти проблемы на myapp.lovable.app. Прежде чем что-то менять, найди каждую. 1. Ключ Supabase service_role лежит в assets/index-8a1d.js. Перенеси запросы, которым он нужен, в Supabase Edge Function, перевыпусти ключ в панели Supabase и оставь в приложении только ключ anon. 2. После отрисовки у страницы нет meta description. Добавь description и теги Open Graph в index.html. Когда закончишь, проверь заново: https://scanyoursite.app/ru?check=myapp.lovable.app
Каждая правка в Lovable — это деплой
Один промпт может переписать полприложения. На Pro мы замечаем каждую новую версию, проверяем её за несколько минут — работает ли сайт, не вернулся ли ключ в бандл — и пишем, только когда что-то новое пошло не так.
Посмотреть тарифыВопросы
Работает ли это на поддомене lovable.app?
Да, и на своём домене тоже. Расширенным проверкам, например проверке таблиц, нужно доказательство, что домен ваш, а дать его можно только для домена, которым вы управляете.
Изменит ли проверка таблиц мои данные?
Нет. Она отправляет один HEAD-запрос на таблицу с вашим публичным ключом anon, чтобы посчитать доступные строки. Содержимое строк она никогда не читает и ничего не записывает.
Ключ anon в моём бандле — это проблема?
Нет, он задуман публичным. Опасность — ключ service_role или secret либо таблицы без Row Level Security. Их мы и ищем.
Вставьте адрес. Список будет примерно через минуту.
К каждой находке — что она значит для вас и как её исправить. Или промпт, который применит ваш ИИ-инструмент для кода.
Бесплатно, без регистрации. Базовая проверка делает только те запросы, которые выполняет обычный браузер.