Ruang Lingkup, Prinsip, & Kerangka Acuan Keamanan
Dokumen Standar Keamanan ini mencakup aplikasi web frontend, antarmuka pemrograman aplikasi (API) backend, basis data relasional, serta alur integrasi pihak ketiga pada platform MoneFin. Kami merancang arsitektur keamanan berdasarkan tiga prinsip utama:
Hak Akses Minimum (Least Privilege): Setiap sesi pengguna, token API, dan komponen layanan hanya diberikan hak akses minimum yang diperlukan untuk menjalankan fungsinya.
Pertahanan Berlapis (Defense in Depth): Keamanan tidak bergantung pada satu lapisan tunggal, melainkan kombinasi perlindungan jaringan (TLS/HSTS), pembatasan laju permintaan (rate limiting), autentikasi token, validasi skema input, otorisasi kepemilikan data, dan transaksi database.
Aman Secara Bawaan (Secure by Default): Fitur opsional yang melibatkan pihak ketiga (seperti AI Assistant BYOK dan penyimpanan lampiran foto struk) berada dalam kondisi nonaktif secara bawaan hingga diaktifkan oleh pengguna.
Tabel di bawah ini merangkum status implementasi kontrol keamanan MoneFin saat ini (Aktif / Sebagian / Roadmap):
Kejujuran Teknis & Status Kerangka Panduan
MoneFin menggunakan OWASP Application Security Verification Standard (ASVS), NIST SP 800-63B, ISO/IEC 27002, dan ISO/IEC 29147 sebagai kerangka panduan rekayasa internal. Penyebutan standar tersebut merupakan acuan praktik terbaik yang kami ikuti, bukan klaim bahwa entitas MoneFin telah memegang sertifikasi audit pihak ketiga.
| Kontrol Keamanan | Deskripsi Singkat | Standar Acuan | Status |
|---|---|---|---|
| Validasi Kepemilikan Data (Otorisasi Tingkat Baris) | Setiap permintaan baca/tulis pada rekening, transaksi, anggaran, target tabungan, dan split bill divalidasi terhadap identitas pengguna yang terautentikasi serta diuji dengan pengujian otomatis. | OWASP API Security Top 10 (API1:2023 BOLA) & OWASP ASVS v4.0 | Aktif |
| Hashing Kata Sandi & Kebijakan Kredensial | Kata sandi minimal 8 karakter tanpa aturan komposisi paksa yang memperlemah entropi, di-hash satu arah menggunakan algoritma Bcrypt dengan salt unik per pengguna. | NIST SP 800-63B & OWASP ASVS V2 | Aktif |
| Token Sesi Kriptografis & Manajemen Sesi Perangkat | Token sesi berawalan 'mnf_' di-hash menggunakan SHA-256 di database. Pengguna dapat melihat daftar perangkat beserta alamat IP aktif dan mencabut sesi dari jarak jauh. | OWASP ASVS V3 (Session Management) | Aktif |
| Enkripsi Kunci API BYOK (At-Rest) | Kunci API penyedia AI milik pengguna dienkripsi sebelum disimpan ke database menggunakan AES-256-CBC (OpenSSL dengan autentikasi MAC) dan didekripsi hanya di memori saat pemanggilan. | ISO/IEC 27002 (Cryptography) & OWASP ASVS V6 | Aktif |
| Enkripsi Jalur Komunikasi (In-Transit) | Seluruh lalu lintas klien-ke-server menggunakan HTTPS (TLS 1.2+, dengan TLS 1.3 diprioritaskan) dan diperkuat header Strict-Transport-Security (HSTS). | RFC 8446 (TLS 1.3) & OWASP Transport Layer Protection | Aktif |
| Integritas Buku Kas (Transaksi ACID & Row Locking) | Mutasi saldo dibungkus dalam transaksi database ACID dengan penguncian baris pesimistis (SELECT ... FOR UPDATE) untuk mencegah anomali kondisi pacu (race condition). | ISO/IEC 27002 & Prinsip ACID Database | Aktif |
| Autentikasi Dua Faktor (2FA / MFA) | 2FA berbasis kode OTP 6 digit (CSPRNG random_int) melalui email telah tersedia. Dukungan aplikasi autentikator TOTP dan Passkeys/WebAuthn sedang dalam tahap pengembangan. | NIST SP 800-63B | Sebagian (Email OTP Aktif / TOTP Roadmap) |
| Audit Keamanan Pihak Ketiga Independen (Pentest Eksternal) | Saat ini pengujian dilakukan melalui pengujian otomatis internal, peninjauan kode, dan program pengungkapan kerentanan publik. Pengujian penetrasi pihak ketiga independen direncanakan pada fase berikutnya. | ISO/IEC 27001 & ISO/IEC 29147 | Roadmap |