> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Pustaka Aturan KYT: 150+ Skenario Siap Pakai

> 150+ aturan KYT siap pakai dari Didit untuk structuring, velocity, layering, sanksi, dan fraud iGaming. 1,000 per bulan, lalu $0.001 per panggilan.

Didit menyediakan pustaka terkurasi yang berisi **lebih dari 150 preset aturan pemantauan transaksi** yang dapat Anda pasang satu per satu atau per bundel. Setiap aturan dipetakan ke tipologi AML, penipuan, atau kepatuhan di dunia nyata yang bersumber dari standar dan panduan regulasi global, seperti rekomendasi FATF, advisori FinCEN, aturan NACHA, prinsip Wolfsberg, tipologi Egmont Group, dan pola penyalahgunaan iGaming.

Pilih preset atau bundel yang Anda butuhkan, lalu atur mode setiap aturan yang terpasang (`ACTIVE`, `TEST`, atau `DISABLED`). Kondisi, ambang batas, dan tindakan preset bersifat tetap. Jika Anda memerlukan logika yang berbeda, buat aturan kustom. Hapus preset untuk menghapusnya dari aplikasi, dan pasang ulang nanti jika diperlukan.

> [!NOTE]
>
> Aturan pustaka dapat dilihat, dipasang, dan dihapus dari *Transactions -> Rules -> Library* di Business Console, melalui [API pustaka aturan](https://docs.didit.me/id/management-api/transactions/rules-library.md) (`GET /v3/transactions/rules/library/`, `POST`/`DELETE /v3/transactions/rules/install/`), atau melalui [alat MCP](https://docs.didit.me/id/integration/mcp/tools.md) `didit_transaction_rule_library_list` / `didit_transaction_rule_install` / `didit_transaction_rule_uninstall`. Preset yang terpasang hanya menerima perubahan `mode` (mengaktifkan, menonaktifkan, atau menguji). Ambang batasnya bersifat tetap. Untuk mengubahnya, buat [aturan kustom](https://docs.didit.me/id/transaction-monitoring/rules.md#membuat-aturan-kustom). Untuk mengetahui cara aturan berkontribusi pada penilaian, lihat [penilaian risiko](https://docs.didit.me/id/transaction-monitoring/risk-scoring.md).

> [!NOTE]
>
> Aturan pustaka yang kondisinya menggunakan data yang belum dapat dievaluasi oleh mesin aturan **ditahan** hingga dapat dijalankan. Pustaka tidak mencantumkannya. Permintaan yang menyebutnya di `library_keys` mengembalikan respons `400` dan tidak memasang apa pun (kunci yang tidak dikenal dilewati). Instalasi `bundle` juga melewatinya. Salinan yang sudah Anda pasang sebelumnya dimatikan (`DISABLED`) dan tetap berada di daftar aturan Anda. Mengatur `mode`-nya ke nilai lain mengembalikan respons `400`. Aturan yang ditahan akan kembali dengan sendirinya setelah mesin aturan dapat mengevaluasi kondisinya, sehingga daftar pustaka selalu menampilkan aturan yang dapat Anda pasang saat ini.

## Cara preset diatur

Setiap preset termasuk dalam satu **bundel** (keluarga fungsionalnya) dan satu **kategori** (tema risiko yang lebih luas). Bundel memungkinkan Anda mengaktifkan atau menonaktifkan aturan yang terkait secara bersamaan dari konsol. Kategori digunakan untuk penilaian dan pelaporan.

| Bundel | Cakupannya |
| - | - |
| `finance` | Pemecahan transaksi, transaksi besar, volume kumulatif, sebaran negara, layering, mule fan-in, smurfing |
| `aml_ctf` | Sanksi, referensi pembayaran yang mencurigakan, layering nominal bulat, keluar-masuk cepat |
| `aml_monitoring` | Paparan sumber dana berisiko tinggi yang diturunkan dari blockchain, pendanaan terorisme, eksploitasi anak |
| `anomaly_detection` | Kecepatan tinggi, reaktivasi dorman, aktivitas di luar jam kerja |
| `fatf` | Paparan yurisdiksi berisiko tinggi |
| `device_intelligence` | Penggunaan ulang sidik jari perangkat, akun dengan banyak sidik jari, anomali IP/browser, VPN/proxy, perjalanan yang mustahil |
| `fraud_prevention_multi_accounting` | Sidik jari yang dibagikan antar subjek yang berbeda |
| `fraud_prevention_app` | Sinyal pembayaran push yang diotorisasi / penerima pembayaran pertama kali / korban penipuan |
| `fraud_prevention_ato` | Sinyal gabungan pengambilalihan akun (perubahan PII, metode pembayaran baru) |
| `fraud_prevention_consortium` | Pihak lawan yang ditandai oleh institusi lain dalam jaringan bersama |
| `crypto_monitoring` | Paparan dompet mixer/darknet/yang disanksi, chain hopping, dompet nonkustodian, celah VASP |
| `travel_rule` | Kewajiban Travel Rule global dan regional (12 rezim) serta uji tuntas VASP pihak lawan |
| `travel_rule_eu_tfr` | Pemeriksaan EU TFR: ketidaksesuaian data pihak lawan, kepemilikan dompet yang belum diverifikasi, VASP pihak lawan yang tidak teridentifikasi, konfirmasi yang kedaluwarsa |
| `responsible_gaming` | Batas setor dan tarik untuk bermain aman, pengecualian diri, bermain di luar jam kerja |
| `igaming_fraud` | Penyalahgunaan bonus khusus event, taruhan berlawanan, penipuan afiliasi, chat rain farming, chip dumping, pengambilalihan akun |
| `e_commerce` | Pengujian kartu dengan mikrotransaksi, indikator chargeback, ketidaksesuaian negara penagihan, lonjakan afiliasi |
| `check_fraud` | Cek di luar rentang / nomor hilang / cek yang disajikan dua kali / daftar pantau dark web / cek yang dicuci, kiting |
| `bnpl` | Penipuan pihak pertama karena gagal membayar cicilan, identifier bersama di akun BNPL, cicilan dari akun baru |

## Cara membaca halaman ini

Setiap aturan mencantumkan `library_key`-nya (pengenal tetap yang dapat Anda rujuk di API atau URL konsol), kondisi dan agregasi yang memicu aturan, serta tindakan default yang dilakukannya. Ambang numerik yang ditampilkan di sini adalah nilai default bawaan. Setiap nilai dapat diubah per aplikasi tanpa kehilangan identitas aturan.

***

## Paket Finance

Aturan-aturan ini berlaku untuk setiap transaksi dengan `transaction_type = FINANCE`. Aturan ini memodelkan dasar regulasi (ambang batas pelaporan BSA/FinCEN, heuristik kecepatan FATF) serta pola money mule dan smurfing.

### Structuring & mendekati ambang batas

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `structuring-inbound` | ≥20 transfer masuk di bawah \$10,000 oleh subjek yang sama dalam 30 hari | +35 skor |
| `structuring-outbound` | ≥20 transfer keluar di bawah \$10,000 oleh subjek yang sama dalam 30 hari | +35 skor |
| `single-transaction-just-below-threshold` | Satu transaksi antara $9,000 dan $9,999 | +25 skor |
| `round-amount-layering` | Jumlah transfer sama dengan nilai bulat yang mencurigakan ($10k, $25k, $50k, $100k, $250k, $500k, \$1M…) | +20 skor |

### Volume & kecepatan

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `large-single-transaction` | Satu transaksi ≥ \$25,000 | +50 skor, `IN_REVIEW` |
| `cumulative-outbound-volume` | Volume keluar ≥ \$100,000 dalam 30 hari | +45 skor, `IN_REVIEW` |
| `cumulative-inbound-volume-90d` | Volume masuk ≥ \$200,000 dalam 90 hari | +30 skor, `IN_REVIEW` |
| `cumulative-outbound-volume-7d` | Volume keluar ≥ \$50,000 dalam 7 hari | +30 skor, `IN_REVIEW` |
| `business-4h-inbound-volume` | Volume masuk bisnis ≥ \$30,000 dalam jendela 4 jam mana pun | +30 skor, `IN_REVIEW` |
| `business-4h-outbound-volume` | Volume keluar bisnis ≥ \$30,000 dalam jendela 4 jam mana pun | +30 skor, `IN_REVIEW` |
| `high-velocity-inbound` | ≥20 transaksi masuk dalam 7 hari | +25 skor |
| `high-velocity-outbound` | ≥20 transaksi keluar dalam 7 hari | +25 skor |

### Layering, mule & smurfing

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `rapid-in-and-out-movement` | Transaksi keluar didahului transaksi masuk dalam 6 jam | +60 skor, `IN_REVIEW` |
| `cash-deposit-followed-by-withdrawal` | Setoran tunai ≥ \$50,000 dalam 72 jam diikuti penarikan tunai | +30 skor, `IN_REVIEW` |
| `money-mule-fan-in-to-counterparty` | Sebuah pihak lawan menerima transfer dari ≥5 subjek berbeda dalam 7 hari | +30 skor, `IN_REVIEW` |
| `rapid-repeated-payments-same-counterparty` | ≥5 transfer keluar ke pihak lawan yang sama dalam 24 jam | +30 skor, `IN_REVIEW` |
| `cross-border-small-amount-velocity` | Subjek mengirim jumlah di bawah \$1,000 ke ≥4 negara pihak lawan yang berbeda dalam 24 jam | +30 skor, `IN_REVIEW` |
| `high-risk-jurisdiction-smurfing` | ≥5 transfer keluar di bawah \$1,000 ke negara berisiko tinggi yang sama dalam 7 hari | +30 skor, `IN_REVIEW` |
| `many-unique-counterparties-24h` | Subjek bertransaksi dengan ≥6 pihak lawan berbeda dalam 24 jam | +30 skor, `IN_REVIEW` |
| `many-unique-payment-methods-7d` | Subjek berganti-ganti di antara ≥4 metode pembayaran berbeda dalam 7 hari | +30 skor, `IN_REVIEW` |
| `counterparty-country-spread-24h` | Subjek bertransaksi dengan ≥4 negara pihak lawan berbeda dalam 24 jam | +30 skor, `IN_REVIEW` |

### Anomali perilaku

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `dormant-account-reactivation` | Transaksi pertama ≥ \$1,000 setelah ≥365 hari tidak aktif | +20 skor |
| `off-hours-high-value-finance` | Transfer bernilai tinggi (≥ \$5,000) yang ditandai sebagai di luar jam kerja berdasarkan lokalitas subjek | +25 skor |

***

## Paket AML / CTF

Aturan-aturan ini memodelkan tipologi AML/CTF klasik yang tidak bergantung pada pengayaan blockchain. Aturan ini berlaku secara universal untuk transfer fiat maupun kripto.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `sanctions-counterparty` | Dompet yang diskrining sendiri dikaitkan dengan entitas yang terkena sanksi (`wallet_sanctioned`). Paparan saja tidak memicu aturan ini | +90 skor, `DECLINED` |
| `sanctions-exposure-review` | Dompet yang diskrining mengirim dana ke atau menerima dana dari entitas yang terkena sanksi tanpa dirinya sendiri terkena sanksi | +50 skor, `IN_REVIEW` |
| `suspicious-payment-reference` | Referensi pembayaran berisi kata kunci yang terkait dengan hasil kejahatan | +45 skor, `IN_REVIEW` |
| `high-risk-jurisdiction-exposure` | Negara pihak lawan atau negara asal alamat IP subjek ada dalam daftar berisiko tinggi | +40 skor, `IN_REVIEW` |
| `high-risk-inbound-single` | Transaksi masuk ≥ \$20,000 dari negara berisiko tinggi | +30 skor, `IN_REVIEW` |
| `high-risk-outbound-single` | Transaksi keluar ≥ \$20,000 ke negara berisiko tinggi | +30 skor, `IN_REVIEW` |

Daftar yurisdiksi berisiko tinggi bawaan mencakup wilayah yang masuk dalam daftar tindakan FATF dan wilayah konflik: `IRN`, `PRK`, `SYR`, `AFG`, `RUS`, `MMR`. Anda dapat mengganti daftar ini per aplikasi.

> [!NOTE]
>
> **Cakupan PEP untuk pihak lawan saat ini tidak tersedia.** Tidak ada penyedia skrining yang terhubung yang melaporkan apakah pihak lawan adalah Politically Exposed Person (PEP): kolom `pep_counterparty` bernilai `null` pada setiap hasil skrining saat ini (lihat [skrining dompet](https://docs.didit.me/id/transaction-monitoring/wallet-screening.md#respons)), sehingga pustaka ini tidak memiliki preset PEP untuk pihak lawan. Aturan yang dipasang sebelum preset tersebut dihapus tetap dievaluasi, tetapi tidak dapat mencocokkan hasil skrining yang sebenarnya. Hapus aturan tersebut atau ganti dengan aturan kustom jika Anda perlu menindaklanjuti sinyal lain.

***

## Paket skrining kripto

Aturan-aturan ini menggunakan data yang diperkaya dari skrining kripto Didit. Aturan ini paling berguna untuk aplikasi kripto-native dan VASP.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `aml-high-risk-source-exposure` | ≥30% dari sumber dana berasal dari kategori yang terkena sanksi, darknet, dicuri, ransomware, atau penipuan | +70 skor, `IN_REVIEW` |
| `aml-multiple-risky-counterparties` | ≥3 koneksi ke entitas berisiko tinggi dalam graf sumber dana | +50 skor, `IN_REVIEW` |
| `aml-terrorist-financing-exposure` | Paparan pendanaan terorisme apa pun pada dompet | +100 skor, `DECLINED` |
| `aml-child-exploitation-exposure` | Paparan materi eksploitasi anak apa pun pada dompet | +100 skor, `DECLINED` |
| `aml-wallet-risk-score-medium` | Skor risiko dompet dari penyedia antara 40 dan 70 | +30 skor |

***

## Bundel pemantauan kripto

Aturan paparan pada tingkat dompet, serta pemeriksaan integritas yang berkaitan dengan VASP dan Travel Rule.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `crypto-mixer-exposure` | Dompet terhubung ke mixer atau layanan penyamaran | skor +80, `IN_REVIEW` |
| `crypto-darknet_market-exposure` | Paparan dompet pasar darknet | skor +80, `IN_REVIEW` |
| `crypto-sanctioned-exposure` | Paparan dompet yang terkena sanksi | skor +90, `IN_REVIEW` |
| `crypto-stolen_funds-exposure` | Paparan dompet dana curian | skor +85, `IN_REVIEW` |
| `crypto-scam-exposure` | Paparan dompet penipuan | skor +70, `IN_REVIEW` |
| `crypto-ransomware-exposure` | Paparan dompet ransomware | skor +90, `IN_REVIEW` |
| `crypto-hacked_exchange-exposure` | Paparan dompet bursa yang diretas | skor +80, `IN_REVIEW` |
| `crypto-gambling_unlicensed-exposure` | Paparan dompet perjudian tidak berlisensi | skor +60, `IN_REVIEW` |
| `high-risk-wallet-exposure` | Risiko dompet berupa pasar darknet, terkena sanksi, atau dana curian | skor +70, `IN_REVIEW` |
| `crypto-wallet-risk-score-critical` | Skor risiko dompet dari penyedia ≥ 90 | skor +90, `IN_REVIEW` |
| `crypto-wallet-risk-score-high` | Skor risiko dompet dari penyedia ≥ 70 | skor +60, `IN_REVIEW` |
| `crypto-unhosted-wallet-large-outbound` | Transfer keluar ≥ \$1,000 ke dompet swakelola | skor +45, `IN_REVIEW` |
| `crypto-repeated-unhosted-wallet-withdrawals` | ≥5 transfer keluar ke dompet swakelola dalam 24 jam | skor +35, `IN_REVIEW` |
| `crypto-many-new-wallets-per-subject` | Subjek mengirim ke ≥5 dompet berbeda dalam 24 jam | skor +40, `IN_REVIEW` |
| `crypto-chain-hopping-pattern` | Subjek yang sama memindahkan dana di ≥3 blockchain dalam 24 jam | skor +45, `IN_REVIEW` |
| `crypto-missing-vasp-id-high-value` | Transfer dompet terhosting ≥ \$1,000 tanpa ID VASP | skor +30, `IN_REVIEW` |

***

## Bundel Travel Rule

Aturan Travel Rule hanya berlaku untuk transaksi `travelRule`.
Setiap rezim regional menyediakan empat aturan (menunggu pihak lawan, menunggu tindakan, data wajib yang belum lengkap, dan pertukaran gagal).

### Travel Rule global

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `travel-rule-pending-counterparty` | Status adalah `AWAITING_COUNTERPARTY` (menunggu VASP pihak lawan) | skor +35, `IN_REVIEW` |
| `travel-rule-pending-action` | Status adalah `ON_HOLD` (di bursa terkelola, transfer masuk yang menunggu Anda selesaikan: tidak ada kecocokan dengan buku alamat dompet, atau permintaan yang menunggu persetujuan manual) | skor +35, `AWAITING_USER` |
| `travel-rule-missing-required-data` | `travel_rule_required` bernilai `true` dan `travel_rule_obligations_count` lebih besar dari `0`; hanya data Travel Rule yang Anda catat sendiri di `travel_rule_details` yang memiliki jumlah kewajiban, sehingga aturan ini tidak pernah terpicu pada transfer yang dijalankan bursa terkelola | skor +50, `IN_REVIEW` |

### Rezim regional

Templat empat aturan yang sama diterapkan untuk setiap rezim. Ganti `<regime>` di bawah dengan salah satu dari: `australia`, `dubai`, `eu`, `hong_kong`, `india`, `indonesia`, `japan`, `kazakhstan`, `singapore`, `south_africa`, `turkey`, `uk`.

Penandaan rezim berjalan otomatis: Didit menandai `custom_values.travel_rule_regime` pada setiap transaksi Travel Rule dari `jurisdiction` di [pengaturan Travel Rule](https://docs.didit.me/id/transaction-monitoring/travel-rule.md#pengaturan) Anda: `SG` → `singapore`, `GB` → `uk`, dan kode anggota UE atau EEA apa pun, seperti `DE` atau `FR`, → `eu`. Kode yang tidak memiliki bundel regional akan ditandai dalam huruf kecil (`US` → `us`), sehingga aturan kustom tetap dapat menargetkannya. Nilai `props.travel_rule_regime` yang dikirim pada transaksi selalu menimpa rezim yang diturunkan.

| Templat `library_key` | Pemicu |
| - | - |
| `travel-rule-<regime>-pending-counterparty` | Transfer yang diberi tag rezim, menunggu VASP pihak lawan |
| `travel-rule-<regime>-pending-action` | Transfer yang diberi tag rezim berstatus `ON_HOLD` |
| `travel-rule-<regime>-missing-required-data` | Transfer yang diberi tag rezim diwajibkan tetapi belum terselesaikan |
| `travel-rule-<regime>-failed-exchange` | Transfer yang diberi tag rezim berstatus `CANCELLED` |

Itu berarti 48 aturan khusus wilayah, di samping tiga aturan Travel Rule global dan lima aturan pihak lawan di bawah.
Bundel `travel_rule_eu_tfr` terpisah menambahkan empat aturan EU TFR, yang dijelaskan di [bundel aturan EU TFR](https://docs.didit.me/id/transaction-monitoring/travel-rule.md#paket-aturan-eu-tfr).

### Uji tuntas pihak lawan

Aturan ini membaca informasi yang diketahui aplikasi Anda tentang VASP pihak lawan yang dihubungi bursa: keputusan Anda sendiri terhadapnya, tingkat risiko uji tuntasnya, negaranya, dan responsivitasnya.
Lihat [uji tuntas pihak lawan](https://docs.didit.me/id/transaction-monitoring/travel-rule.md#uji-tuntas-pihak-lawan) untuk mengetahui sumber setiap nilai.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `travel-rule-counterparty-blocked` | Keputusan Anda terhadap pihak lawan (`counterparty_dd_status`) adalah `BLOCKED` | skor +90, `DECLINED` |
| `travel-rule-counterparty-restricted` | Keputusan Anda terhadap pihak lawan adalah `RESTRICTED` | skor +50, `IN_REVIEW` |
| `travel-rule-counterparty-high-risk` | Tingkat risiko pihak lawan (`counterparty_risk_level`) adalah `HIGH`: skor uji tuntas di bawah 40, atau skrining pihak lawan terbaru Anda sendiri menemukan kemungkinan kecocokan sanksi atau media negatif | skor +40, `IN_REVIEW` |
| `travel-rule-counterparty-high-risk-jurisdiction` | Pihak lawan berdomisili di negara yang ada dalam daftar risiko tinggi default (`IRN`, `PRK`, `SYR`, `AFG`, `RUS`, `MMR`) | skor +60, `IN_REVIEW` |
| `travel-rule-counterparty-unresponsive` | Pihak lawan menjawab kurang dari 10 persen permintaan Travel Rule yang dikirim pelanggan Didit kepadanya dalam 90 hari terakhir, dengan setidaknya 5 di antaranya sudah diputuskan | skor +30, `IN_REVIEW` |

***

## Intelijen perangkat & pencegahan penipuan

Aturan ini mengubah sinyal dari SDK sisi klien (sidik jari perangkat, IP, peramban, usia sesi) dan pengayaan dari penyedia menjadi peristiwa deteksi penipuan.

### Sidik jari perangkat & multi-akun

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `multi-accounting-shared-fingerprint` | Satu sidik jari perangkat digunakan ulang oleh ≥3 subjek berbeda dalam 7 hari | +50 skor, `IN_REVIEW` |
| `multiple-device-fingerprints-for-same-subject` | Satu subjek muncul pada ≥3 sidik jari berbeda dalam 24 jam | +20 skor |
| `same-fingerprint-transaction-burst` | ≥6 transaksi dari satu sidik jari dalam 24 jam | +30 skor |
| `same-ip-multi-accounting` | Satu IP digunakan bersama oleh ≥3 subjek berbeda dalam 7 hari | +30 skor |
| `same-ip-transaction-burst` | ≥6 transaksi dari satu IP dalam 24 jam | +30 skor |
| `same-fingerprint-multiple-payment-methods` | Satu sidik jari berganti-ganti di antara ≥4 metode pembayaran dalam 7 hari | +30 skor |
| `shared-payment-method-across-subjects` | Satu metode pembayaran digunakan ulang oleh ≥3 subjek berbeda dalam 7 hari | +30 skor |
| `many-ip-addresses-per-subject` | Subjek menggunakan ≥4 IP berbeda dalam 24 jam | +30 skor |
| `new-browser-and-new-ip-combination` | Subjek menunjukkan ≥3 peramban berbeda DAN ≥3 IP berbeda dalam 24 jam | +30 skor |

### IP, jaringan & VPN

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `vpn-or-proxy-high-value` | VPN atau proxy terdeteksi pada transfer ≥ \$5,000 | +30 skor |
| `impossible-travel-between-transactions` | Subjek bertransaksi dari ≥2 negara berbeda berdasarkan alamat IP dalam 1 jam | +30 skor |

### Komposit perilaku

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `browser-spoofing-password-reuse` | Spoofing peramban terdeteksi DAN ≥2 transaksi yang menggunakan ulang hash kata sandi yang sama dalam 30 menit | +30 skor |
| `remote-access-high-value-transfer` | Alat akses jarak jauh terdeteksi pada transfer ≥ \$5,000 | +30 skor |
| `low-session-age-high-value-transfer` | Transfer ≥ \$5,000 dalam 30 detik setelah sesi dimulai | +30 skor |
| `synthetic-identity-fresh-account-high-value` | Akun yang dibuka dalam 7 hari terakhir bertransaksi ≥ \$1,000 | +30 skor |

### Pengambilalihan akun & penipuan APP

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `recent-pii-change-and-transaction` | Transfer ≥ \$1,000 dalam periode setelah perubahan PII terbaru | +45 skor, `IN_REVIEW` |
| `new-payment-method-high-value` | Transfer ≥ \$5,000 menggunakan metode pembayaran yang ditambahkan dalam 7 hari terakhir | +30 skor |
| `first-time-payee-high-value` | Transfer keluar ≥ \$5,000 ke pihak lawan yang belum pernah dibayar oleh subjek sebelumnya | +40 skor, `IN_REVIEW` |
| `consortium-flagged-counterparty` | Transfer ≥ \$500 yang pihak lawannya dilaporkan oleh institusi lain | +60 skor, `IN_REVIEW` |

### Penyalahgunaan afiliasi & bonus

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `repeated-bonus-campaign-from-same-fingerprint` | ≥6 transaksi pada kampanye + sidik jari yang sama dalam 2 jam | +35 skor |
| `shared-fingerprint-across-bonus-campaigns` | Satu sidik jari mengklaim ≥3 kampanye berbeda dalam 7 hari | +30 skor |
| `affiliate-fraud-repeated-fingerprint` | ≥5 transaksi pada afiliasi + sidik jari yang sama dalam 2 jam | +30 skor |

***

## Paket perjudian yang bertanggung jawab

Untuk aplikasi iGaming. Aturan ini dirancang untuk mendeteksi sinyal perlindungan pemain sekaligus pola penyalahgunaan bonus.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `responsible-gaming-rapid-deposits` | ≥10 transaksi masuk dengan tindakan yang sama dalam 24 jam | +20 skor |
| `responsible-gaming-rapid-withdrawals` | ≥8 transaksi keluar dengan tindakan yang sama dalam 24 jam | +20 skor |
| `responsible-gaming-cumulative-deposits-7d` | Volume masuk ≥ \$5,000 dalam 7 hari | +20 skor |
| `responsible-gaming-cumulative-withdrawals-7d` | Volume keluar ≥ \$5,000 dalam 7 hari | +20 skor |
| `responsible-gaming-self-excluded-activity` | Transaksi apa pun dari akun yang mengecualikan dirinya sendiri | +20 skor |
| `responsible-gaming-loss-limit-hit` | Aktivitas berlanjut setelah sinyal batas kerugian | +20 skor |
| `responsible-gaming-bonus-hunting` | ≥4 transaksi dengan kampanye + sidik jari yang sama dalam 24 jam | +20 skor |
| `responsible-gaming-multiple-payment-methods` | ≥4 metode pembayaran berbeda dalam 7 hari | +20 skor |
| `responsible-gaming-off-hours-high-value` | Aktivitas permainan bertanda di luar jam sebesar ≥ \$1,000 | +20 skor |
| `responsible-gaming-failed-withdrawals` | ≥3 percobaan penarikan gagal | +20 skor |
| `responsible-gaming-many-counterparties` | ≥5 pihak lawan berbeda dalam 24 jam | +20 skor |

***

## Paket penipuan iGaming

Untuk operator yang mengirim event pemantauan sekaligus pergerakan uang. Aturan-aturan ini menggunakan `scope.record_types = ["event"]`, sehingga pelanggan khusus transaksi tidak melihat perubahan perilaku. Jika ada fallback khusus transaksi, pasang aturan fallback yang disebutkan bersama aturan event sampai integrasi Anda mengirim kategori event tersebut.

| `library_key` | Pemicu | Tindakan default | Fallback khusus transaksi |
| - | - | - | - |
| `igaming-account-takeover-drain` | 3+ login gagal, lalu perubahan MFA, lalu perubahan alamat penarikan, lalu permintaan penarikan - secara berurutan, dalam 24 jam | skor +90, `DECLINED` | `recent-pii-change-and-transaction`, `new-payment-method-high-value` |
| `igaming-minimal-play-laundering` | Permintaan penarikan ≥ \$1,000 ketika total taruhan akun ≤ 5% dari setoran yang selesai dalam 24 jam sebelumnya | skor +60, `IN_REVIEW` | `rapid-in-and-out-movement` |
| `igaming-chargeback-deposit-ratio` | Chargeback yang dibuka mencapai minimal 50% dari setoran yang selesai dalam 30 hari | skor +80, `DECLINED` | `ecommerce-chargeback-indicator` |
| `igaming-chip-dumping-pair-net-winner` | Pasangan P2P yang sama menyelesaikan minimal 2 hand, round, atau match yang berbeda dalam 7 hari **dan** total hasil bersih salah satu sisi ≥ \$400 | skor +70, `IN_REVIEW` | Event diperlukan |
| `igaming-opposite-betting-same-market` | Kedua sisi dari match dan market yang sama dipertaruhkan oleh 2+ akun berbeda yang berbagi satu fingerprint perangkat, dalam 1 jam | skor +65, `IN_REVIEW` | Event diperlukan |
| `igaming-bot-rta-cadence` | `session.bot_signal_observed` yang melaporkan skor bot ≥ 90 dan varians waktu ≤ 10 ms | skor +55, `IN_REVIEW` | Event diperlukan |
| `igaming-self-exclusion-evasion` | Kecocokan registri pengecualian diri dengan `exclusion_status: active` pada percobaan pendaftaran ulang | skor +100, `DECLINED` | `responsible-gaming-self-excluded-activity` |
| `igaming-chat-rain-farming` | Klaim kedua dari bonus chat-rain yang **sama** oleh satu akun dalam 24 jam, diklaim dalam 500 ms | skor +45, `IN_REVIEW` | `responsible-gaming-bonus-hunting` |
| `igaming-repeated-bonus-claims-one-device` | Klaim ketiga dari bonus **yang sama** dari satu fingerprint perangkat dalam 7 hari | skor +50, `IN_REVIEW` | `repeated-bonus-campaign-from-same-fingerprint`, `shared-fingerprint-across-bonus-campaigns`, `responsible-gaming-bonus-hunting` |
| `igaming-affiliate-self-referral` | Atribusi ke kode afiliasi yang telah digunakan oleh 3+ akun berbeda dari satu fingerprint perangkat dalam 7 hari | skor +50, `IN_REVIEW` | `affiliate-fraud-repeated-fingerprint` |
| `igaming-multi-accounting-device` | Login atau pendaftaran dari fingerprint perangkat yang digunakan oleh 3+ akun berbeda dalam 24 jam | skor +60, `IN_REVIEW` | `multi-accounting-shared-fingerprint` |
| `igaming-shared-proxy-ip` | Login dari alamat IP yang digunakan oleh 3+ akun berbeda dalam 24 jam | skor +40, `IN_REVIEW` | `same-ip-multi-accounting` |

### Sinyal event yang dibutuhkan setiap aturan

Setiap aturan di atas membaca kolom event yang sudah ditentukan. Ketika kolom yang dibutuhkan tidak ada, aturan tidak akan cocok - aturan tidak pernah memperkirakan sinyal berdasarkan data lain dan tidak pernah menggunakan data transaksi sebagai fallback secara otomatis. Kirim kunci di bawah ini di dalam `payload` dan `device_context` event (lihat [Event](https://docs.didit.me/id/transaction-monitoring/events.md) untuk kontrak pengiriman lengkap dan [Aturan event](https://docs.didit.me/id/transaction-monitoring/event-rules.md) untuk jalur kolom aturan).

| `library_key` | Tindakan event yang dibaca | Kolom yang dibutuhkan aturan |
| - | - | - |
| `igaming-account-takeover-drain` | `security.login_failed`, `security.mfa_changed`, `payment.withdrawal_address_changed`, `payment.withdrawal_requested` | `changed_field`, `withdrawal_address_hash`, dan kunci pembayaran standar |
| `igaming-minimal-play-laundering` | `payment.withdrawal_requested`, `gameplay.bet_placed`, `payment.deposit_completed` | `amount` pada setiap event tersebut |
| `igaming-chargeback-deposit-ratio` | `dispute.chargeback_opened`, `payment.deposit_completed` | `payment_reference_id`, ditambah `dispute_id` atau `chargeback_id` |
| `igaming-chip-dumping-pair-net-winner` | `gameplay.p2p_settlement` | `counterparty_vendor_data`, `net_result_amount`, dan salah satu dari `hand_id` / `round_id` / `match_id` |
| `igaming-opposite-betting-same-market` | `gameplay.bet_placed` | `match_id`, `market_id`, `side`, `device_context.fingerprint` |
| `igaming-bot-rta-cadence` | `session.bot_signal_observed` | `device_context.bot_score`, `timing_variance_ms` |
| `igaming-self-exclusion-evasion` | `responsible_gambling.self_exclusion_match` | `exclusion_status`, `re_registration_attempt`, ditambah `registry_source` dan `identity_match_ref` yang wajib |
| `igaming-chat-rain-farming` | `bonus.bonus_claimed` | `bonus_id`, `bonus_type`, `claim_delay_ms` |
| `igaming-repeated-bonus-claims-one-device` | `bonus.bonus_claimed` | `bonus_id`, `device_context.fingerprint` |
| `igaming-affiliate-self-referral` | `affiliate.affiliate_attributed` | `affiliate_code`, `device_context.fingerprint` |
| `igaming-multi-accounting-device` | `security.login_succeeded`, atau `security.registration_attempt` khusus | `device_context.fingerprint` |
| `igaming-shared-proxy-ip` | `security.login_succeeded` | `device_context.network_context.ip_address` |

Gunakan paket `igaming_fraud` ketika integrasi Anda mengirim event login, gameplay, bonus, afiliasi, pembayaran, sengketa, keamanan, dan perjudian yang bertanggung jawab. Aturan ini bersifat opt-in: menambahkannya ke library tidak memasangnya untuk aplikasi yang sudah ada dan tidak mengubah preset pelanggan aktif mana pun saat ini.

***

## Paket e-commerce

Untuk marketplace dan aplikasi dengan peran sebagai pedagang pencatat transaksi.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `ecommerce-card-testing-microtransactions` | ≥10 transaksi ≤ \$5 dari fingerprint yang sama dalam 1 jam | skor +30 |
| `ecommerce-high-order-velocity` | ≥8 transaksi pada satu fingerprint dalam 30 menit | skor +30 |
| `ecommerce-chargeback-indicator` | Penyedia/alur kerja telah menandai indikator chargeback | skor +30 |
| `ecommerce-billing-country-mismatch` | Ketidaksesuaian negara penagihan pada transaksi ≥ \$500 | skor +30 |
| `ecommerce-shared-payment-method` | Metode pembayaran digunakan ulang oleh ≥3 subjek e-commerce dalam 7 hari | skor +30 |
| `ecommerce-shared-ip-multi-accounting` | Satu IP dibagikan oleh ≥4 subjek e-commerce dalam 24 jam | skor +30 |
| `ecommerce-remote-checkout-high-value` | Akses jarak jauh terdeteksi saat proses pembayaran ≥ \$1,000 | skor +30 |
| `ecommerce-affiliate-burst` | ≥5 transaksi pada afiliasi dan fingerprint yang sama dalam 2 jam | skor +30 |

***

## Paket penipuan cek

Untuk aplikasi yang mengirimkan transaksi setoran cek. Setiap aturan dipicu oleh penanda `custom_values.check_*` yang diatur pemanggil saat sebuah cek memiliki sinyal risiko yang dikenal (pencucian, MICR hilang, nomor seri yang tercantum di dark web, dan lain-lain).

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `check-amount-out-of-range` | Jumlah cek ditandai berada di luar rentang normal rekening DAN ≥ \$1,000 | skor +40, `IN_REVIEW` |
| `check-missing-or-invalid-number` | Cek diterima dengan nomor cek yang hilang, tidak konsisten, atau tidak berurutan | skor +35, `IN_REVIEW` |
| `check-duplicate-presentation` | Cek yang sama tampaknya telah disetorkan dua kali (seluler + cabang) | skor +70, `IN_REVIEW` |
| `check-on-dark-web-watchlist` | Nomor seri atau gambar cek ditemukan dalam feed cek curian dari dark web atau Telegram | skor +90, `DECLINED` |
| `check-altered-or-washed` | Cek menunjukkan bukti penghapusan kimia, perubahan MICR, atau bukti pencucian lainnya | skor +70, `IN_REVIEW` |
| `check-deposit-rapid-multi-bank` | Subjek yang sama menyetorkan cek di ≥3 bank pihak lawan yang berbeda dalam 24 jam (kiting) | skor +45, `IN_REVIEW` |

***

## Paket BNPL

Untuk penyedia beli sekarang, bayar nanti. Menampilkan pola penipuan pihak pertama (tidak membayar) dan pola berbagi identitas yang khas untuk pinjaman cicilan.

| `library_key` | Pemicu | Tindakan default |
| - | - | - |
| `bnpl-failed-repayment-velocity` | ≥2 pembayaran cicilan gagal terbaru pada subjek: sinyal penipuan pihak pertama | skor +45, `IN_REVIEW` |
| `bnpl-shared-identifier-across-accounts` | Telepon, email, atau alamat pernah terlihat pada beberapa subjek BNPL yang berbeda | skor +40, `IN_REVIEW` |
| `bnpl-high-installment-on-fresh-account` | Cicilan ≥ \$500 dari akun yang dibuka dalam 7 hari terakhir | skor +35 |

***

## Referensi: standar di balik pustaka

Setiap preset dalam pustaka Didit dipetakan ke tipologi AML, penipuan, atau kepatuhan yang diterima secara luas. Standar yang kami gunakan:

| Sumber | Tipologi yang disumbangkan ke pustaka |
| - | - |
| **Rekomendasi FATF** | Strukturisasi transaksi, perpindahan dana yang cepat, paparan yurisdiksi berisiko tinggi, skrining sanksi pihak lawan |
| **Panduan FinCEN** | Ambang batas pelaporan BSA / CTR, pengaktifan kembali rekening tidak aktif, pola tunai mencurigakan |
| **Aturan NACHA** | Ambang batas khusus ACH dan pola di luar jam kerja |
| **Prinsip Wolfsberg** | Tipologi perbankan koresponden dan perbankan privat |
| **Tipologi Egmont Group** | Pola lintas batas dan pelapisan |
| **Praktik terbaik industri** | Penerapan jendela laju transaksi, perjalanan yang tidak mungkin, penerima pertama kali, penggunaan ulang fingerprint perangkat, sinyal penipuan pihak pertama BNPL |

Didit hanya menerapkan tipologi yang diterima sebagai standar industri dan menampilkan setiap ambang batas agar Anda dapat menyesuaikannya.

***

## Menyesuaikan preset

Setiap preset dapat:

* **Disesuaikan**: ubah ambang batas, jendela waktu, nilai skor, atau tindakan per aplikasi
* **Dinonaktifkan**: ubah preset ke mode `DISABLED` dan preset berhenti dievaluasi tanpa kehilangan identitasnya
* **Diuji**: ubah preset ke mode `TEST` untuk mengevaluasinya dalam mode bayangan tanpa memengaruhi hasil transaksi
* **Diperluas**: buat aturan kustom yang melengkapi atau menimpa preset

Lihat [Aturan & penilaian](https://docs.didit.me/id/transaction-monitoring/rules.md) untuk anatomi aturan, endpoint API, dan contoh cara membuat aturan kustom.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.