The Outlier Lab

Open Source Tools for Fraud Teams

Defender-side open-source tools for transaction fraud teams (graph, rules, feature stores, imbalanced ML, anomaly detection, image hashing, monitoring platforms) with fit, license and caveats.

A minimal open-source fraud stack

Diagram: Event stream (Kafka), Stream features (Flink), Warehouse / lakehouse, Feature store (Feast), Rules (ZEN, Drools, OPA), Models (XGBoost / LightGBM), Decision + reason codes, Case queue, Graph (Neo4j CE / NetworkX / igraph), Notebooks (Jupyter / marimo) + DuckDB

Graph databases and graph analytics

Used for ring investigation, mule networks, referral graphs, multi-account linkage. See Graph Analytics, Entity Link Analysis, Referral Graph Patterns, Playbook - Fraud Ring Investigation Members.

ProjectWhat it's good forLicenseNotes
Neo4j Community EditionProperty-graph database with the Cypher query language; investigator-friendly explorationGPLv3 (Enterprise is commercial)Most fraud graph tutorials assume it
Neo4j Graph Data ScienceCommunity detection, centrality, similarity and node embeddings inside Neo4jMixed; see NOTICEPlugin; check which algorithms are in the open tier
JanusGraphDistributed graph database on pluggable storage backendsApache-2.0 (code)For very large graphs; heavier ops
Apache AGEGraph queries (openCypher) inside PostgreSQLApache-2.0Good when your case data already lives in Postgres
NebulaGraphDistributed graph databaseApache-2.0Scale-out alternative
MemgraphIn-memory graph database, Cypher-compatible, built for real-time graph analyticsBSL 1.1 / Memgraph Enterprise License (source-available)Not OSI open source
KùzuEmbedded graph database (Cypher)MITArchived by its maintainers in 2025; prior releases still usable. Avoid for new builds
NetworkXPython graph analysis: connected components, centrality, community detectionBSD-3-ClauseThe default for notebook-scale ring analysis
python-igraphFast graph algorithms (C core), including Leiden/Louvain community detectionGPL-2.0Faster than NetworkX on larger graphs
cuGraph (RAPIDS)GPU-accelerated graph analyticsApache-2.0When graphs reach hundreds of millions of edges
PyTorch GeometricGraph neural networksMITResearch-grade; most teams get more from simple graph features first
DGLGraph neural networksApache-2.0Development has slowed (last commit mid-2025)
GephiDesktop graph visualizationCDDL/GPLv3Quick visual triage of exported subgraphs
CytoscapeNetwork visualization and analysis desktop appSee repoStrong layout and styling
PyGraphistryPython client for GPU graph visualizationBSD-styleClient is open; the visualization server is a service

Entity resolution

Linking records that refer to the same person or household without a shared key. This is the foundation for linkage Members and for SAR subject identification.

ProjectGood forLicenseNotes
Splink (UK Ministry of Justice)Probabilistic record linkage (Fellegi–Sunter) at scale on DuckDB or Spark; no training labels neededMITSplink 5 released September 2026
dedupeActive-learning deduplication and linkage in PythonMITGood for smaller datasets with human labeling
ZinggML entity resolution on SparkAGPL-3.0AGPL obligations matter if you offer it as a service
libpostalInternational address parsing and normalizationMITNormalize addresses before matching (Address Risk Signals)
libphonenumber (Google)Phone parsing, validation and formattingApache-2.0Normalize before velocity counts (Phone Risk Signals)
disposable-email-domainsCommunity list of disposable email domainsCC0A weak signal on its own; combine with others (Email Risk Signals)

Rules and policy engines

See Rules Engine and Rule Governance and Change Management.

ProjectGood forLicenseNotes
ZEN Engine (GoRules)Business rules as JSON decision graphs and tables; Rust core with Python/Node/Go/Java bindingsMITReadable by non-engineers; version 2.0 released
Drools (Apache KIE)Mature Java rules engine (DMN, decision tables)Apache-2.0Powerful; steeper learning curve
Open Policy Agent (OPA)Policy-as-code with the Rego languageApache-2.0Better for access and authorization policy than for scoring, but works for simple fraud gates
CEL (Common Expression Language, Google)Safe, fast embedded expressionsApache-2.0 (spec)Useful for letting analysts write conditions inside your own engine
json-rules-engineLightweight JavaScript rulesISCSmall services and prototypes

