diff --git a/README.md b/README.md index 9ba08a1..6096277 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Dieses Repository ist der Beweis, dass die Technologie reif ist β€” und dass der | Modul | Status | Beschreibung | Kill Target | |-------|--------|-------------|-------------| -| [`sanctions/`](sanctions) | πŸ”΄ Sprint 1 | Sanctions & PEP Screening auf Basis von OpenSanctions + LLM Name Matching | Dow Jones R&C, World-Check, Sanction Scanner | +| [`sanctions/`](sanctions) | 🟒 Live | Sanctions & PEP Screening auf Basis von OpenSanctions + yente β€” deployed auf [sanction.endvater.de](https://sanction.endvater.de) | Dow Jones R&C, World-Check, Sanction Scanner | | [`horizon/`](horizon) | βšͺ Geplant | Regulatory Horizon Scanner β€” EUR-Lex, BaFin, EBA/ESMA automatisch gescrapt und LLM-klassifiziert | VΓ–B RADAR, CUBE, msg LCM | | [`osint/`](osint) | βšͺ Geplant | Adverse Media & OSINT β€” RSS-Aggregation, LLM-Klassifikation, Entity Resolution | LexisNexis, Quantexa, Chainalysis | | [`shared/`](shared) | 🟑 Basis | Gemeinsame Infrastruktur: Neo4j-Connector, LLM-Gateway, Confidence Framework, Config | β€” | @@ -26,27 +26,28 @@ Dieses Repository ist der Beweis, dass die Technologie reif ist β€” und dass der ## Architektur ``` -β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” -β”‚ Beyond AI β”‚ -β”‚ β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ sanctions/ β”‚ β”‚ horizon/ β”‚ β”‚ osint/ β”‚ β”‚ -β”‚ β”‚ Screening β”‚ β”‚ Scanner β”‚ β”‚ Adverse Media β”‚ β”‚ -β”‚ β”‚ PEP/Lists β”‚ β”‚ Norms β”‚ β”‚ Entity Resolution β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚ β”‚ β”‚ β”‚ β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ shared/ β”‚ β”‚ -β”‚ β”‚ Neo4j Β· LLM Gateway (Ollama/Claude) Β· Confidence β”‚ β”‚ -β”‚ β”‚ Config Β· FastAPI Boilerplate Β· Auth β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β”‚ β”‚ β”‚ -β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ -β”‚ β”‚ Datenquellen (ΓΆffentlich) β”‚ β”‚ -β”‚ β”‚ OpenSanctions Β· EUR-Lex Β· BaFin Β· EBA Β· OFAC Β· UN β”‚ β”‚ -β”‚ β”‚ ICIJ Β· OpenCorporates Β· Etherscan Β· Wikidata β”‚ β”‚ -β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ -β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ +β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” +β”‚ Beyond AI β”‚ +β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ sanctions/ β”‚ β”‚ horizon/ β”‚ β”‚ osint/ β”‚ β”‚ +β”‚ β”‚ Screening β”‚ β”‚ Scanner β”‚ β”‚ Adverse Media β”‚ β”‚ +β”‚ β”‚ PEP/Lists β”‚ β”‚ Norms β”‚ β”‚ Entity Resolution β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ shared/ β”‚ β”‚ +β”‚ β”‚ Neo4j Β· LiteLLM Gateway (Ollama/Claude) Β· Confidence β”‚ β”‚ +β”‚ β”‚ Config Β· FastAPI Boilerplate Β· Prefect Scheduler β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β”‚ β”‚ β”‚ +β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ +β”‚ β”‚ Datenquellen & Matching-Layer β”‚ β”‚ +β”‚ β”‚ OpenSanctions Β· yente Β· nomenklatura Β· FollowTheMoney (FtM) β”‚ β”‚ +β”‚ β”‚ ICIJ Offshore Leaks Β· EUR-Lex Β· BaFin Β· EBA Β· OFAC Β· UN β”‚ β”‚ +β”‚ β”‚ Splink (Entity Resolution) Β· Aleph (OCCRP) Β· watchman β”‚ β”‚ +β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ +β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β–Ό FinRegAgents (upstream) @@ -61,7 +62,7 @@ Dieses Repository ist der Beweis, dass die Technologie reif ist β€” und dass der git clone https://github.com/endvater/beyond-ai.git cd beyond-ai -# Full Stack starten (Neo4j + yente + API) +# Full Stack starten (Neo4j + yente + ElasticSearch + API) docker compose up -d # Sanctions Screener testen @@ -70,6 +71,10 @@ curl -X POST http://localhost:8000/api/screen \ -d '{"name": "Wladimir Putin"}' ``` +Browser-UI: [localhost:8000/search](http://localhost:8000/search) +Swagger: [localhost:8000/docs](http://localhost:8000/docs) +Produktivinstanz: [sanction.endvater.de](https://sanction.endvater.de) + ## Releases Beyond AI veroeffentlicht aktuell bewusst **GitHub Releases fuer Source + Docker**. Paketiert wird vorerst nur die API als GHCR-Container, noch nicht als installierbares Python-Package. @@ -111,15 +116,72 @@ docker run --rm -p 8000:8000 \ ## Tech Stack -- **Daten:** OpenSanctions (FtM-Schema), EUR-Lex (SPARQL), BaFin (RSS), OFAC (CSV), UN/EU (XML) -- **Graph:** Neo4j Community Edition β€” Normen, EntitΓ€ten, Sanktionen, UBO-Netzwerke -- **KI:** Ollama (Kimi-k2.5 / Qwen) als Primary, Claude API als Fallback β€” via `shared/llm/` -- **Confidence:** FinRegAgents-Pattern β€” Retrieval Quality Gates, Composite Scoring, Phantom Detection -- **API:** FastAPI (Python) β€” REST + optional GraphQL -- **Screening:** yente (OpenSanctions self-hosted API) als ElasticSearch-basiertes Matching -- **Frontend:** React (minimal MVP) oder Streamlit (Prototyp) -- **Alerting:** Telegram Bot, E-Mail -- **Deployment:** Docker Compose, Traefik-kompatibel +### Daten & Feeds +- **[OpenSanctions](https://www.opensanctions.org/) + yente**: Sanctions- und PEP-Daten aus 320+ Quellen β€” Produktivinstanz, MIT +- **[FollowTheMoney (FtM)](https://followthemoney.tech/)**: Entity-Schema-Standard (Person, Company, Sanction) β€” OCCRP-maintained +- **[nomenklatura](https://github.com/opensanctions/nomenklatura)**: Deduplizierung und statement-basiertes Datenmanagement +- **[ICIJ Offshore Leaks](https://offshoreleaks.icij.org/)**: 1,6 Mio. EintrΓ€ge aus Panama/Paradise/Pandora Papers β€” ΓΆffentliche API + +### Matching & Entity Resolution +- **[Splink](https://moj-analytical-services.github.io/splink/)**: Record Linkage via Fellegi-Sunter β€” UK Ministry of Justice, produktionsreif +- **[moov-io/watchman](https://github.com/moov-io/watchman)**: Multi-List-Screener fΓΌr OFAC/EU/UN in Go + +### Rules & Decisioning +- **[gorules/zen](https://gorules.io/)**: Embeddable Rules Engine β€” Rust-Core, Python-Bindings +- **[Jube](https://jube.io/) / [Marble](https://www.checkmarble.com/)**: Real-Time Transaction Monitoring, API-first, AGPL + +### Graph & Visualisierung +- **[Neo4j 5.16 + GDS](https://neo4j.com/product/graph-data-science/)**: Community Detection, Centrality, UBO-Netzwerke +- **[NetworkX](https://networkx.org/)**: Python-Graph-Tooling fΓΌr Analysen +- **GAMLNet**: Graph Neural Networks fΓΌr Muster-Erkennung (Evaluierung Q3 2026) +- **[Cytoscape.js](https://cytoscape.org/)**: Browser-basierte Netzwerkvisualisierung + +### RAG & Dokumentenverarbeitung +- **[Aleph (OCCRP)](https://github.com/aleph-re/aleph)**: Dokumentenindexierung mit Entity-Extraktion nach FtM-Schema +- **[RAGFlow](https://github.com/infiniflow/ragflow)**: Retrieval-Augmented Generation mit Deep-Document-Understanding + +### Orchestrierung & LLM-Gateway +- **[LiteLLM](https://github.com/BerriAI/litellm)**: Unified LLM Gateway β€” Routing, Cost-Tracking, Logging (ersetzt n8n) +- **[Prefect](https://www.prefect.io/)**: Python-native Workflow-Scheduler fΓΌr Feed-Ingestion und Polling +- **Ollama (Kimi-k2.5 / Qwen)** als Primary LLM, **Claude API** als Fallback + +## Roadmap + +Basierend auf dem [FinCrime OS 2026-Artikel](https://watchdog.endvater.de/2026/03/fincrime-os-2026-open-source-tools-fuer-ein-foederatives-compliance-system/): + +**Phase 1 β€” Apr–Jun 2026: Fundament** +- [ ] FtM-Kanonisierung aller Datenquellen +- [ ] LiteLLM Gateway (ersetzt direktes Ollama-Routing) +- [ ] Entity Resolution via Splink +- [ ] Evaluierung Jube/Marble fΓΌr Transaction Monitoring + +**Phase 2 β€” Jul–Sep 2026: Graph & Intelligence** +- [ ] Graph Neural Networks (GAMLNet) +- [ ] Cytoscape.js Netzwerkvisualisierung +- [ ] DeFi/MiCA-Abdeckung via OpenAML (FINOS) +- [ ] Rules Engine (gorules/zen) Integration + +**Phase 3 β€” Okt–Dez 2026: FΓΆderativer Betrieb** +- [ ] Cross-institutionelles Pattern Sharing +- [ ] Governance Framework +- [ ] Pilotierung mit regulatorischer Einbindung + +## Open-Source-Tool-Landkarte + +22 evaluierte Projekte in 8 funktionalen Klassen β€” Details: **[FinCrime OS 2026](https://watchdog.endvater.de/2026/03/fincrime-os-2026-open-source-tools-fuer-ein-foederatives-compliance-system/)** + +| Klasse | Tools | +|--------|-------| +| Datenquellen & Feeds | OpenSanctions/yente, nomenklatura, ICIJ Offshore Leaks | +| Datenmodell | FollowTheMoney (FtM), AMLTRIX | +| Matching & Entity Resolution | Splink, moov-io/watchman | +| Rules & Decisioning | gorules/zen, Ununseptium | +| Transaction Monitoring | Jube, Marble, Tazama | +| Graph & Visualisierung | Neo4j+GDS, NetworkX, GAMLNet (eval), Cytoscape.js | +| RAG & Dokumente | Aleph, RAGFlow, OpenAML (FINOS) | +| Orchestrierung | LiteLLM, Prefect | + +Banktauglichkeits-Matrix (Lizenz Β· Self-hosting Β· RBAC Β· Audit-Logging Β· Reife) im Artikel. ## Das fΓΆderative Modell @@ -136,17 +198,23 @@ DSGV, BVR oder ein vergleichbarer Verband institutionalisiert das System. Die Ba Wir suchen Institute β€” Sparkassen, Volksbanken, Landesbanken β€” die den genossenschaftlichen Gedanken in Code ΓΌbersetzen wollen. +> *Was noch fehlt, ist kein Tool. Es ist der erste Telefonanruf.* +> β€” FinCrime OS 2026 + ## Artikelserie -Dieses Repo begleitet die Artikelserie **β€žBeyond AI β€” Das fΓΆderative Manifest in sieben Akten"** auf [FinCrime Watchdog](https://watchdog.endvater.de): +Dieses Repo begleitet die Artikelserie **β€žBeyond AI β€” Das fΓΆderative Manifest"** auf [FinCrime Watchdog](https://watchdog.endvater.de): -1. **Das Manifest** β€” Die Disruptions-Landkarte *(verΓΆffentlicht)* -2. **Sanctions Screener** β€” OpenSanctions + LLM Name Matching *(in Arbeit)* -3. **Horizon Scanner** β€” EUR-Lex + BaFin + LLM-Klassifikation *(geplant)* -4. **Entity Resolution** β€” Splink + Neo4j + OpenCorporates *(geplant)* -5. **Adverse Media** β€” RSS + LLM-Klassifikation *(geplant)* -6. **KI-Compliance-Copilot** β€” FinRegAgents als Tagesassistent *(geplant)* -7. **Das fΓΆderative Modell** β€” Governance, Finanzierung, Betrieb *(geplant)* +| # | Titel | Status | +|---|-------|--------| +| 1 | [Das Manifest β€” Die Disruptions-Landkarte](https://watchdog.endvater.de/2026/03/beyond-ai-weil-technologie-kopierbar-ist-netzwerke-nicht/) | βœ… verΓΆffentlicht | +| β€” | [FinCrime OS 2026 β€” 22 Open-Source-Tools fΓΌr fΓΆderative Compliance](https://watchdog.endvater.de/2026/03/fincrime-os-2026-open-source-tools-fuer-ein-foederatives-compliance-system/) | βœ… verΓΆffentlicht | +| 2 | Sanctions Screener β€” OpenSanctions + LLM Name Matching | βœ… verΓΆffentlicht | +| 3 | Horizon Scanner β€” EUR-Lex + BaFin + LLM-Klassifikation | πŸ”œ geplant | +| 4 | Entity Resolution β€” Splink + Neo4j + OpenCorporates | πŸ”œ geplant | +| 5 | Adverse Media β€” RSS + LLM-Klassifikation | πŸ”œ geplant | +| 6 | KI-Compliance-Copilot β€” FinRegAgents als Tagesassistent | πŸ”œ geplant | +| 7 | Das fΓΆderative Modell β€” Governance, Finanzierung, Betrieb | πŸ”œ geplant | ## Upstream @@ -189,6 +257,7 @@ Die Daten von OpenSanctions unterliegen deren eigener [Lizenz](https://www.opens ## Kontakt - **FinCrime Watchdog:** [watchdog.endvater.de](https://watchdog.endvater.de) +- **Produktivinstanz:** [sanction.endvater.de](https://sanction.endvater.de) - **GitHub Issues:** Bevorzugter Kanal fΓΌr alles Technische - **Videokonferenz:** *Beyond AI β€” FΓΆderatives Compliance-Engineering*, Q2 2026 (Termin wird hier bekanntgegeben)