Skip to content

Pack contents: Sierra Leone

Two packs are written for Sierra Leone, in new leones (SLE). A workspace whose jurisdiction is Sierra Leone (sl) sees them first in the rule library, marked Recommended for its kind of institution:

  • sl-psp 1.0.0 (8 rules): mobile money operators, payment service providers and agent networks.
  • sl-bank 1.0.0 (8 rules): banks, community banks and microfinance institutions.

Two rules, sl.ctr_cash (SL1) and sl.border_region (SL2), are in both, so there are 14 different rules. All are post-event except sl.sim_swap_payout, which runs in a real-time decision. Every rule arrives switched off, and every rule has a French name and description, shown in a workspace using French (see Languages).

Most rules reuse a core, Ghana, Nigerian or UEMOA rule by reference: they run exactly the same logic with amounts in new leones. The pages for those base rules explain how they work.

sl.ctr_cash follows your workspace’s cash reporting setting: its comparison parameter defaults to workspace, so whether a transaction of exactly the threshold counts is decided by Report when the day’s cash is under Settings → Reporting, and the rule and the drafted cash transaction reports agree. See At or above, or above only.

sl.border_region needs to know where a transaction took place: send the place in the transaction’s attributes as region, district, town or branch_region. It matches the places named in its regions parameter and any you add to a list with the key high_risk_regions (see Lists).

Key Library Name Pack Mode · action Alert about Severity · score
sl.ctr_cash SL1 Cash transaction at the FIA reporting threshold sl-psp post-event · alert customer low · 20
sl.structuring_below_ctr SL3 Repeated cash-ins just below the reporting threshold sl-psp post-event · alert customer high · 70
sl.split_cash_in_agents SL4 Cash-in split across many agents sl-psp post-event · alert customer high · 70
sl.cash_out_after_cash_in SL5 Cash-out soon after cash-in sl-psp post-event · alert customer high · 60
sl.sim_swap_payout SL6 Payout soon after a SIM swap sl-psp real-time · block customer critical · 85
sl.cross_border_wallet SL7 Cross-border mobile money transfer sl-psp post-event · alert customer medium · 40
sl.collection_wallet_sweep SL8 Collection wallet swept to a bank sl-psp post-event · alert customer high · 60
sl.border_region SL2 Cash or wallet activity in a border or mining area sl-psp post-event · alert customer medium · 40
sl.ctr_cash SL1 Cash transaction at the FIA reporting threshold sl-bank post-event · alert customer low · 20
slb.deposit_structuring SLB1 Cash deposits just below the reporting threshold sl-bank post-event · alert customer high · 70
slb.pep_large SLB2 PEP transaction above SLE 100,000 sl-bank post-event · alert customer high · 70
slb.dormant_reactivation SLB3 Dormant account suddenly active sl-bank post-event · alert customer medium · 45
slb.new_payee_large SLB4 Large instant transfer to a new payee sl-bank post-event · alert customer medium · 50
slb.fx_cash SLB5 Foreign-currency cash of USD 10,000 or more sl-bank post-event · alert customer medium · 40
slb.commodity_trade_hubs SLB6 Minerals dealer paying or paid from a trading hub sl-bank post-event · alert customer medium · 50
sl.border_region SL2 Cash or wallet activity in a border or mining area sl-bank post-event · alert customer medium · 40

Sierra Leone mobile money, PSP and agents (in French: Sierra Leone : mobile money, PSP et agents), version 1.0.0.

Typologies for Sierra Leone’s mobile money operators, payment service providers and agent networks (Orange Money, Afrimoney and QMoney), in new leones: the FIA cash reporting threshold and structuring below it, smurfing through agents, cash moved through a wallet, SIM-swap payouts, cross-border wallet transfers, collection wallets swept to a bank, activity in border and mining areas. Most rules reuse core, Ghana and Nigeria rules by reference with local amounts. Values come from SpeculaPro’s research, not from an official confirmation: to verify with counsel, and confirm each with the Bank of Sierra Leone and the FIA before go-live.

Sources the pack cites:

  • Anti-Money Laundering and Combating of Financing of Terrorism Act, 2012, and the 2024 Act that replaces it (to verify with counsel)
  • Bank of Sierra Leone: AML/CFT directives and mobile money guidelines
  • GIABA: mutual evaluation report of Sierra Leone (second round)

Cash transaction at the FIA reporting threshold · library SL1 · Cash reporting threshold (CTR) · alert about the customer · severity low, score 20

In French: Opération en espèces au seuil de déclaration de la FIA.

Cash deposits, withdrawals, cash-ins and cash-outs of SLE 30,000 or more: a cash transaction report to the FIA is due (AML/CFT Act 2012 and FIU directives). Whether a transaction of exactly the threshold counts follows the workspace’s CTR setting (Settings → Reporting), which starts as “at or above” in Sierra Leone, so this rule and the CTR drafts always agree. To verify with counsel, and confirm the thresholds and their application with the FIA. Reuses the Nigerian CTR rule with Sierra Leone’s amounts.

