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

# Audit trail и compliance

## Покрытие `audit_log`

Все значимые admin actions логируются вместе с `instance_id`, `actor_id`, `action`, `entity_type`, `entity_id`, JSONB со значениями до и после, `ip_address` и `created_at`.

Покрываются следующие финансовые действия:

* Генерация invoice, finalization и `void`
* Успешный и неуспешный сбор комиссий
* Создание settlement и фиксация оплаты
* Расчет rebate и его выплата
* Операции системного кошелька

## Неизменяемость `fee_ledger`

По дизайну это append-only структура:

* Финансовые суммы, то есть `fee_amount`, `gross_amount`, `net_amount`, **никогда не обновляются после insert**
* Изменяются только status fields
* Удалений нет

**Рекомендация**: дополнительно enforce это на уровне БД:

```text theme={null}
CREATE RULE no_delete_fee_ledger AS ON DELETE TO fee_ledger DO INSTEAD NOTHING;
```

Сейчас это enforced только на уровне приложения.

## Reconciliation

Автоматического reconciliation пока нет. Рекомендуемый nightly query:

```text theme={null}
SELECT
  fl.instance_id,
  DATE_TRUNC('month', fl.created_at) AS month,
  SUM(fl.fee_amount) FILTER (WHERE fl.collection_status = 'collected') AS total_collected,
  SUM(fl.fee_amount) FILTER (WHERE fl.collection_status = 'pending')   AS total_pending,
  SUM(fl.fee_amount) FILTER (WHERE fl.collection_status = 'failed')    AS total_failed,
  COUNT(*) AS total_entries
FROM fee_ledger fl
GROUP BY fl.instance_id, DATE_TRUNC('month', fl.created_at)
ORDER BY fl.instance_id, month DESC;
```

## Регуляторные аспекты

* **KYC**: требуется для fiat onramp через [Bridge.xyz](http://Bridge.xyz), используется Persona. Данные хранятся по каждому клиенту в `bridge_customers`.
* **Cross-border tax**: платформа не управляет локальными налоговыми обязательствами merchants. Agency-структура, см. §2.3, отделяет налоговую позицию issuer от позиции merchant.
* **Полная on-chain history**: все Solana tx signatures сохраняются в cheque- и fee-записях и могут быть проверены независимо.
* **Demo isolation**: `instances.settings.demo_mode = true` блокирует все реальные blockchain operations.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.