Open-source fraud and AML monitoring platforms

Full platforms (ingest, rules, ML, cases) you can self-host. Evaluate them like vendors (Vendor Selection and Evaluation).

ProjectWhat it isLicenseNotes
MarbleReal-time transaction monitoring, screening and case investigationElastic License 2.0 (source-available)Commercial enterprise tier
JubeReal-time AML and fraud monitoring with rules, velocity, ML and case managementAGPL-3.0Now marketed with AI-agent investigation features
TazamaReal-time transaction monitoring built around typologies and ISO 20022 messages; aimed at payment switches and FSPsApache-2.0 (docs)Typology/rule processor design is a useful reference architecture even if you don't deploy it

Streaming, feature stores and data tooling

See Fraud Data Architecture and Real-Time Decisioning Architecture.

ProjectGood forLicense
Apache KafkaEvent backbone for login, transaction and payout eventsApache-2.0
Apache FlinkStateful stream processing for real-time velocity features (Velocity Signals)Apache-2.0
FeastFeature store with offline/online consistency; point-in-time correct training setsApache-2.0
FeatureformVirtual feature store over existing infrastructureMPL-2.0 (slower activity since 2025)
HopsworksFeature store and ML platformAGPL-3.0 (open repo less active since early 2025)
DuckDBIn-process analytical SQL; fast ad-hoc analysis on Parquet exportsMIT
PolarsFast DataFrame libraryMIT
pandasStandard Python DataFramesBSD-3-Clause
Great ExpectationsData quality tests on feature and label pipelinesApache-2.0

Machine learning for imbalanced, adversarial data

See Machine Learning Models and Model Risk Management.

ProjectGood forLicenseNotes
scikit-learnBaselines, pipelines, calibration, metrics (precision-recall curves)BSD-3-ClauseCalibrate before setting thresholds
XGBoostGradient-boosted trees; the workhorse for tabular fraudApache-2.0
LightGBMFast gradient boosting on large tabular dataMIT
CatBoostGradient boosting with native categorical handlingApache-2.0Good with high-cardinality merchant/BIN features
imbalanced-learnResampling (over/under-sampling, SMOTE variants), balanced ensemblesMITResampling often hurts calibration; class weights plus threshold tuning is usually enough
RiverOnline/streaming ML that updates incrementallyBSD-3-ClauseFor fast drift and cold-start contexts
OptunaHyperparameter searchMIT
MLflowExperiment tracking, model registryApache-2.0Model inventory evidence for MRM
SHAPFeature attributions for model explanationsMITAnalyst-facing reason codes; watch the cost at inference time
InterpretMLGlass-box models (EBMs) and explanationsMITEBMs are a good compromise when you need explainability
LIMELocal explanationsBSD-2-ClauseLargely unmaintained since 2021
EvidentlyData and model drift monitoring and reportsApache-2.0Drift dashboards for champion-challenger (Experimentation and Champion-Challenger)
cleanlabFinding label errors in training dataApache-2.0Useful when labels come from noisy sources such as disputes (Fraud QA Program)
Label StudioAnnotation tool for building labeled sets (e.g., receipt images)Apache-2.0

Anomaly detection and time series

Useful for novel attack sentinels Members, loss early-warning and promo monitoring (Promo and Reward Redemption Patterns).

ProjectGood forLicenseNotes
PyODLarge library of outlier detection algorithms with a common APIBSD-2-ClauseVersion 3 adds agentic workflows; stick to the core detectors
ADBenchBenchmark comparing anomaly detectors across datasets (NeurIPS 2022)BSD-2-ClauseRead before choosing a method
Alibi DetectOutlier, adversarial and drift detectionBSL 1.1 (source-available since 2024)Production use may need a commercial license
STUMPYMatrix profile for time-series motif and discord discoveryBSD-3-ClauseGood for spotting repeated attack patterns in metric streams
ProphetSeasonal forecasting for baselines (expected volume per hour)MITAlert on residuals
Merlion (Salesforce)Time-series anomaly detection and forecasting frameworkBSD-3-Clause
ADTKRule-based time-series anomaly detectionMPL-2.0Unmaintained since 2020

