1. Админка одна на оба бренда: `plc.veilix.cc` (prod) и `dev.plc.veilix.cc` (dev). Аналитика Umami — `umi.veilix.cc`.
2. Все домены указывают на 169.58.76.183 (этот сервер).
3. Домены хранятся в базе (коллекция «Домены»), у каждого свои языки и валюты. Новое зеркало добавляется записью в базе плюс блоком nginx и сертификатом.
1. Ключ — это индивидуальный IP в выбранной стране: выделенный адрес на общем сервере, а не отдельный сервер. Страна выбирается при покупке и не меняется никогда. Нужна другая страна — пользователь покупает новый ключ в другой локации и отключает автопродление старого. Отдельного функционала смены страны нет.
2. В каждый ключ входит выделенный RU-адрес: работает и как прямое соединение, и как мост в обе стороны.
3. До 5 устройств на ключ (поле тарифа), все с одним IP. WireGuard — по конфигу на устройство. Xray — ссылка для Happ (обычная или зашифрованная crypt-ссылка Happ, которая скрывает адрес подписки).
4. Тариф — ценовой уровень со своим набором стран:
| Тариф | Страны | Первый месяц | Далее в месяц | USD (из макета) |
|---|---|---|---|---|
| Базовый | 23 страны (см. раздел 7) | 4 900 ₽ | 2 499 ₽ | $49 / $24 |
6. Статусы локаций: «Серверы в наличии» и «Установим за 24 часа». Оплаченный период начинается с момента выдачи ключа. Ключ выдаёт адаптер выдачи ([D-028](decisions/D-028-provisioning-adapter.md)): администратор вручную, демо-эмулятор (этап 1f) или API (этап 3g).
2. Happ — одна ссылка со всеми странами. WireGuard — пользователь может получить конфиги любой страны тарифа: их создаёт адаптер выдачи ([D-028](decisions/D-028-provisioning-adapter.md)).
3. Тарифы: «Месяц» 699 ₽ и «Год» 6 990 ₽ («582 ₽ в месяц, экономия 1 398 ₽»). Платы за подключение и доплат за страну нет: первый период стоит столько же, сколько продление.
4. До 5 устройств на ключ (поле тарифа).
5. Статусы локаций: «Включено» и «Скоро». Локации «Скоро» показываются, но не работают.
6. В кабинете — «Список ключей», как у dedicated; внутри ключа ссылка Xray и конфиги WG. Формулировки «текущая/запасная локация» из макета не используем.
Координаты для карты — в массиве `L(...)` в `design/handoff/project/Price.dc.html`. Количество свободных серверов из MiniApp (NL 12, DE 10, …) — демо-данные. На сайте счётчик показывается, если поле заполнено ([D-032](decisions/D-032-free-servers.md)).
3. Telegram (этапы 2a–2c): аккаунт можно создать по Telegram без почты. Почта привязывается кодом, после этого работает вход на сайте. На сайте есть кнопка «Войти через Telegram». Правила объединения аккаунтов в пределах сайта — [05-auth.md](05-auth.md).
1. У пользователя есть счёт (баланс) в валюте аккаунта.
2. Валюты — отдельный справочник: RUB и USD. Переключатель валюты не зависит от языка: из России часто заходят через VPN, поэтому страна по IP для выбора валюты не годится. По умолчанию валюта зависит от языка: ru → RUB, остальные → USD.
3. Платёжные системы привязаны только к валютам. Где система доступна, следует из цепочки: валюты → домены, на которых они включены → сайты:
4. Карта привязывается к аккаунту, а не к ключу (Stripe). Отвязать карту можно в аккаунте.
5. Продление: у каждого ключа галочка автопродления и кнопка «Продлить сейчас». Сначала списывается баланс, нехватка — с карты.
6. Не хватило денег: льготный период 3 дня (ключ работает), затем ключ истекает. Напоминание за 3 дня до окончания.
7. Ручные операции в админке: платёж через платёжную систему manual (проводится как настоящий), корректировка баланса, возврат на баланс.
8. Возвраты (политика из макета): если сервер не заработал по нашей вине — полностью в течение первых 7 дней; если пользователь передумал — остаток неиспользованного периода.
9. Подробно — [04-billing.md](04-billing.md).
## 10. Реферальная программа
1. «Приведите друга — вы оба получите по месяцу в подарок».
2. «Месяц» — это дни срока ключа, а не деньги: по 30 дней обоим после первой оплаты заказа другом ([D-025](decisions/D-025-referral-days.md)). Число дней задаётся в настройках сайта.
a. Другу — на ключ, который он купил.
b. Пригласившему — на его последний купленный ключ. Работающего ключа нет — дни добавятся к следующему.
3. Ссылки: `https://my.veilix.app/r/<код>` (для mass — `my.veilixvpn.com`) и `t.me/<основной бот>?start=<код>`.
4. Приглашения между брендами не засчитываются, самоприглашения отсекаются.
5. В кабинете показываем: приглашено, начислено месяцев, ожидает оплаты; список приглашённых с замаскированной почтой.
2. Почта поддержки: `help@veilix.app` (dedicated) и `help@veilixvpn.com` (mass); в макете были домены .cc. Ящики — на внешнем почтовом хостинге; на этапе 3e письма из них забирает Chatwoot. До этого на сайте только адрес. Telegram поддержки — `@veilix_support` у обоих брендов, пока нет ботов поддержки (этап 3e).
4. До этапов 3d и 3e формы — только интерфейс ([D-026](decisions/D-026-stage-order.md)). Затем заявки уходят в Twenty CRM (3d), обращения — в Chatwoot (3e).
5. Часы поддержки: с 10 до 20 по московскому времени в рабочие дни. Сроки ответа на сайте не обещаем.
Условия использования, политика конфиденциальности, политика возвратов, политика cookies. Черновики на 5 языках готовятся в этапе 1b, с заглушками вместо данных юрлица (Q-13). В политике конфиденциальности: VPN-серверы не ведут журналов ([10-security.md](10-security.md), раздел 6). Это черновики, не юридическая консультация: перед запуском — показать юристу. Stripe при подключении проверяет эти страницы.