Кейсы · Проверка приложения
Проверка подписки и приватности в приложении на Supabase и Stripe
Настоящий публичный продукт, не образец. Всё сначала ушло владельцам приватно, и пока находки открыты, страница не называет ни приложение, ни одну отдельную находку.
Октябрь 2026: отправлено владельцам. Патчи предложены, пока не применены.
О кейсе
Что проверено
Публичное веб-приложение на Supabase с платной подпиской Stripe. Проверка охватила подписку от оформления до продления и отмены; данные аккаунта и приватность; тарифы и лимиты; кто что может читать и менять в базе и серверных функциях; и то, что обещают тексты о приватности.
В чём сложность
Подписка должна сходиться в двух местах, в Stripe и в приложении. Часть поведения также зависит от настроек хостинга владельцев, которых не видно при проверке по публичному коду, поэтому надо было отделить то, что точно, от того, что зависит от их ответа.
Как проверено
Большинство находок воспроизведено на коде владельцев, а отчёт отмечает те, что полностью или частично опираются только на код. Каждая находка с патчем проверена снова с ним, кроме четырёх малых изменений. Восемь находок, включая обе высокие, подтверждены в тестовом режиме Stripe. Где находка зависит от настроек владельцев, отчёт так и говорит и спрашивает.
Результат
39 находок: 2 высокие, 11 средних, 26 низких. 27 предложенных патчей покрывают 26 из них, одну частично, а собственные тесты владельцев проходят и с патчами. Остальные 13 пока без патча, потому что большинству нужен выбор владельцев; отчёт даёт подход к каждой. Четыре находки зависят от настроек хостинга и могут быть сняты после ответа владельцев. Владельцам сообщено приватно в октябре 2026 года. Если владельцы согласятся, когда исправления выйдут, страница назовёт проект и опишет исправленные находки.
Находки по областям
| Область | Высокие | Средние | Низкие | Всего |
|---|---|---|---|---|
| Подписка и оплаты | 2 | 2 | 4 | 8 |
| Тарифы и лимиты | — | 6 | 7 | 13 |
| Приватность и данные аккаунта | — | 2 | 9 | 11 |
| Кто что может читать и менять | — | 1 | 6 | 7 |
| Всего | 2 | 11 | 26 | 39 |
Серьёзность определяется последствиями и их вероятностью. «Стоит исправить» здесь значит критические, высокие или средние: в отполированном приложении с настоящими пользователями средняя находка тоже может до них дойти.
Какие это дефекты
Большинство находок относится к нескольким шаблонам, обычным для таких приложений:
- Состояние подписки, которое расходится со Stripe
- Лимиты тарифов, которые соблюдаются не везде
- Обещания о приватности, которые приложение не выполняет
- Ненадёжная очистка
- Пробелы в том, кто что может менять
Что получили владельцы
- Отчёт с каждой находкой: что случилось, как это подтверждено, что делает патч и что остаётся открытым.
- 27 патчей малыми коммитами на их текущем коде, сгруппированными в блоки, так что можно остановиться после любого блока.
- 9 вопросов о том, что могут решить или увидеть только владельцы: их настройки, хостинг, продуктовые решения.
- Подход к 13 находкам без патча: что исправит каждую и что нужно от владельцев.
- Чего проверка не видела: их живого сервиса, настроек панели и любых изменений вне репозитория.
Не заказ: приложение проверено по собственной инициативе по его публичному коду, без проверок на живом сайте.
Как выглядит находка
Находки этого приложения остаются приватными, пока они открыты. Это тот же формат из отчёта о демонстрационном магазине.
Открыть образец отчёта (PDF, на английском)Любой аккаунт после входа может открыть заказ любого гостя по номеру
- КАК СДАНО
- Страница заказа открывается: имя, улица, город, почта, телефон, что куплено.
- ПОСЛЕ ИСПРАВЛЕНИЯ
- "We couldn't open this order."ИСПРАВЛЕНО
- ТЕСТ
- Чужой аккаунт запрашивает заказ гостя. До исправления тест падал, после проходит.
Услуга
Такая же проверка для вашего приложения
Вы присылаете код или приглашаете меня с доступом только на чтение, а не пароли. Каждая находка — с тем, что произошло, что должно было произойти и где это в коде.