Рекомендуемая архитектура
Ваш backend проверяет пользователя, его права на внутреннюю покупку и принадлежность order.id. Один ключ Luffy SMS относится ко всему аккаунту: API не знает о пользователях вашего приложения.
Browser / mobile app
│ your authenticated session
▼
Your backend
│ Authorization: Bearer <server-secret>
▼
Luffy SMS API /api/v1Хранение ключей
- Не используйте NEXT_PUBLIC_*, публичный bundle, мобильный бинарник, Git и скриншоты.
- Убирайте Authorization из логов, трассировок, APM и сообщений об ошибках.
- Используйте HTTPS и отключайте переходы на неожиданный домен. Не отправляйте ключ неизвестным прокси.
- Ограничьте доступ сотрудников к секретам и подготовьте процедуру немедленного отзыва.
Телефоны и SMS — чувствительные данные
Маскируйте номера в технических логах. Не публикуйте SMS-коды в аналитике, ссылках и тикетах. Храните только необходимые данные и установите собственные сроки удаления.
Особенность Playground
Встроенный Playground отправляет запросы только на текущий домен. Ключ живёт в памяти страницы, не включается в примеры и не сохраняется в cookies или localStorage. Не используйте его на чужом устройстве. При перезагрузке ключ нужно ввести заново. После ротации можно заменить ключ авторизации, не меняя сохранённые параметры и Idempotency-Key покупки. Ответ 401 или 429 на повтор не разрешает неопределённый результат предыдущей попытки.
Если ключ раскрыт
Немедленно отзовите ключ в кабинете. Проверьте историю заказов, обновите серверные секреты, удалите ключ из логов и репозитория. Отзыв не отменяет уже принятые покупки; при неопределённых операциях сохраните их исходные ключи.