Політика Zero Log
MirApi Gateway має вбудовану політику Zero Log, активну на кожному запиті за замовчуванням. Тіла запитів і відповідей обробляються повністю в пам’яті та ніколи не записуються в постійне сховище, на диск або в debug-потоки. Зберігаються лише метадані високого рівня.
Жодних конфігураційних заголовків не потрібно. Ця політика не може бути відключена.
Що логується
Section titled “Що логується”MirApi записує лише наступні поля метаданих для кожної транзакції:
| Поле | Опис | Приклад |
|---|---|---|
method | HTTP метод запиту | POST |
url | Цільовий upstream ендпоінт | https://api.stripe.com/v1/charges |
status_code | HTTP статус відповіді від upstream | 200 |
group_id | Ідентифікатор вашої групи | grp_5fa629... |
latency_ms | Загальний час обробки запиту | 142ms |
req_body_size | Розмір тіла запиту в байтах | 142 B |
resp_body_size | Розмір тіла відповіді в байтах | 385 B |
Ніколи не зберігається: вміст тіла запиту, вміст тіла відповіді, значення Authorization, значення X-Identity-Key, будь-які значення заголовків.
Як це працює
Section titled “Як це працює”Ваш Додаток → MirApi Gateway → Upstream API │ ├─ В пам'яті: PCI-скан, надійність, трансформація ├─ В пам'яті: обробка відповіді upstream │ ├─ Логується у буфер Redis (тільки метадані): │ method, url, status, latency, розміри тіл, group_id │ └─ Batch-flush до PostgreSQL кожні 10-30 секунд (тільки метадані, тіла ніколи не записуються)Записи логів буферизуються в Redis через LPUSH pending_logs та вивантажуються до PostgreSQL пакетами фоновим воркером. Це відокремлює логування від шляху запиту та запобігає перевантаженню бази при сплесках трафіку.
Приклад: що показують ваші логи
Section titled “Приклад: що показують ваші логи”curl -X POST https://proxy.mirapi.io/ \ -H "X-MirApi-Key: $MIRAPI_KEY" \ -H "X-Target-URL: https://api.stripe.com/v1/charges" \ -H "X-Identity-Key: Bearer sk_live_xxxx" \ -d '{"source": "tok_visa", "amount": 15000, "currency": "usd"}'Запис у дашборді:
method: POSTurl: https://api.stripe.com/v1/chargesstatus_code: 200group_id: grp_5fa629...latency_ms: 241req_body_size: 58 Bresp_body_size: 1204 BНіколи не зберігається: {"source": "tok_visa", "amount": 15000, "currency": "usd"}, Bearer sk_live_xxxx, або будь-який вміст відповіді.
Примітка щодо PCI-DSS
Section titled “Примітка щодо PCI-DSS”Якщо PCI-DSS guard виявляє сирий номер картки і блокує запит — журнал аудиту для цієї події також містить лише метадані:
| Поле | Опис |
|---|---|
client_ip | IP-адреса запитувача |
timestamp | Unix timestamp заблокованого запиту |
group_id | Ідентифікатор вашої групи |
Тіло заблокованого запиту ніколи не записується в жодне сховище — навіть тимчасово. Виявлення і блокування відбуваються повністю в пам’яті.
Чому така архітектура
Section titled “Чому така архітектура”MirApi обробляє платіжні дані, AI-промпти, банківські перекази та інші чутливі дані для тисяч клієнтів. Зберігання тіл запитів:
- Потребувало б повної PCI-DSS сертифікації для постійного сховища платіжних даних
- Створювало б ризик при порушенні безпеки логів (номери карток, PII, API ключі)
- Значно збільшувало б витрати на сховище для клієнтів з великим трафіком
Архітектура Zero Log усуває ці ризики за задумом — ніякі дані тіл ніколи не торкаються постійного сховища, що робить MirApi безпечним посередником навіть для найбільш чутливих інтеграцій.