Bukti zero-custody

Sebelas pemeriksaan sebelum tiap rilis

Setiap versi yang kami bangun harus melewati sebelas pemeriksaan otomatis sebelum ia boleh dirilis. Empat memeriksa kode kami; tujuh sisanya memeriksa apakah keempat pemeriksa itu benar-benar dapat melihat.

Catatan jalan uji

Repositori
trading-forex-v3
Berkas
tests/security/test_custody_guard.py
Perintah
pytest tests/security/test_custody_guard.py
Hasil
11 passed in 0.84s
Dijalankan
2026-07-27

Repositori yang diuji adalah repositori mesin sinyal, bukan situs ini. Di sanalah kode yang berjalan di dekat uang Anda tinggal, jadi di sanalah pemeriksaannya harus berdiri.

Empat yang memeriksa kode kami

Yang kami pastikan tidak ada

Tidak ada kode penampungan dana di seluruh sumber

Setiap berkas program dan berkas basis data dibaca. Yang dicari adalah nama yang hanya muncul pada kolam dana bersama, tingkat layanan terkelola, atau jalur eksekusi jarak jauh. Satu kemunculan saja menggagalkan rilis.

test_no_custody_symbols_in_source

Tidak ada akun basis data yang boleh membaca baris milik siapa pun

Basis data kami membatasi tiap akun hanya pada barisnya sendiri. Ada satu izin yang mencabut pembatasan itu sekaligus, dan pemeriksaan ini menolak rilis yang memuatnya. Larangan itu berlaku juga bila izinnya ditulis di berkas basis data, bukan di kode program.

test_no_bypassrls_in_app_code

Tidak ada kolom kredensial di tabel mana pun

Bukan hanya di tabel akun — setiap tabel yang pernah kami buat diperiksa. Kata sandi broker Anda tidak punya tempat untuk disimpan, dan ketiadaan tempat itu diperiksa ulang pada setiap versi.

test_no_credential_columns_in_any_table

Modul yang pernah dibuang tidak diam-diam kembali

Beberapa modul dihapus justru karena keberadaannya akan membuat kami menyentuh dana pelanggan. Pemeriksaan ini menengok tempat asal masing-masing dan menuntutnya tetap kosong, sehingga penghapusan itu tidak dapat dibatalkan tanpa seorang pun tahu.

test_no_dropped_scope_modules

Keempatnya membaca kode kami dan melaporkan apa yang mereka temukan. Yang belum dijawab: bagaimana Anda tahu mereka benar-benar dapat melihat.

Tujuh pemeriksaan atas alat ujinya sendiri

Sebuah pemeriksaan yang tidak pernah menangkap apa pun tidak dapat dibedakan dari pemeriksaan yang selalu menjawab bersih. Ketujuh uji ini menyuapkan kode yang sengaja dibuat melanggar kepada keempat pemeriksa di atas. Keempatnya wajib menangkap kode itu, dan wajib melepaskan bentuk yang aman.