Image forensics, hashing and provenance

For Receipt Fraud (Cashback), Check and Mobile Deposit Fraud and document review. See Receipt and Document Image Forensics and Receipt and Purchase Verification.

ProjectGood forLicenseNotes
ImageHashPerceptual hashes (average, perceptual, difference, wavelet, color, crop-resistant) for near-duplicate detectionBSD-2-ClauseDuplicate and shared receipt detection across accounts
PDQ (in Meta's ThreatExchange repo)Edit-tolerant 256-bit perceptual image hash with similarity matching; also TMK/vPDQ for videoBSDDesigned for large-scale matching
OpenCVImage processing primitives (alignment, edge detection, OCR pre-processing)Apache-2.0
scikit-imageScientific image processing in PythonBSD-3-Clause
PillowImage I/O and basic manipulationMIT-CMU
ExifToolReading image and PDF metadataPerl Artistic / GPLMetadata is easily stripped or forged. Treat it as a weak signal
SherloqInteractive digital image forensics workbench (error level analysis, noise, cloning)GPL-3.0Research/education tool for reviewers, not an automated verdict
c2pa-rs (Content Authenticity Initiative)Reading and validating C2PA Content CredentialsMIT / Apache-2.0Provenance is rare on receipts today; absence proves nothing

Authentication and account-security building blocks

See Passkeys and Phishing-Resistant Authentication, Breached Password Detection and Bot Management and CAPTCHA.

ProjectGood forLicense
SimpleWebAuthn (TypeScript)Passkey/WebAuthn server and browser librariesMIT
py_webauthn (Duo Labs)WebAuthn in PythonBSD-3-Clause
PwnedPasswordsDownloaderDownload the Pwned Passwords hash corpus for offline breached-password checksBSD-3-Clause
zxcvbn-tsPassword strength estimation (maintained TypeScript port; original Dropbox zxcvbn unmaintained since 2017)MIT
ALTCHASelf-hosted proof-of-work challenge (CAPTCHA alternative)MIT
AnubisProof-of-work reverse proxy against scraping botsMIT
FingerprintJS (open-source) / ThumbmarkJSClient-side browser fingerprinting librariesMIT

Notebooks and investigation workbench

ProjectGood forLicense
JupyterLab / Jupyter NotebookStandard analyst notebooksBSD-3-Clause
marimoReactive, git-friendly Python notebooks that run as appsApache-2.0
DFIR-IRISCollaborative incident response case management (security-oriented, adaptable for fraud war rooms)LGPL-3.0

TheHive's open versions (3.x/4.x) are no longer distributed, and current TheHive is commercial. Don't build on old forks.

Learning datasets and simulators

ProjectUseLicenseNotes
Fraud Detection Handbook (Le Borgne, Siblini, Lebichot, Bontempi)Reproducible Machine Learning for Credit Card Fraud Detection: notebooks and simulated dataCode licensed; prose separatelyBest free intro to time-aware validation
PaySimMobile-money transaction simulatorGPL-3.0Last updated 2021
AMLSim (IBM)Laundering-typology transaction graph simulatorApache-2.0Last updated 2022

Choosing well

  • License fit. GPL/AGPL in a networked product vs internal analytics. BSL and Elastic are not open source.
  • Maintenance. Check last release, issue response and bus factor. Several projects here are archived or slowing (Kùzu, ADTK, LIME, DGL, Featureform).
  • Security review. Treat packages as supply chain. Pin versions, scan dependencies, and never run untrusted notebooks against production data.
  • Privacy. Self-hosting keeps data in-house, but PII rules still apply (Privacy and Data Use in Fraud Prevention).
  • Model governance. OSS models are still models under your MRM policy (Model Risk Management).

Sources and further reading

Each project below was verified by cloning its public repository (last commit dates checked, late October 2026). Licenses were read from each repository's license file.