Reuses the logic of ng.ctr_cash (from ng-psp) with the parameters below; only the values differ.

Parameter Meaning Default
threshold_individual Individuals: above (base currency) 30,000
threshold_business Businesses: above (base currency) 30,000
comparison Report when the amount is: what Settings → Reporting says for CTRs (workspace), above the threshold (gt), or at or above it (gte) "workspace"

Explanation shown to analysts: Cash {{txn.type}} of {{txn.base_currency}} {{txn.amount}} by {{= customer.type == ‘business’ ? ‘a business’ : ‘an individual’ }} is {{= (params.comparison == ‘workspace’ ? workspace.ctr_comparison : params.comparison) == ‘gte’ ? ‘at or above’ : ‘above’ }} the FIA cash reporting threshold. Confirm with current FIA guidance.

Repeated cash-ins just below the reporting threshold · library SL3 · Structuring / smurfing · alert about the customer · severity high, score 70

In French: Dépôts d’espèces répétés juste sous le seuil de déclaration.

Cash-ins just below SLE 30,000 repeated within 48 hours and together above it: structuring to avoid a cash transaction report to the FIA. Reuses the core structuring rule with Sierra Leone’s threshold.

Reuses the logic of core.structuring (from core) with the parameters below; only the values differ.

Parameter Meaning Default
threshold Threshold being avoided 30,000
margin Margin below threshold (0.10 = 10%) 0.1
min_count Minimum cash-ins in 48h 3

Explanation shown to analysts: {{features.cash_in_count_48h}} cash-ins totalling {{txn.base_currency}} {{features.cash_in_sum_48h}} in 48h; this one ({{txn.base_currency}} {{txn.amount}}) is just below the {{txn.base_currency}} {{params.threshold}} FIA reporting threshold.

Cash-in split across many agents · library SL4 · Smurfing through agents · alert about the customer · severity high, score 70

In French: Dépôts d’espèces répartis entre de nombreux agents.

Cash-ins through several agents in a day adding up to a large sum: smurfing through the agent network of Orange Money, Afrimoney and QMoney. Reuses the Ghana rule with an amount in new leones.

Reuses the logic of gh.split_cash_in_agents (from gh-psp) with the parameters below; only the values differ.

Parameter Meaning Default
min_agents Distinct agents in 24h 4
min_total Total cash-in in 24h (base currency) 25,000

Explanation shown to analysts: Cash-ins via {{features.agents_24h}} different agents totalling {{txn.base_currency}} {{features.cash_in_24h}} in 24h.

Cash-out soon after cash-in · library SL5 · Wallet used as pass-through · alert about the customer · severity high, score 60

In French: Retrait d’espèces peu après un dépôt.

Most of what was cashed in at an agent is cashed out within two hours, often in another town: the wallet is used to move cash, not to hold or spend it. Reuses the Ghana rule with an amount in new leones.

Reuses the logic of gh.cash_out_after_cash_in (from gh-psp) with the parameters below; only the values differ.

Parameter Meaning Default
min_amount Minimum cash-in (base currency) 10,000
ratio Cash-out as share of cash-in 0.8

Explanation shown to analysts: {{txn.base_currency}} {{features.cash_in_2h}} cashed in and {{txn.base_currency}} {{features.cash_out_2h}} cashed out within 2 hours.

Payout soon after a SIM swap · library SL6 · SIM swap · real-time, answers block · about the customer · severity critical, score 85

In French: Paiement peu après un changement de carte SIM.

SIM-swap fraud: the fraudster has the customer’s number moved to another SIM, receives the PIN reset and one-time codes and empties the wallet. Reuses the Ghana rule with an amount in new leones.

Reuses the logic of gh.sim_swap_payout (from gh-psp) with the parameters below; only the values differ.

Parameter Meaning Default
sim_change_hours Hours since the SIM swap 48
threshold Payout at or above (base currency) 1,500

Explanation shown to analysts: SIM swapped {{customer.hours_since.sim_swap}} hours before this payout of {{txn.base_currency}} {{txn.amount}} (rule window: {{params.sim_change_hours}} hours).

Cross-border mobile money transfer · library SL7 · Cross-border mobile money · alert about the customer · severity medium, score 40

In French: Transfert mobile money transfrontalier.

A wallet transfer to or from another country at or above the amount. The main corridors are Guinea and Liberia (the Mano River corridor); cross-border wallets carry informal trade and remittances, and with them cash-courier and exchange-control risk. Leave the corridor list empty to watch every country, or name the ones to watch.

