# Подготовка публичного исходного релиза

## Обязательная проверка

1. Убедиться, что исходный тег соответствует публикуемому APK/AAB.
2. Проверить соответствие `third_party/wdtt` библиотеке `libwdtt.so`.
3. Проверить соответствие `third_party/libxray` библиотеке `libXray.aar`.
4. Обновить `THIRD_PARTY_NOTICES.md` и контрольные суммы бинарных артефактов.
5. Проверить отсутствие секретов, персональных данных, журналов и реальных
   конфигураций VPN.
6. Убедиться, что upload keystore, `local.properties`, `.env` и параметры
   подписи не отслеживаются Git.
7. Собрать release AAB из чистого клона.
8. Сохранить mapping-файл R8 и нативные debug symbols отдельно от публичного
   репозитория.
9. Опубликовать исходный тег одновременно с бинарным релизом.
10. Добавить в приложение и карточку магазина ссылку на исходники и лицензии.

## Что не входит в публичный репозиторий

- сервер сайта и мобильного API;
- база пользователей и резервные копии;
- платёжные ключи и webhook secrets;
- SSH-ключи, пароли VPS и firewall-конфигурация продакшена;
- Android upload key и ключ Play App Signing;
- действующие VPN-конфигурации и приватные ключи;
- эксплуатационные журналы.

## Серверная проверка доступа

Клиент считается недоверенным. Сервер обязан самостоятельно проверять
подписку при каждой выдаче конфигурации и уметь отзывать доступ. Ни одно
локальное поле приложения не должно быть источником истины о подписке.
