AML ve yaptırım tarama SaaS

Boş sonuç, temiz sonuç değildir.

Pactuary müşterileri ve karşı tarafları yaptırım ve PEP listelerine karşı tarar, müşteri kabulünden sonra da izler, işlemleri bilinen tipolojilere göre denetler ve her kararı denetçiye hazır tutar. Türkiye'deki uyum ekipleri için.

Burak Esenoğlu'nun bağımsız ürünü. Ekranlarda sentetik bir demo banka görünür.

Kamuya açık yaptırım listesindeki bir varlık için tarama sonuçlarıKamuya açık yaptırım listesindeki bir varlık için tarama sonuçları

Demo

72 saniyede dört göz onaylı bir karar

Arama, sonuç, varlık detayı, gerekçeli karar ve ikinci analistin onayı. Sentetik demo banka üzerinde kaydedildi.

Sorun

Tarama yapmak kolay. Savunmak zor.

Sistem olmadan

  • Listeler elle indirilir ve iki indirme arasında eskir.
  • Erişilemeyen bir kaynak "eşleşme yok" diye okunur ve kimse fark etmez.
  • Onaylar e-postayla verilir, gerekçe kaybolur.
  • Yaygın isimler analisti yanlış pozitife boğar.

Pactuary ile

  • Canlı yaptırım ve PEP verisi ile kurumun kendi iç listeleri tek aramada.
  • Her kaynak kendi durumunu bildirir; düşen kaynak gizlenmez, gösterilir.
  • Her kararın yazılı bir gerekçesi, isteğe bağlı ikinci onaycısı ve görülen verinin anlık görüntüsü vardır.
  • Risk, kaydın ne olduğundan türetilir; önceki yanlış pozitif kararları hatırlanır.

Modüller

İlk aramadan denetim dosyasına tek akış

İsim ve PEP taraması

Kişi ve şirketler canlı OpenSanctions verisine ve kurumun iç listelerine karşı paralel taranır. Sonuçlarda risk seviyesi, konular, eşleşme skoru ve kaynak listeler görünür. Risk seviyesi ismin ne kadar benzediğinden değil, kaydın ne olduğundan (yaptırım, suç, PEP) gelir.

Risk rozetleri ve kaynak listeleriyle tarama sonuçlarıRisk rozetleri ve kaynak listeleriyle tarama sonuçları

Varlık detayı ve karar

Takma adlar, kimlik numaraları, yaptırım programları ve kaynak belgeler tek sayfada. Analist gerçek eşleşme, yanlış pozitif veya üst onaya taşıma kararı verir; gerekçe her zaman zorunludur.

Karar formuyla varlık detay sayfasıKarar formuyla varlık detay sayfası

Toplu tarama

Tek istekte 100 özneye kadar; eşleşmeyi keskinleştirmek için isteğe bağlı doğum yılı ve ülke. Bütün bir portföy saniyeler içinde taranır.

Toplu tarama sonuçlarıToplu tarama sonuçları

İşlem izleme

Beş tipoloji: tekil eşik aşımı, yüksek riskli ülke (FATF listeleri), karşı taraf yaptırım/PEP eşleşmesi, parçalama ve hız/hacim. Anlık kurallar işlem geldiğinde, örüntü kuralları her gece çalışır. TCMB kurları kullanılır; eksik kur asla tahmin edilmez.

Tetikleyen işlemler ve karar geçmişiyle parçalama alarmıTetikleyen işlemler ve karar geçmişiyle parçalama alarmı

Dört göz onaylı alarm ve vaka yönetimi

Sürekli izleme ve işlem alarmları tek kutuda. Dört göz açıkken gerçek eşleşme kararı ikinci ve farklı bir analistin onayını bekler; kişinin kendi kararını onaylaması sistemce reddedilir.

İkinci onay bekleyen alarmİkinci onay bekleyen alarm

Müşteri risk skoru

Dört ağırlıklı faktörden (tarama sinyali, işlem örüntüsü, ülke ve kanal) 0–100 arası skor. Her faktör gerekçesini gösterir; skor açıklanabilir.

İzlenen bir şirketin risk skoru kırılımıİzlenen bir şirketin risk skoru kırılımı

Ayarlanabilir kurallar

Her tipoloji kurum bazında açılıp kapatılır ve ayarlanır. Geçersiz ayar güvenli varsayılana döner; bozuk bir ayar bir kuralı sessizce kapatmaz.

Kural ayarları sayfasıKural ayarları sayfası

Ayrıca

Sürekli izleme