Parameter Meaning Default
home_country Home country (ISO code) "SL"
corridors Only these countries (ISO codes; empty = every other country) []
min_amount Amount at or above (base currency) 10,000

Explanation shown to analysts: {{txn.base_currency}} {{txn.amount}} by mobile money to/from {{txn.counterparty_country}}, outside Sierra Leone.

Expression
txn.channel == 'momo' && txn.amount >= params.min_amount && txn.counterparty_country != '' && txn.counterparty_country != params.home_country && (size(params.corridors) == 0 || txn.counterparty_country in params.corridors)

Collection wallet swept to a bank · library SL8 · Collection wallet · alert about the customer · severity high, score 60

In French: Porte-monnaie de collecte vidé vers une banque.

Many senders pay into one wallet over a week and most of it then leaves to a bank account: a collection point for a scam, an unlicensed deposit-taker or a mule. Reuses the Ghana rule.

Reuses the logic of gh.wallet_sweep_to_bank (from gh-psp) with the parameters below; only the values differ.

Parameter Meaning Default
min_senders Distinct senders in 7 days 10
sweep_ratio Transfer as share of 7-day inflow 0.7

Explanation shown to analysts: {{features.senders_7d}} senders paid in {{txn.base_currency}} {{features.in_7d}} over 7 days; {{txn.base_currency}} {{txn.amount}} is now leaving to a bank.

Cash or wallet activity in a border or mining area · library SL2 · Border / cash courier risk · alert about the customer · severity medium, score 40

In French: Opération en espèces ou par porte-monnaie dans une zone frontalière ou minière.

A cash or mobile money transaction at or above the amount in an area named in the rule or on the workspace’s high_risk_regions list: by default the diamond and gold fields of Kono, Tongo and Kenema and the Guinea and Liberia border crossings (Gbalamuya, Kambia, Koindu, Jendema). Cash couriers, smuggling proceeds and informal cross-border trade concentrate there. Send the place in txn.attributes (region, district, town or branch_region). Reuses the Ghana border-area rule with Sierra Leone’s places and an amount in new leones.

Reuses the logic of gh.border_region (from gh-psp) with the parameters below; only the values differ.

Parameter Meaning Default
regions Areas (towns, districts or regions) ["Koidu", "Kono", "Tongo", "Kenema", "Kailahun", "Koindu", "Kambia", "Gbalamuya", "Jendema", "Pujehun", "Kabala"]
channels Only these channels (empty = all) ["cash", "agent", "branch", "momo"]
min_amount Amount at or above (base currency) 10,000

Explanation shown to analysts: {{txn.base_currency}} {{txn.amount}} by {{txn.channel}} in {{= [‘region’, ‘district’, ‘town’, ‘branch_region’].filter(k, k in txn.attributes).map(k, string(txn.attributes[k])).join(’, ’) }}, a border or high-risk area.

Sierra Leone banks (in French: Sierra Leone : banques), version 1.0.0.

Typologies for Sierra Leone’s commercial banks, microfinance and other deposit-taking institutions, in new leones: the FIA cash reporting threshold and deposits structured below it, PEP activity, dormant accounts, large transfers to new payees, foreign-currency cash, commodity traders dealing with trading hubs, activity in border and mining areas. Most rules reuse core, Ghana and Nigeria rules by reference with local amounts. Values come from SpeculaPro’s research, not from an official confirmation: to verify with counsel, and confirm each with the Bank of Sierra Leone and the FIA before go-live.

Sources the pack cites:

  • Anti-Money Laundering and Combating of Financing of Terrorism Act, 2012, and the 2024 Act that replaces it (to verify with counsel)
  • Bank of Sierra Leone: AML/CFT directives and mobile money guidelines
  • GIABA: mutual evaluation report of Sierra Leone (second round)

Cash deposits just below the reporting threshold · library SLB1 · Structuring / smurfing · alert about the customer · severity high, score 70

In French: Dépôts d’espèces juste sous le seuil de déclaration.

Cash deposits at the counter just below SLE 30,000, repeated within 48 hours and together above it: structuring to avoid a cash transaction report to the FIA. Reuses the Nigerian bank rule with Sierra Leone’s threshold.

Reuses the logic of ngb.deposit_structuring (from ng-bank) with the parameters below; only the values differ.

Parameter Meaning Default
threshold Threshold being avoided (base currency) 30,000
margin Just below = within (0.1 = 10%) 0.1
min_count Deposits in 48 hours, at least 3

Explanation shown to analysts: {{features.deposits_48h}} cash deposits totalling {{txn.base_currency}} {{features.deposit_sum_48h}} in 48 hours; this one ({{txn.base_currency}} {{txn.amount}}) is just below the {{txn.base_currency}} {{params.threshold}} threshold.

PEP transaction above SLE 100,000 · library SLB2 · Politically exposed person · alert about the customer · severity high, score 70

