Backend-инженер
Bronirka — backend
Cloud Functions на TypeScript
TypeScriptNode.jsCloud FunctionsFirebase AdminFirestoreStoreKit JWS
Статус · В продакшне
Задача
Подписочные приложения, которые доверяют клиенту состояние подписки, ломают за пару недель. Приложению для записи нужны были проверяемые, защищённые от повтора чеки и серверный контроль лимитов плана в Firestore.
Подход
- 01Серверная валидация подписанных транзакций StoreKit 2 (JWS) — проверка подписи Apple и сверка чеков с хранилищем транзакций до выдачи доступа.
- 02Callable HTTPS-функции для привилегированных операций (возвраты, ручная выдача доступа, оверрайды поддержки).
- 03Триггеры Firestore для производных данных — счётчики, шарды поиска, денормализованные сводки записей — чтобы клиентские чтения оставались дешёвыми и согласованными.
- 04Структурированное логирование с редактированием чувствительных данных; алерты на сбои валидации подписей.
Результат
Стабильный транзакционный backbone, который используют iOS-приложение, веб-клиент и админ-инструменты. Ноль инцидентов с мошенничеством по подпискам за время беты.