Tujuh uji yang subjeknya adalah pemeriksa, bukan produk
Yang dipastikanUmpan yang disuapkanKenapa uji ini ada
Pemindai simbol menangkap yang terlarang dan melepaskan yang sah
test_symbol_scanner_is_non_vacuous
Satu konstanta terlarang, satu pemanggilan alat kendali jarak jauh, dan satu nama yang mirip tetapi tidak berbahaya.Sejak awal. Pemindai yang tidak pernah menangkap apa pun akan hijau selamanya, termasuk pada hari ia berhenti bekerja.
Huruf kapital dan penggabungan kata tidak menyembunyikan apa pun
test_symbol_scanner_case_insensitive_and_concept_stems
Nama terlarang yang sama, ditulis ulang sebagai konstanta huruf kapital dan sebagai nama kelas bergaya kapital-awal.Celah yang pernah nyata: pencocokan lama peka huruf besar-kecil, sehingga konstanta yang ditulis kapital lolos. Menulis konstanta dengan huruf kapital adalah konvensi wajar, bukan penyamaran.
Kredensial yang ditulis sebagai nama kelas ikut tertangkap
test_symbol_scanner_credential_pascalcase
Tiga nama kelas dan variabel yang menyebut kata sandi broker tanpa satu pun garis bawah.Celah yang pernah nyata: daftar konsep dulu hanya memuat modul yang dibuang, bukan kredensial. Kini daftarnya diturunkan otomatis dari daftar simbol, sehingga celah itu tidak dapat terbuka lagi diam-diam.
Kolom kredensial di tabel selain akun ikut tertangkap, dan penunjuk yang aman tidak salah tuduh
test_credential_column_scanner_all_tables_non_vacuous
Sebuah definisi tabel baru berisi kolom kata sandi. Di sebelahnya, sebuah tabel aman yang hanya memuat penunjuk berikut komentar yang menyebut kata sandi.Celah yang pernah nyata: pemeriksaan dulu hanya membaca satu tabel, sehingga kolom kredensial di tabel sebelahnya lolos.
Berkas basis data benar-benar ikut dipindai, bukan hanya berkas program
test_bypassrls_scanner_covers_sql
Pernyataan pemberian izin itu sendiri, ditulis dalam bentuk yang hanya muncul di berkas basis data.Sejak awal. Izin itu justru ditulis di berkas basis data. Pemindai yang melewatkan jenis berkas itu akan hijau tanpa pernah melihat tempat yang benar.
Bentuk yang berbahaya tertangkap, bentuk yang justru menolaknya tidak
test_bypassrls_regex_distinguishes_safe_form
Dua pernyataan yang hampir identik: satu memberikan izin itu, satu lagi justru menyatakannya tidak diberikan.Sejak awal. Pemeriksaan yang menuduh bentuk amannya akan berbunyi tiap hari tanpa sebab. Alarm yang berbunyi tanpa sebab akan dimatikan orang dalam sebulan.
Nama kolom yang memuat kata kredensial di dalamnya ikut tertangkap
test_accounts_password_checker_is_non_vacuous
Tiga nama kolom yang menyembunyikan kata kredensial di tengah atau di ujungnya, dan satu penunjuk aman yang tidak boleh ditandai.Celah yang pernah nyata: pencocokan lama menuntut kata utuh. Sebuah kolom yang menambahkan akhiran pada kata sandi karena itu lolos tanpa satu peringatan pun.

Batas dari pemeriksaan ini

Sebuah pengungkapan yang hanya menyebut kekuatannya belum mengungkapkan apa pun. Empat batas berikut kami nyatakan sendiri.

  • Ia memeriksa kode, bukan orang. Yang dibuktikan adalah bahwa perangkat lunaknya tidak punya jalur untuk menampung dana Anda. Ia tidak membuktikan bahwa tidak ada orang yang dapat bertindak curang di luar perangkat lunak itu.
  • Cakupannya repositori mesin sinyal. Situs yang sedang Anda baca dijaga gerbangnya sendiri, dan keduanya tidak saling menggantikan.
  • Ia berjalan pada setiap versi yang kami bangun, dan itu memang syaratnya. Pemeriksaan yang dijalankan sekali di awal lalu ditinggalkan hanya membuktikan keadaan pada hari itu.
  • Ia bukan pengganti komitmen tertulis. Yang mengikat kami secara hukum adalah Bab 8 Syarat dan Ketentuan; pemeriksaan ini yang membuat pelanggarannya sulit dilakukan tanpa ketahuan.

Baca Bab 8 selengkapnya

Pembelian dilayani langsung oleh tim kami

Pembayaran daring sedang disiapkan. Sementara itu prosesnya sederhana: sebutkan paket pilihan Anda ke layanan pelanggan, dan berkas beserta panduan pemasangannya kami kirim paling lambat 1 hari kerja.

Aset kripto belum kami tawarkan

Perangkat lunak kami saat ini melayani valuta asing dan saham. Layanan aset kripto belum tersedia bagi pengguna di Indonesia, dan kami tidak menawarkannya sampai posisi perizinannya jelas. Alasan lengkapnya ada di pertanyaan yang sering diajukan.