Безопасность

Последнее обновление: 2026-04-21

Платёжная инфраструктура живёт и умирает на своей security-posture. Вот что мы делаем, чего не делаем, и чего пока не имеем и не будем делать вид, что имеем.

1. Non-custodial по дизайну

Наша сильнейшая security-гарантия — архитектурная: мы не держим средства мерчанта. Никогда. Когда клиент платит картой, on-ramp конвертирует фиат в USDC, а наш on-chain splitter атомарно роутит это на ваш Polygon-кошелёк в той же транзакции. Наши серверы видят событие, не баланс. Нет hot-кошелька, нет пулов treasury, нет омнибус-аккаунта — нет хоней-пота, в который атакующему влезать. Если Peptide-Pay исчезнет завтра, ваши прошлые платежи останутся on-chain на вашем кошельке.

2. Инфраструктура

  • Хостинг: Vercel, глобальная edge-сеть и DDoS-защита.
  • State store: Upstash Redis с TLS в транзите и AES-256 at rest.
  • Settlement: Polygon mainnet, верифицируется on-chain — те же security-допущения, что у самой сети.
  • DNS и CDN: усилены HSTS preload, CAA-записями с пиннингом CA, DNSSEC включён.
  • Секреты: лежат в зашифрованном env-сторе Vercel; ротируются при offboarding'е сотрудника.

3. Аутентификация

  • Только magic-link — никаких паролей, нечего фишить, нечего переиспользовать из утечки.
  • Magic-link'и одноразовые, срок жизни 15 минут.
  • Dashboard-сессии короткоживущие (7 дней) и привязаны к браузеру, который вошёл.
  • Session-куки HTTP-only, Secure, SameSite=Lax.
  • Подозрительные входы (новая страна, новый ASN) триггерят email-алерт и могут быть отозваны из любой активной сессии.

4. Вебхуки

  • Каждый вебхук подписан HMAC-SHA256 вашим account-секретом; верифицируйте до того, как доверять payload'у.
  • Заголовок подписи содержит таймстемп; отбрасывайте всё старше 5 минут для защиты от replay.
  • Очередь повторов с экспоненциальным backoff (30с, 2м, 10м, 30м, 1ч, 3ч, 12ч, 24ч), потом drop.
  • Дропнутые вебхуки остаются re-play-able из дашборда 30 дней.
  • Публикуем текущий IP egress-диапазон — можете allowlist'ить на файрволе.

5. API-ключи

  • Ключи показываются один раз, хранятся захешированными (bcrypt) на сервере; мы их для вас достать не можем.
  • Ротация в любой момент из /app/settings — старый и новый ключи работают параллельно 24 часа, чтобы можно было деплоить без даунтайма.
  • Scoped-ключи в планах на Q3 2026; пока ключи full-access.
  • Rate-limit на ключ: 100 req/s soft, 1000/s hard.

6. Шифрование

  • В транзите: TLS 1.3 на каждом эндпоинте; TLS 1.2 допустим только для legacy webhook-потребителей и помечен к deprecation.
  • At rest: AES-256 на Upstash Redis и Vercel blob storage.
  • Email клиентов хешируются (SHA-256 с per-merchant-солью) до попадания в server-логи; только дашборд мерчанта рендерит их в открытую.

7. Responsible disclosure и bug bounty

Нашли уязвимость — пишите на security@peptide-pay.com с PoC. PGP-ключ на /.well-known/security.txt. Мы обязуемся:

  • Подтвердить получение в течение 24 часов.
  • Триажировать и подтвердить в течение 72 часов.
  • 90-дневное окно фикса до публичного раскрытия, продлеваемо по соглашению.
  • Отметить вас в security-advisory — если не предпочтёте анонимность.
  • Диапазон bounty: USD 100 до USD 5 000, платим в USDC на Polygon, масштабируется по severity (CVSS 3.1).
  • Out of scope: социальная инженерия, физические атаки, DoS и всё, что требует рутованного пользовательского устройства.

8. Incident response

Если мы обнаруживаем или нам сообщают об инциденте, затрагивающем данные мерчанта или целостность сервиса:

  • Затронутые мерчанты получают email в течение 24 часов после подтверждения.
  • Status-страница обновляется в реальном времени на status.peptide-pay.com.
  • Где применима GDPR art. 33, соответствующий DPA уведомляется в течение 72 часов.
  • Публичный post-mortem в течение 14 дней — root cause, таймлайн и конкретные меры.
  • Никаких замалчиваний. Никаких эвфемизмов «плановые работы». Инцидент мы называем инцидентом.

9. Что мы НЕ заявляем

Честность важнее маркетинг-театра:

  • SOC 2 report ещё нет. В roadmap на 2027, когда объём оправдает стоимость аудита.
  • Сертификации ISO 27001 ещё нет. По той же причине.
  • Нет скоупа PCI DSS — мы намеренно не трогаем карточные данные, поэтому PCI к нашему стеку не применяется. Она применяется к Moonpay.
  • Нет 24/7 SOC — есть on-call-ротация с пейджингом, но мы не tier-1 банк и не делаем вид.
  • Если что-то из перечисленного — жёсткое требование вашей compliance-программы, мы, скорее всего, пока не тот процессор для вас.

10. Контакты

Security-репорты: security@peptide-pay.com. PGP-фингерпринт опубликован на /.well-known/security.txt.