In French: Opération d’une PPE au-dessus de 100 000 SLE.

A politically exposed person’s transaction at or above the amount: enhanced due diligence and senior management approval apply to PEPs under the Bank of Sierra Leone’s AML/CFT rules and FATF Recommendation 12. The amount is a starting value, not a legal threshold. Reuses the core PEP rule with an amount in new leones.

Reuses the logic of core.pep_threshold (from core) with the parameters below; only the values differ.

Parameter Meaning Default
threshold Threshold (base currency) 100,000

Explanation shown to analysts: Customer is a PEP; transaction of {{txn.base_currency}} {{txn.amount}} is at or above {{txn.base_currency}} {{params.threshold}}.

Dormant account suddenly active · library SLB3 · Dormant account reactivation · alert about the customer · severity medium, score 45

In French: Compte dormant redevenu soudainement actif.

An account with no activity for 90 days suddenly moving money: takeover, or reuse as a mule account. Reuses the core rule with an amount in new leones.

Reuses the logic of core.dormant_reactivation (from core) with the parameters below; only the values differ.

Parameter Meaning Default
dormant_days Minimum account age (days); the quiet period is fixed at 90 days 90
min_amount Minimum amount (base currency) 15,000

Explanation shown to analysts: No activity in the 90 days before today on an account {{account.age_days}} days old, then {{txn.base_currency}} {{txn.amount}}.

Large instant transfer to a new payee · library SLB4 · Authorised push-payment fraud · alert about the customer · severity medium, score 50

In French: Virement instantané important vers un nouveau bénéficiaire.

A large instant transfer to a payee the customer has never paid: authorised push payment fraud and account takeover. Reuses the Ghana instant-payment rule with an amount in new leones.

Reuses the logic of ghb.gip_new_payee_large (from gh-bank) with the parameters below; only the values differ.

Parameter Meaning Default
threshold Amount at or above (base currency) 70,000

Explanation shown to analysts: First instant transfer to this beneficiary: {{txn.base_currency}} {{txn.amount}}.

Foreign-currency cash of USD 10,000 or more · library SLB5 · Foreign-currency cash reporting · alert about the customer · severity medium, score 40

In French: Espèces en devises de 10 000 USD ou plus.

Cash in a foreign currency of USD 10,000 or more (or the same in euros or pounds), or worth SLE 230,000 or more: dollar and euro cash is how value crosses borders in a cash economy, and USD 10,000 is the cross-border declaration amount used across ECOWAS. A starting value, not a confirmed legal threshold in Sierra Leone (to verify with counsel). Reuses the Ghana foreign-currency cash rule.

Reuses the logic of ghb.fx_cash (from gh-bank) with the parameters below; only the values differ.

Parameter Meaning Default
threshold Threshold in the transaction’s currency (major units, with that currency’s decimals) 10,000
threshold_base Or at or above this in the base currency (0: off) 230,000
currencies Currencies ["USD", "EUR", "GBP"]

Explanation shown to analysts: Cash {{txn.type}} in {{txn.currency}} worth {{txn.base_currency}} {{txn.amount}}: at or above the {{params.threshold}} foreign-currency cash threshold. Confirm the threshold with current FIA guidance.

Minerals dealer paying or paid from a trading hub · library SLB6 · Commodity trade / trade-based money laundering · alert about the customer · severity medium, score 50

In French: Négociant en minerais en relation avec une place de négoce.

Diamonds and gold are Sierra Leone’s main laundering and smuggling risk (national risk assessment; Kimberley Process controls): a diamond or gold dealer or exporter moving money with Dubai, Antwerp, Mumbai, Tel Aviv or Beirut outside its declared exports deserves a look. Matches a business whose segment, or customer.attributes.sector, is one of the sectors, on a payment to or from one of the hubs at or above the amount.

Parameter Meaning Default
sectors Customer sectors (segment or attributes.sector, lower case; empty = every business) ["mining", "diamonds", "gold", "precious_minerals"]
hubs Trading hub countries (ISO codes) ["AE", "BE", "IN", "IL", "LB", "CN"]
min_amount Amount at or above (base currency) 250,000

Explanation shown to analysts: {{txn.base_currency}} {{txn.amount}} {{txn.direction}} with {{txn.counterparty_country}}, a trading hub for this customer’s sector.

Expression
customer.type == 'business' && txn.counterparty_country in params.hubs && txn.amount >= params.min_amount && (size(params.sectors) == 0 || customer.segment.lowerAscii() in params.sectors || ('sector' in customer.attributes && string(customer.attributes.sector).lowerAscii() in params.sectors))

Also in this pack, described above:

Key Library Name
sl.ctr_cash SL1 Cash transaction at the FIA reporting threshold
sl.border_region SL2 Cash or wallet activity in a border or mining area