Keamanan & Privasi
Cara API key, session, dan kredensial upstream dilindungi, serta bagaimana data request dan penggunaan Anda ditangani.
zrouter dibangun agar uang, kredensial, dan data Anda terlindungi sejak perancangan. Halaman ini merangkum kontrol yang relevan bagi Anda sebagai pelanggan.
Keamanan API key#
Key Anda berformat zr_<public-id>_<secret> dan disimpan hanya sebagai hash SHA-256. Secret dalam bentuk plaintext tidak pernah disimpan setelah pembuatan, yang berarti staf zrouter tidak dapat membaca key Anda. Karena itu, secret hanya ditampilkan sekali (reveal-once) saat dibuat — jika hilang, satu-satunya pemulihan adalah membuat key baru. Pencabutan bersifat instan dan langsung berlaku di mana pun.
Key dibandingkan dengan perbandingan constant-time untuk mencegah timing attack, dan akun yang diblokir menerima 401 invalid_api_key yang sama seperti key yang salah, sehingga responsnya tidak membocorkan status akun.
Login dan session#
Login pelanggan memakai Google OAuth yang terverifikasi dan menerbitkan cookie session httpOnly dengan SameSite — token session itu sendiri tidak pernah diekspos ke JavaScript sisi klien. Kredensial penyedia upstream dienkripsi saat disimpan (AES-256-GCM) dan didekripsi hanya sekali saat startup secara fail-closed; kredensial tidak pernah muncul di log, error, atau respons.
Penanganan data#
Konten prompt dan respons sukses Anda diteruskan ke model upstream untuk diproses dan tidak pernah disimpan atau di-log oleh zrouter; yang dicatat hanya metadata penggunaan — model, jumlah token input dan output, biaya, timestamp, dan sumber dana — yang diperlukan untuk billing dan dukungan.
Diagnostik respons gagal yang dibatasi (kontrak privasi 2026-10-01). Saat sebuah request gagal, zrouter boleh menyimpan representasi UTF-8 yang di-redaksi secret dan dibatasi ukurannya (maksimal 1 MiB) dari body error upstream yang gagal atau event error SSE eksplisit selama maksimal 7 hari. Representasi ini boleh memuat konten customer yang ter-echo di dalam error tersebut. Prompt request mentah, body respons sukses, output stream lengkap, serta hash atau fingerprint konten tidak pernah disimpan, dan secret di-redaksi sebelum representasi mencapai penyimpanan, log, atau keluaran tool mana pun.
Ledger keuangan dan event audit disimpan permanen karena dibutuhkan untuk rekonsiliasi. Metadata penggunaan detail disimpan selama 90 hari, sementara Metadata event diagnostik disimpan selama 30 hari dan payload-nya maksimal 7 hari. Sistem diagnostik ini best-effort dan dibatasi: kehilangan (loss) mungkin terjadi dan terukur. Akses dibatasi untuk owner dan agen AI yang secara eksplisit diotorisasi melalui tool query read-only privat di host. Setiap backup hasil restore di-purge dari baris diagnostik kedaluwarsa sebelum di-query, dan salinan residual mungkin tetap ada di dalam backup yang ada hingga backup tersebut kedaluwarsa sesuai kebijakan retensi backup yang tidak berubah — zrouter tidak mengklaim bahwa payload dihapus permanen dari salinan backup.
Integritas jaringan dan billing#
- Allowlist origin CORS eksak. Request lintas-origin dibatasi ke daftar origin eksplisit — tidak pernah wildcard.
- Uang integer. Semua nominal moneter adalah integer micro-USD, sehingga billing tidak bisa meleset karena pembulatan floating-point.
- Rate-limit endpoint sensitif. Endpoint auth, checkout, dan endpoint sensitif lainnya dibatasi untuk meredam penyalahgunaan.
Praktik terbaik di sisi Anda#
- Jangan pernah commit key ke source control atau isu publik — perlakukan seperti kata sandi.
- Jauhkan key dari kode dengan membacanya dari environment variable atau secret manager.
- Rotasi dengan mencabut lalu membuat ulang. Tidak ada edit di tempat; pencabutan plus key baru adalah jalur yang didukung.
- Gunakan HTTPS di mana pun. Jangan pernah mengirim key lewat HTTP biasa.