Portföy her gece yeniden taranır; yalnızca yeni eşleşmeler alarm üretir.

Denetim izi ve PDF

Anlık görüntülü, yalnızca eklenebilen kararlar ve vaka başına tek tıkla denetim dosyası.

API ve webhook

Tarama ve işlem gönderimi için kapsamlı API anahtarları, HMAC imzalı webhook'lar.

Çok kiracılı yapı

Şirket bazında izolasyon, üç rol ve modül başına ayrı kota havuzları.

Olumsuz medya

Sağlayıcıya hazır (stub): arayüz, veri modeli ve ekran hazır; henüz bir haber sağlayıcısı bağlı değil.

KYC / CDD

Yol haritasında.

Nasıl çalışır

Bir isimden ya da işlemden savunulabilir bir karara

Alarayüz · toplu · APITaraher kaynak durumbildirirDeğerlendir5 tipoloji · riskskoruKarar vergerekçe zorunluKanıtlaeklenebilir · anlıkgörüntü · PDFkaynak düşerse → eksik, asla temiz değildört göz: farklı bir analist onaylar
  1. Al

    Analist arar, portföy yüklenir ya da ana sistem API üzerinden işlem gönderir.

  2. Tara

    Kaynaklar paralel sorgulanır; her biri kendi durumunu ve süresini bildirir.

  3. Değerlendir

    Tipoloji kuralları ve risk skoru, eşleşme ve örüntüleri önceliklendirilmiş alarmlara çevirir.

  4. Karar ver

    Analist kararı ve gerekçeyi yazar; dört göz açıksa ikinci analist onaylar.

  5. Kanıtla

    Karar, anlık görüntüsü ve denetim dosyası denetçi için değişmeden saklanır.

Tasarımdan gelen uyum

Politika belgesinde değil, kodda uygulanan ilkeler

Boş sonuç ≠ temiz

Her kaynak kendi durumunu bildirir. Tüm kaynaklar düşerse API boş liste değil hata döner. Çalışamayan bir kural "kullanılamıyor" olarak bildirilir.

Dört göz

Kurum bazında, gerçek eşleşme ikinci bir onaycı ister ve kişi kendi kararını onaylayamaz.

Yalnızca eklenebilen kararlar

Kararlar asla düzenlenmez. Değişiklik, eskisini işaret eden yeni bir kayıttır ve karar anındaki verinin anlık görüntüsünü taşır.

Risk tabanlı yaklaşım

Her müşterinin açıklanabilir 0–100 skoru var; ülke riski FATF kara ve gri listelerini izler.

Konu tabanlı risk seviyesi

Bir yaptırım kaydı orta bir isim skoruyla bile kritiktir; bir PEP tam skorla bile orta seviyededir.

Uydurma kur yok

TCMB kuru yoksa işlem "kur bekliyor" olarak bekler; tutar kuralları kur gelince çalışır.

MASAK ve FATF gereklilikleri gözetilerek tasarlandı. Bir sertifika ya da uyum garantisi değildir: 75.000 TL gibi eşikler her kurumun doğrulaması gereken başlangıç değerleridir.

Eşleşme ölçümü

Ölçüldü ve olduğu gibi raporlandı

Ekim 2026'da 100 etiketli sorgu, ürünün toplu tarama yolundan (OpenSanctions /match, eşik 0,7, sanctions koleksiyonu) geçirildi.

%100Duyarlılık (recall)50 yaptırımlı isim ve varyantın 50'si yakalandı, hepsi doğru varlığa
%80,6Kesinlik (precision)İsabetlerin gerçek yaptırımlı varlık olma oranı
%24Yanlış pozitif oranı50 temiz ismin 12'si bir listeye takıldı

İsabetler nereden geldi

Yaptırımlı isimlerin özgün yazımı25 / 25
Yazım, Türkçe yazım ve isim sırası varyantları25 / 25
Gerçek hayatta yaygın isimler (temiz)12 / 25
Uydurma isimler (temiz)0 / 25
  • Yanlış pozitiflerin tamamı listede gerçek bir adaşı bulunan yaygın isimlerden geldi; örneğin "Mehmet Kaya".
  • Sorgular yalnızca isim içeriyordu. Doğum tarihi veya uyruğun yanlış pozitifi azaltması beklenir, ama bu etki ölçülmedi.
  • Örneklem küçük; rakamları yol gösterici kabul edin.

Güvenlik ve mimari

Önemli yerlerde sıkıcı

Sunucuda doğrulanan oturum

