Lewati ke konten

Keamanan & kepatuhan

  • Access token adalah JWT berumur pendek (15 menit) yang diverifikasi di gateway API; refresh token berlaku 30 hari saat idle dan maksimal 90 hari, dirotasi setiap kali digunakan, dan disimpan dalam cookie HttpOnly, Secure, SameSite. Penggunaan ulang refresh token yang sudah dirotasi mencabut seluruh rantai.
  • Kunci penandatanganan dirotasi setiap 90 hari dengan tumpang tindih; kunci publik diterbitkan di /.well-known/jwks.json.
  • Izin tidak disematkan dalam token: izin dibaca per permintaan, sehingga perubahan peran berlaku seketika, dan sesi apa pun dapat dicabut secara terpusat.
  • Autentikasi dua faktor (TOTP) dapat bersifat opsional, wajib untuk Owner dan Admin, atau wajib untuk semua orang. Single sign-on dengan Google Workspace dan Apple tersedia di setiap paket. SAML 2.0, passkey, dan provisioning SCIM direncanakan dan belum tersedia.
  • Kunci API ditampilkan sekali, disimpan sebagai hash SHA-256, diberi scope dari katalog tertutup, dibatasi oleh izin pemiliknya, dan dapat dicabut seketika. Lihat Autentikasi.
  • Login dibatasi lajunya per IP dan per email; sepuluh percobaan gagal mengunci akun selama 30 menit; percobaan gagal dari satu alamat IP dihitung dan dicatat, tetapi secara default alamat itu tidak diblokir. Setiap login, kegagalan, refresh, perubahan izin, dan tindakan admin masuk ke log audit.

Setiap baris di setiap layanan membawa akun pemiliknya, dan setiap kueri difilter berdasarkan akun tersebut secara otomatis; menonaktifkan filter memerlukan panggilan eksplisit yang ada di allowlist, hanya digunakan oleh operasi staf lintas tenant dan dicakup oleh tes. Peran per situs menambahkan filter situs di atasnya. Permintaan untuk resource milik akun lain menjawab 404, tidak pernah 403, sehingga ID tidak dapat dienumerasi. Setiap endpoint tulis menggunakan allowlist field yang ketat. Tes akses lintas akun wajib untuk setiap endpoint baru.

Header X-Account-Id pada setiap permintaan diperiksa terhadap token, sehingga bug di klien atau token yang diputar ulang tidak pernah dapat membaca tenant lain secara diam-diam.

TLS 1.2 atau lebih baru ke setiap endpoint publik, mutual TLS antarlayanan, TLS ke setiap penyimpanan data, volume terenkripsi saat disimpan, dan envelope encryption per akun untuk field sensitif. Sertifikat publik diterbitkan dan diperbarui otomatis; sertifikat internal berumur pendek.

Semua secret, termasuk kunci penyedia BYOK dan secret webhook Anda, disimpan di secrets manager khusus, terenkripsi, dibatasi per layanan, dan diaudit. Tidak ada yang disimpan di source control (ditegakkan dengan pemindaian sebelum setiap commit) atau di image container (diperiksa di CI). Developer secara default tidak memiliki akses ke secret produksi; akses darurat memerlukan dua persetujuan, berumur pendek, dan dicatat ke saluran yang tidak dapat dibisukan.

Pengiriman keluar ditandatangani dengan HMAC-SHA256 atas stempel waktu dan body mentah, membawa nonce dan ID event, ditolak di luar jendela lima menit, dan dicoba ulang dengan backoff hingga masuk antrean dead letter. Secret dirotasi dengan jendela tumpang tindih dan dapat dicabut seketika. Webhook penyedia yang masuk diverifikasi dengan skema masing-masing penyedia sebelum apa pun diproses. Detail: Webhook.

Empat lapisan: perlindungan DDoS dan bot di jaringan edge, batas per IP di reverse proxy, token bucket per akun dan per identitas di gateway API, serta batas domain di dalam layanan. Batasnya ada di ikhtisar API.

Setiap mutasi ditulis ke log audit append-only berantai hash dengan dua kelas retensi: event umum dan event kepatuhan (permintaan subjek data, pelanggaran, sub-pemroses, dan catatan KYC). Kelas ditetapkan saat entri ditulis; log tidak dapat diubah atau dihapus oleh siapa pun, dan pembersihan otomatis per kelas belum berjalan. Owner dan Admin dapat memfilter dan mengekspornya. Kata sandi, token, dan kunci tidak pernah dicatat; lapisan logging menyamarkan kunci yang diketahui sensitif.

  • Permintaan subjek data GDPR, UK GDPR, CCPA, dan LGPD (akses, ekspor, penghapusan) diterima dan dilacak di konsol kepatuhan beserta tenggat waktunya. Penghapusan dilakukan oleh staf RolChat, dan permintaan baru ditutup setelah mereka mengonfirmasinya; penghapusan otomatis di semua modul belum tersedia.
  • Lokasi data: data disimpan di UE. Wilayah tidak dipilih berdasarkan negara saat pendaftaran; pengaturan wilayah di pengaturan akun hanya dicatat dan belum memindahkan data.
  • Retensi menurut paket: 1, 2, atau 3 tahun. Menghapus percakapan atau kontak menyembunyikannya hingga akhir masa itu; menghapus akun berupa permintaan dengan 30 hari untuk membatalkan, setelah itu staf menghapus datanya; akun yang tidak dibayar disimpan 90 hari lalu dihapus. Pembersihan otomatis yang menjalankan batas waktu ini sedang diluncurkan.
  • Perjanjian Pemrosesan Data, daftar sub-pemroses, kebijakan privasi, dan kebijakan cookie dipublikasikan di rolchat.com; DPA disetujui saat pendaftaran.
  • Pemberitahuan pelanggaran dalam 72 jam sebagaimana diwajibkan Pasal 33 GDPR.

Dependensi dipantau terus-menerus; lock file di-commit; base image dikunci dengan digest; action CI dikunci dengan commit. Uji penetrasi pihak ketiga dijadwalkan setiap tahun sejak beta, mencakup API, widget, dan halaman publik, ditambah skenario internal assumed-breach. Program bug bounty privat menyusul saat ketersediaan umum. Laporkan masalah keamanan ke security@rolchat.com.

Platform berjalan di banyak node dengan failover otomatis untuk layanan stateless dan replikasi terkelola untuk basis data. Target uptime per paket tercantum dalam perjanjian Anda.

Runbook untuk setiap layanan, rotasi on-call, pager eksternal yang tetap berfungsi saat infrastruktur kami sendiri tidak, dan kewajiban pemberitahuan pelanggan yang terintegrasi dalam prosesnya.