> ## Documentation Index
> Fetch the complete documentation index at: https://shinydapps-bd9fa40b.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Архитектура конфиденциальности

> Как l402-kit хранит нулевой объём PII, выполняет аутентификацию через кошелёк и обеспечивает распределённое хранение ключей — модель конфиденциальности, достойная Bitcoin.

## Проблема традиционных платёжных API

Stripe, LemonSqueezy, Paddle — каждый стандартный платёжный провайдер требует:

* Адрес электронной почты (PII, ответственность по GDPR)
* Аккаунт и пароль (уязвимы к фишингу и взлому)
* Централизованное хранение ключей (единая точка отказа)
* Доверие к тому, что провайдер не продаёт ваши данные

Lightning полностью меняет модель. **Ваш кошелёк — это криптографическое доказательство личности.** l402-kit построен именно на этом принципе.

***

## Что мы храним — и чего не храним

| Данные                      | Хранятся               | Почему                                                 |
| --------------------------- | ---------------------- | ------------------------------------------------------ |
| `payment_hash`              | ✅ Да                   | SHA-256 от preimage — уже публичен в инвойсе BOLT11    |
| Lightning Address           | ✅ Да (только владелец) | Необходим для маршрутизации сплита 99,7%               |
| Вызванный эндпоинт          | ✅ Да                   | Требуется для вашей аналитики                          |
| `preimage` (секрет платежа) | ❌ Никогда              | Раскрыл бы ключ платежа                                |
| Email                       | ❌ Никогда              | Не нужен — кошелёк является удостоверением личности    |
| Имя / IP / устройство       | ❌ Никогда              | Не собирается ни на одном уровне                       |
| Cookies / трекинг           | ❌ Никогда              | Никаких аналитических SDK, никакого отпечатка браузера |

### Почему `payment_hash` безопасно хранить

Preimage — это 32-байтный секрет, подтверждающий платёж. Его SHA-256-хэш (`payment_hash`) уже публично транслируется в инвойсе BOLT11 в момент его создания. Хранение хэша ничего не раскрывает — preimage никогда не попадает в нашу базу данных.

```
preimage  →  SHA-256  →  payment_hash  (публичен, в BOLT11)
   ↑
никогда не хранится
```

***

## Аутентификация: ваш кошелёк, а не пароль

### Панель управления разработчика

Панель аналитики выполняет аутентификацию через **LNURL-auth** — тот же поток secp256k1, используемый Lightning-кошельками:

```
sequenceDiagram
  participant D as Dashboard
  participant W as Your Wallet
  participant S as Supabase

  D->>S: Request challenge (k1 = 32 random bytes)
  S-->>D: k1 encoded as LNURL
  D->>W: Display QR / deeplink
  W->>S: GET ?tag=login&k1&sig&key (secp256k1 signature)
  S->>S: verify(sig, k1, pubkey) — no server call
  S-->>D: JWT (Supabase session)
  D->>S: Read payments, stats (RLS enforced)
```

Нет пароля для фишинга. Нет токена сессии, который можно похитить с edge. JWT ограничен с помощью Row Level Security — другие pubkey ничего не видят.

### Удаление данных

Только ваш кошелёк может авторизовать удаление ваших данных. Процесс:

1. Клиент вызывает `/api/lnurl-auth?lightningAddress=you@yourdomain.com`
2. Сервер возвращает одноразовый k1-вызов + LNURL
3. Ваш кошелёк подписывает k1 своим приватным ключом secp256k1
4. Сервер проверяет подпись — выдаёт одноразовый 64-символьный токен
5. Клиент отправляет POST на `/api/delete-data` с `{ lightningAddress, token }`
6. Сервер немедленно аннулирует токен (защита от повторного использования) и удаляет все строки
7. Данные уничтожены — никаких тикетов поддержки, никакого подтверждения по email

**Почему это надёжно:** Злоумышленник, знающий ваш Lightning Address, не сможет удалить ваши данные без вашего приватного ключа. Токен одноразовый и истекает через 10 минут.

***

## Распределение ключей

Традиционный SaaS: одна утечка → всё раскрыто.

l402-kit распределяет доверие между уровнями:

```
Layer          Holds                          Can do if breached
─────────────────────────────────────────────────────────────────
Cloudflare     Env secrets (Workers)          Create invoices (not read data)
Supabase       Payment rows (hashed)          See payment_hash + endpoints
               RLS policies                  Cannot bypass without service key
               Edge Functions                 Logic runs inside DB boundary
Lightning      Your private key               Never leaves your wallet
Your wallet    secp256k1 keypair              Signs challenges (offline capable)
```

Ни один уровень не обладает достаточными данными, чтобы выдать себя за вас, прочитать вашу личную информацию или опустошить ваш кошелёк.

***

## Соответствие LGPD / GDPR по умолчанию

Поскольку мы не храним никакого PII, большинство обязательств по LGPD/GDPR не применяются:

* **Никаких запросов субъектов данных** — нет личности, которую можно найти
* **Никаких уведомлений об утечке персональных данных** — payment\_hash не является персональными данными
* **Никакого согласия на cookies** — нет отслеживания, нет cookies
* **Право на удаление** — реализуется криптографически через LNURL-auth

Это не юридическая консультация. Но «мы не собираем это» — более сильная позиция, чем «мы собираем это и защищаем».

***

## Платежи Lightning по умолчанию приватны

Платежи Lightning не идентифицируют плательщика в блокчейне:

* Никакого имени, адреса, банковского счёта
* Маршрут платежа зашифрован по принципу луковой маршрутизации (как Tor)
* Только эмитент инвойса знает, что платёж был проведён
* Личность плательщика никогда не раскрывается получателю

Ваши конечные пользователи оплачивают ваш API анонимно. Вы знаете, что инвойс был оплачен. Этого достаточно для обеих сторон.

***

## Сравнение

|                      | l402-kit                         | Stripe           | LemonSqueezy     |
| -------------------- | -------------------------------- | ---------------- | ---------------- |
| Требуется email      | ❌                                | ✅                | ✅                |
| Требуется аккаунт    | ❌                                | ✅                | ✅                |
| KYC / идентификация  | ❌                                | ✅                | ✅                |
| Хранится PII         | ❌                                | ✅                | ✅                |
| Метод аутентификации | secp256k1 wallet                 | email + password | email + password |
| Механизм удаления    | криптографическое доказательство | запрос по email  | запрос по email  |
| Нагрузка LGPD/GDPR   | минимальная                      | высокая          | высокая          |
| Плательщик анонимен  | ✅                                | ❌                | ❌                |

***

## Что это означает для ваших пользователей

Если вы строите на l402-kit:

* Ваши пользователи никогда не передают вам свой email
* Утечка вашей базы данных не раскрывает никаких личных данных
* Любой AI-агент может оплатить ваш API без аккаунта и удостоверения личности
* Пользователи, желающие удалить свои данные, делают это самостоятельно, мгновенно, с помощью своего кошелька

Это платёжный уровень, которого заслуживает Bitcoin.