Her API isteğinde JWT sunucuda doğrulanır; doğrulanmamış çerez okuması kullanılmaz.

Hash'lenmiş, kapsamlı API anahtarları

Anahtarlar SHA-256 hash olarak saklanır, tamamı bir kez gösterilir, tek bir işe yetkilidir ve silinmeden iptal edilir.

Kiracı izolasyonu

Tüm sorgular şirkete göre süzülür. Veritabanı satır güvenliği doğrudan veri API erişimini reddeder.

Yarışsız kota

Kota ücretli çağrıdan önce kontrol edilir ve koşullu SQL ile düşülür; eşzamanlı istekler fazla harcayamaz.

Dayanıklı veri istemcisi

Zaman aşımı, geri çekilmeli ve jitter'lı yeniden deneme, Retry-After desteği, TTL cache ve istek birleştirme.

Varsayılan olarak kapalı

Zamanlanmış işler sırları olmadan çalışmaz; sağlık kontrolü eksik yapılandırmayı bildirir.

Teknoloji

Next.js 16React 19TypeScript strictPostgreSQLPrismapg_trgm + unaccentSupabase AuthVitestPlaywrightVercel
848geçen test
%88satır kapsamı (iş mantığı)
2dil, aydınlık ve karanlık tema

Geliştirici API'si

Kendi sistemlerinizden tarayın

İsmi isteğe bağlı doğum tarihi ve ülkelerle gönderin. Her yanıt hangi kaynakların yanıt verdiğini söyler; sisteminiz "temiz" ile "eksik"i ayırt edebilir. Örnekte kurgusal bir müşteri ve sahte bir anahtar kullanıldı.

İstekPOST /api/v1/screening
POST /api/v1/screening
Authorization: Bearer sk_test_EXAMPLE_ONLY_not_a_real_key
Content-Type: application/json

{
  "name": "Defne Örnekoğlu",
  "birthDate": "1987",
  "countries": ["TR"],
  "category": "individual"
}
Yanıt · 200application/json
{
  "results": [],
  "total": 0,
  "totalRelation": "eq",
  "highestRisk": null,
  "providers": [
    { "provider": "opensanctions", "ok": true, "resultCount": 0, "latencyMs": 184 },
    { "provider": "local", "ok": true, "resultCount": 0, "latencyMs": 289 }
  ],
  "remainingQuota": 4210
}
Tüm kaynaklar düşerse · 502application/json
{
  "error": "…",
  "errorCode": "TIMEOUT",
  "providers": [
    { "provider": "opensanctions", "ok": false, … },
    { "provider": "local", "ok": false, … }
  ]
}

SSS

Sorular

Yaptırım verisi nereden geliyor?

OpenSanctions'tan, barındırılan API'si üzerinden canlı olarak. Varsayılan kapsam OFAC SDN, BM Güvenlik Konseyi listesi, AB ve BK yaptırımları ile MASAK varlık dondurma listesi dahil 95 yaptırım listesidir. Kurumlar kendi iç listelerini ekleyebilir.

Pactuary MASAK sertifikalı mı?

Hayır. MASAK ve FATF gereklilikleri gözetilerek tasarlandı, ancak bu tür araçlar için bir sertifika yok ve böyle bir iddiada bulunulmuyor. Her kurum eşikleri ve prosedürleri kendi uyum birimiyle doğrular.

Yanlış pozitifler nasıl ele alınıyor?

Risk isim skorundan değil, kaydın ne olduğundan gelir. İsteğe bağlı doğum yılı ve ülke eşleşmeyi keskinleştirir; yanlış pozitif kararı hatırlanır ve aynı kayıt o özne için bir dahaki taramada elenir.

Bir veri kaynağı çökerse ne olur?

Analist hangi kaynağın düştüğünü görür. Tüm kaynaklar düşerse istek boş liste yerine hata döner; çünkü boş liste "temiz" diye okunur.

Olumsuz medya dahil mi?

Olumsuz medya modülü sağlayıcıya hazır: arayüzü, veri modeli ve ekranı var; bir haber sağlayıcısı bağlanana kadar örnek veri gösterir.

Kaynak kodu görebilir miyim?

Depo özel. Kodu ve tasarım kararlarını bir mülakatta memnuniyetle anlatırım.

Ücreti nedir?

Fiyatlar yayınlanmıyor. Demo ve hacimlerinize uygun bir görüşme için bize ulaşın.

Kendi senaryolarınızla görün

30 dakikalık bir tur: tarama, bir parçalama alarmı, dört göz akışı ve denetim dosyası. Fiyat: bize ulaşın.